Acelerómetro LIS3DH

¿Qué es el LIS3DH?:


El LIS3DH es un pequeño y sofisticado dispositivo que funciona como un sensor de movimiento. Fabricado por STMicroelectronics, este acelerómetro digital de tres ejes puede detectar la aceleración en tres dimensiones (x, y, z), lo que lo hace capaz de percibir cambios en la velocidad y la orientación.

Una de sus características más destacables es su eficiencia energética, ideal para dispositivos que funcionan con baterías y necesitan un bajo consumo. A diferencia de los acelerómetros analógicos, el LIS3DH proporciona datos digitales a través de interfaces de comunicación como I2C o SPI, lo que simplifica su integración con microcontroladores y otros sistemas electrónicos.

STMicroelectronics LIS3DHTR

Gracias a su versatilidad, este sensor se utiliza en una amplia gama de aplicaciones, desde la detección de movimiento en teléfonos móviles y el control de la orientación en sistemas de navegación, hasta la detección de caídas en dispositivos de seguridad y aplicaciones de Internet de las Cosas (IoT).

¿Cómo se utiliza el LIS3DH?:

 

El LIS3DH se integra en sistemas electrónicos principalmente mediante la interfaz I2C, un protocolo de comunicación serie que permite un intercambio de datos eficiente con un microcontrolador. Para ello, el LIS3DH actúa como un dispositivo esclavo en el bus I2C, lo que significa que responde a las solicitudes de un dispositivo maestro, típicamente un microcontrolador.

El proceso general implica que el microcontrolador envía comandos al LIS3DH a través del bus I2C para configurar los parámetros de medición, como la sensibilidad y la frecuencia de muestreo. Una vez configurado, el microcontrolador puede solicitar datos de aceleración al LIS3DH, que responde enviando los valores de aceleración medidos en los tres ejes (x, y, z).

#include <Wire.h>
#include <Adafruit_LIS3DH.h>
#include <Adafruit_Sensor.h>

Adafruit_LIS3DH lis = Adafruit_LIS3DH();

void setup(void) {
  Serial.begin(115200);
  if (!lis.begin(0x18)) { //Cambiar 0x18 por 0x19 si es necesario, direcciones mas comunes.
    Serial.println("Could not find LIS3DH accelerometer!");
    while (1);
  }
  Serial.println("LIS3DH found!");

  lis.setRange(LIS3DH_RANGE_2_G);
  Serial.print("Range = "); Serial.print(2); Serial.println("G");
}

void loop(void) {
  sensors_event_t event;
  lis.getEvent(&event);

  Serial.print("X: "); Serial.print(event.acceleration.x); Serial.print("  ");
  Serial.print("Y: "); Serial.print(event.acceleration.y); Serial.print("  ");
  Serial.print("Z: "); Serial.print(event.acceleration.z); Serial.println(" m/s^2");

  delay(100);
}
Vistas
1 Número de vistas
1 Vistas de miembros
0 Vistas públicas
Acciones
0 Gustos
0 No me gusta
0 Comentarios
Compartir en redes sociales
Compartir enlace
Compartir por correo

Por favor iniciar sesión para compartir esto webpage por correo.