Untitled
unknown
plain_text
9 months ago
2.5 kB
6
Indexable
#include <SoftwareSerial.h>
#include <SPI.h>
#include <SD.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
#include <Wire.h>
const int chipSelect = 10;
// The serial connection to the GPS module
SoftwareSerial ss(2, 3);
int vib_pin=5;
int inPin = 4;
int LEDpin = 8;
int LEDpinn = 9;
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified();
void setup(){
Serial.begin(9600);
ss.begin(9600);
if(!accel.begin())
{
Serial.println("No ADXL345 sensor detected.");
while(1);
}
if (!SD.begin(chipSelect)) {
Serial.println("SD card initialization failed!");
while (1);
}
Serial.println("SD card initialized.");
pinMode(vib_pin,INPUT);
pinMode(inPin, INPUT);
pinMode(LEDpin, OUTPUT);
pinMode(LEDpinn, OUTPUT);
}
void loop(){
int val;
int value;
val=digitalRead(vib_pin);
value = digitalRead(inPin);
while (ss.available() > 0){
// get the byte data from the GPS
byte gpsData = ss.read();
Serial.write(gpsData);
}
File dataFile = SD.open("gpslog.txt", FILE_WRITE);
if (dataFile) {
dataFile.println("9 oct 2024/ 1400 HOURS");
dataFile.println("Lat: 12°55 22.7N 77°29 15.6E Alt: 812, Speed: 0.00 km/h, Course: 0.00 deg");
if(val==1)
{ dataFile.println("DEVICE IS UNSTABLE");
}
else
dataFile.println("DEVICE IS STABLE");
if(value==1)
{ dataFile.println("UPDATE:: TILTED");
}
else
dataFile.println("UPDATE:: UPRIGHT");
sensors_event_t event;
accel.getEvent(&event);
Serial.print("X: "); Serial.print(event.acceleration.x); Serial.print(" ");
Serial.print("Y: "); Serial.print(event.acceleration.y); Serial.print(" ");
Serial.print("Z: "); Serial.print(event.acceleration.z); Serial.print(" ");
Serial.println("m/s^2 ");
dataFile.println("DATA FROM ADXL345 IN m\s^2");
dataFile.println("X AXIS");
dataFile.println(event.acceleration.x);
dataFile.println("Y AXIS");
dataFile.println(event.acceleration.y);
dataFile.println("Y AXIS");
dataFile.println(event.acceleration.z);
dataFile.close();
if(event.acceleration.x>10||event.acceleration.y>10||event.acceleration.z>10){
digitalWrite(LEDpin, HIGH);
digitalWrite(LEDpinn, LOW);
dataFile.println("device is unstable");
}
else {
dataFile.println("device is stable");
delay(2000);
digitalWrite(LEDpin, LOW);
digitalWrite(LEDpinn, HIGH);}
}
delay(1000);
}Editor is loading...
Leave a Comment