// Librerias I2C para controlar el mpu6050
// la libreria MPU6050.h necesita I2Cdev.h, I2Cdev.h necesita Wire.h
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Wire.h"
#include "LiquidCrystal.h"
LiquidCrystal lcd(12,11,5,4,3,2);
//#define MPU 0x69;
// La direcci�n del MPU6050 puede ser 0x68 o 0x69, dependiendo
// del estado de AD0. Si no se especifica, 0x68 estar� implicito
MPU6050 sensor;
// Valores RAW (sin procesar) del acelerometro y giroscopio en los ejes x,y,z
int ax, ay, az;
void setup() {
lcd.begin(16,2);
lcd.setCursor(3,0);
lcd.print("Bienvenidos");
Serial.begin(57600); //Iniciando puerto serial
Wire.begin(); //Iniciando I2C
sensor.initialize(); //Iniciando el sensor
delay(3000);
lcd.setCursor(0,0);
if (sensor.testConnection())
{ lcd.println("Sensor iniciado correctamente");}
else
{lcd.println("Error al iniciar el sensor");}
lcd.clear();
}
void loop() {
// Leer las aceleraciones y velocidades angulares
sensor.getAcceleration(&ax, &ay, &az);
float ax_m_s2 = ax * (9.81/16384.0);
float ay_m_s2 = ay * (9.81/16384.0);
float az_m_s2 = az * (9.81/16384.0);
Serial.print("a[x y z](m/s2)");
Serial.print(ax_m_s2); Serial.print("\t");
Serial.print(ay_m_s2); Serial.print("\t");
Serial.print(az_m_s2); Serial.println("\t");
lcd.setCursor(0,0);
lcd.print("ax:");
lcd.print(ax_m_s2);
lcd.setCursor(9,0);
lcd.print("ay:");
lcd.print(ay_m_s2);
lcd.setCursor(3,1);
lcd.print("az:");
lcd.println(az_m_s2);
delay(1000);
}