#include <Wire.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
Adafruit_MPU6050 mpu;
void setup() {
Serial.begin(115200);
while (!Serial)
delay(10);
// Try to initialize MPU6050
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 chip");
while (1) {
delay(10);
}
}
mpu.setAccelerometerRange(MPU6050_RANGE_2_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("MPU6050 initialized!");
}
void loop() {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
// Print accelerometer values
Serial.print("Accel X: ");
Serial.print(a.acceleration.x);
Serial.print( "Accel Y: ");
Serial.print(a.acceleration.y);
Serial.print(" Accel Z:" );
Serial.println(a.acceleration.z);
// Fall detection logic: detect a sudden large spike in any axis
if (abs(a.acceleration.x) > 3 || abs(a.acceleration.y) > 3 || abs(a.acceleration.z) < 0.5) {
Serial.println("Fall detected!");
}
delay(500); // Wait for 500ms
}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4