#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); // Set the LCD I2C address and size
void setup() {
Serial.begin(9600);
while (!Serial)
delay(10); // wait for Serial monitor
Serial.println("Initializing MPU6050...");
mpu.begin();
Serial.println("MPU6050 initialized.");
lcd.begin(16, 2); // Initialize the LCD
lcd.print("MPU6050 Sensor");
delay(2000);
lcd.clear();
}
void loop() {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
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);
Serial.print("Rotation: X=");
Serial.print(g.gyro.x);
Serial.print(" Y=");
Serial.print(g.gyro.y);
Serial.print(" Z=");
Serial.println(g.gyro.z);
Serial.print("Temperature: ");
Serial.print(temp.temperature);
Serial.println("°C");
lcd.setCursor(0, 0);
lcd.print("Accel: ");
lcd.print((int)a.acceleration.x);
lcd.print(", ");
lcd.print((int)a.acceleration.y);
lcd.print(", ");
lcd.print((int)a.acceleration.z);
lcd.setCursor(0, 2);
lcd.print("Rot: ");
lcd.print((int)g.gyro.x);
lcd.print(", ");
lcd.print((int)g.gyro.y);
lcd.print(", ");
lcd.print((int)g.gyro.z);
lcd.setCursor(0, 3);
lcd.print("Temp: ");
lcd.print(temp.temperature, 2);
lcd.print("C");
delay(1000); // delay for 1 second
}