Untitled

 avatar
unknown
plain_text
3 days ago
2.5 kB
3
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);
 
   
}
Leave a Comment