#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu;
float accel;
int falltime;
void setup(void) {
Serial.begin(115200);
pinMode(7, OUTPUT);
digitalWrite(7,LOW);
while (!mpu.begin()) {
Serial.println("MPU6050 not connected!");
delay(1000);
}
Serial.println("MPU6050 ready!");
}
sensors_event_t event;
void loop() {
mpu.getAccelerometerSensor()->getEvent(&event);
accel = (event.acceleration.x + event.acceleration.y + event.acceleration.z);
Serial.print("Acceleration: ");
Serial.print(accel);
Serial.println(" m/s^2");
if ((-0.5 <= accel)and(accel <= 0.5)) {
falltime = falltime + 1;
} else {
falltime = 0;
}
if (falltime == 30) {
Serial.println("FALL DETECTED");
digitalWrite(7,HIGH);
while(true);
}
delay(10);
}