#include <LiquidCrystal_I2C.h>
#include <MPU6050_tockn.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27,16,2);
MPU6050 mpu6050(Wire);
long timer = 0;
void setup() {
Serial.begin(115200);
Wire.begin();
mpu6050.begin();
mpu6050.calcGyroOffsets(true);
lcd.init(); //Inicia pantalla
lcd.backlight(); //Iluminacion led pantalla
lcd.setCursor(0,0); //Cursor en posición 0,0 (columna,fila)
lcd.print("accAngleX:"); //Dibujamos en esta posición
lcd.setCursor(0,1);
lcd.print("gyrAngleX:");
}
void loop() {
mpu6050.update();
if(millis() - timer > 1000){
Serial.println("=======================================================");
Serial.print("temp : ");Serial.println(mpu6050.getTemp());
Serial.print("accX : ");Serial.print(mpu6050.getAccX());
Serial.print("\taccY : ");Serial.print(mpu6050.getAccY());
Serial.print("\taccZ : ");Serial.println(mpu6050.getAccZ());
Serial.print("gyroX : ");Serial.print(mpu6050.getGyroX());
Serial.print("\tgyroY : ");Serial.print(mpu6050.getGyroY());
Serial.print("\tgyroZ : ");Serial.println(mpu6050.getGyroZ());
Serial.print("accAngleX : ");Serial.print(mpu6050.getAccAngleX());
Serial.print("\taccAngleY : ");Serial.println(mpu6050.getAccAngleY());
Serial.print("gyroAngleX : ");Serial.print(mpu6050.getGyroAngleX());
Serial.print("\tgyroAngleY : ");Serial.print(mpu6050.getGyroAngleY());
Serial.print("\tgyroAngleZ : ");Serial.println(mpu6050.getGyroAngleZ());
Serial.print("angleX : ");Serial.print(mpu6050.getAngleX());
Serial.print("\tangleY : ");Serial.print(mpu6050.getAngleY());
Serial.print("\tangleZ : ");Serial.println(mpu6050.getAngleZ());
Serial.println("=======================================================\n");
timer = millis();
}
lcd.setCursor(10,0);
lcd.print(mpu6050.getAccAngleX()); //Escribimos valor del angulo x
lcd.print(" ");
lcd.setCursor(10,1);
lcd.print(mpu6050.getGyroAngleX());
}