Giroscopio-Acelerómetro MPU-6050 con Arduino

Resultado de imagen para mpu6050

Ejemplo de código:

#include “I2Cdev.h”
#include “MPU6050.h”

#define DEBUG

MPU6050 imu;
//coordenadas de acelerometro y giroscopio
int16_t ax, ay, az;
int16_t gx, gy, gz;

//int tiempo_inicial;
//int tiempo_actual;
//int periodo;
//int count;

void setup() {
//count = 0;
//tiempo_inicial= 0;
// put your setup code here, to run once:
pinMode(LED_BUILTIN, OUTPUT);
Wire.begin();
Serial.begin(230400);

imu.initialize();

// debug
#ifdef DEBUG
Serial.println(imu.testConnection() ? “MPU6050 conectada” : “error”);
#endif
}
bool estado_led = false;

void loop() {
delay(500); //frecuencia de muestreo = 2Hz
imu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
//imu.getRotation(&gx, &gy, &gz);
//if(Serial.available())
//{
//Serial.println(“en el if serial”);
//int datoSer= Serial.read();
//if(datoSer==’0′)
//{
// debug
#ifdef DEBUG
//Serial.write(48);
Serial.print(“a/g:\t”);
Serial.print(ax); Serial.print(“\t”);
Serial.print(ay); Serial.print(“\t”);
Serial.print(az); Serial.print(“\t”);
//periodo = millis()-tiempo_inicial;
//tiempo_inicial = millis();
//Serial.print(“Periodo: “);
//Serial.println(periodo);
Serial.print(gx); Serial.print(“\t”);
Serial.print(gy); Serial.print(“\t”);
Serial.println(gz);
//Serial.print(count);
//count = count+1;
#else
// real program para transmitir por serial los int16
Serial.write(ax>>8);
Serial.write(ax);
Serial.write(ay>>8);
Serial.write(ay);
Serial.write(az>>8);
Serial.write(az);
Serial.write(gx>>8);
Serial.write(gx);
Serial.write(gy>>8);
Serial.write(gy);
Serial.write(gz>>8);
Serial.write(gz);

#endif
// led
estado_led = !estado_led;
digitalWrite(LED_BUILTIN,estado_led);
//}
//}
}

Sé el primero en comentar

Dejar una contestacion