Un sensor acelerómetro mide la aceleración lineal y angular de un robot.
Dispone de los siguientes pines:
- VCC – Se conecta al pin 5V de la placa Arduino
- GND – Se conecta al pin GND de la placa Arduino
- SCL – Clock, se conecta al pin analógico A5
- SDA – Data, se conecta al pin analógico A4
- XDA – Clock auxiliar
- XCL – Data auxiliar
- AD0 – I2C
- INT – Interruptor
Conexión
Conectamos el sensor a Arduino del siguiente modo:
Para trabajar con este sensor utilizamos las librerías I2Cdev y MPU6050. Descarga el paquete de librerías del siguiente enlace:
http://github.com/jrowberg/i2cdevlib
Descomprímelo en tu PC y localiza las carpetas I2Cdev y MPU6050. Copia estas carpetas en la carpeta Arduino > Libraries de arduino IDE y podrás utilizarlas dentro de tus programas.
En cuanto a la librería wire.h podrás localizarla en el menú programa > incluir librería > administrar bibliotecas
Programación
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Wire.h"
MPU6050 sensor;
int ax, ay, az;
int gx, gy, gz;
void setup() {
Serial.begin(57600);
Wire.begin();
sensor.initialize();
if (sensor.testConnection()) Serial.println("OK");
else Serial.println("ERROR");
}
void loop() {
sensor.getAcceleration(&ax, &ay, &az);
sensor.getRotation(&gx, &gy, &gz);
Serial.print("a[x y z] g[x y z]:\t");
Serial.print(ax); Serial.print("\t");
Serial.print(ay); Serial.print("\t");
Serial.print(az); Serial.print("\t");
Serial.print(gx); Serial.print("\t");
Serial.print(gy); Serial.print("\t");
Serial.println(gz);
delay(100);
}