Untitled
#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); }
Leave a Comment