SENSOR ACELERÓMETRO

Un sensor acelerómetro mide la aceleración lineal y angular de un robot.

Acelerómetro

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