Acelerómetro MMA845X con Arduino Uno

¡Tantos acelerómetros y tan poco tiempo! Hemos ampliado nuestra selección de acelerómetros aún más con este acelerómetro de triple eje MMA845X de alta precisión y económico con ADC de 14 bits. Puede detectar movimiento, inclinación y orientación básica con un acelerómetro digital, y el MMA845X es un gran acelerómetro para empezar. Tiene un amplio rango de uso, desde + -2g hasta + -8g, pero es fácil de usar con Arduino u otro microcontrolador.

El MMA845X es un pequeño acelerómetro en miniatura de Freescale, que son (en este punto) maestros en el juego del diseño de acelerómetros. Está diseñado para su uso en teléfonos, tabletas, relojes inteligentes y más, pero funciona igual de bien en su proyecto Arduino. El acelerómetro también tiene detección de inclinación / orientación incorporada para que pueda decirle si su proyecto se está llevando a cabo en modo horizontal o vertical, y si está inclinado hacia adelante o hacia atrás. Este sensor se comunica a través de I2C para que pueda compartirlo con un montón de otros sensores en los mismos dos pines I2C.

Diagrama de conexión

Arduinomma845x
Vin5V
GNDGND
SDASDA
SCLSCL

Librerías a utilizar

https://microlab.ec/blog/wp-content/uploads/2021/05/MMA8451.zip

https://microlab.ec/blog/wp-content/uploads/2021/05/I2C.zip

Nota: renombrar las librerías (quitando la palabra «master» del final) y guardar en la carpeta de librerías de Arduino.

Ejemplo de código

/************************************************************************************
 *   
 *  Name    : MMA8453_n0m1 Library Example: DataMode                       
 *  Author  : Noah Shibley, Michael Grant, NoMi Design Ltd. http://n0m1.com                       
 *  Date    : Feb 10th 2012                                    
 *  Version : 0.1                                              
 *  Notes   : Arduino Library for use with the Freescale MMA8453Q via i2c. 
 *
 ***********************************************************************************/

#include <I2C.h>
#include <MMA8451_n0m1.h>

MMA8451_n0m1 accel;

void setup()
{
  Serial.begin(9600);
  accel.setI2CAddr(0x1C); //change your device address if necessary, default is 0x1C
  accel.dataMode(true, 2); //enable highRes 10bit, 2g range [2g,4g,8g]
  Serial.println("MMA8451_n0m1 library");
  Serial.println("XYZ Data Example");
  Serial.println("n0m1.com");
}

void loop()
{
  accel.update();
  
  Serial.print("x: ");
  Serial.print(accel.x());
  Serial.print(" y: ");
  Serial.print(accel.y());
  Serial.print(" z: ");
  Serial.println(accel.z());
  delay(500);

}

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo no será publicada.


*