0% encontró este documento útil (0 votos)
51 vistas2 páginas

Proyecto

El documento presenta un código en C++ para controlar un sensor MPU6050 utilizando la comunicación I2C. Se inicializa el sensor y se leen los valores de aceleración en los ejes x, y, z, que se muestran en un LCD y se envían a través del puerto serial. El código incluye la configuración del LCD y la verificación de la conexión del sensor.

Cargado por

IiOna Gp
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
51 vistas2 páginas

Proyecto

El documento presenta un código en C++ para controlar un sensor MPU6050 utilizando la comunicación I2C. Se inicializa el sensor y se leen los valores de aceleración en los ejes x, y, z, que se muestran en un LCD y se envían a través del puerto serial. El código incluye la configuración del LCD y la verificación de la conexión del sensor.

Cargado por

IiOna Gp
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

// 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);
}

También podría gustarte