#include <Wire.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <LiquidCrystal.h>
Adafruit_MPU6050 mpu;
LiquidCrystal lcd(13,12,11,10,9,8);
void setup() {
Serial.begin(9600);
while (!Serial)
delay(10);
Serial.println("Initializing MPU6050...");
mpu.begin();
Serial.println("MPU6050 initialized.");
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
lcd.begin(16, 2);
lcd.print("MPU6050 Sensor");
lcd.setCursor(0, 1);
lcd.print("ACCELERATION X");
delay(2000);
lcd.clear();
}
void loop() {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
if(a.acceleration.x>0&&a.acceleration.x<4){
digitalWrite(7, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
digitalWrite(4, LOW);
digitalWrite(3, LOW);
} else if(a.acceleration.x>3&&a.acceleration.x<7){
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
digitalWrite(4, LOW);
digitalWrite(3, LOW);
}else if(a.acceleration.x>6&&a.acceleration.x<11){
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
digitalWrite(4, LOW);
digitalWrite(3, LOW);
}else if(a.acceleration.x>10&&a.acceleration.x<16){
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
digitalWrite(4, HIGH);
digitalWrite(3, LOW);
}else if(a.acceleration.x>15){
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
digitalWrite(4, HIGH);
digitalWrite(3, HIGH);
}else{
digitalWrite(7, LOW);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
digitalWrite(4, LOW);
digitalWrite(3, LOW);
}
Serial.print("Acceleration: X=");
Serial.print(a.acceleration.x);
Serial.print(" Y=");
Serial.print(a.acceleration.y);
Serial.print(" Z=");
Serial.println(a.acceleration.z);
delay(1000);
lcd.setCursor(0, 0);
lcd.print("X:");
lcd.setCursor(4, 0);
lcd.print(a.acceleration.x, 2);
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("ACCELERATION X");
delay(500);
}