Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:39
El MMA8452Q es un acelerómetro inteligente micromaquinado capacitivo de tres ejes, de bajo consumo y con 12 bits de resolución. Las opciones flexibles programables por el usuario se proporcionan con la ayuda de funciones integradas en el acelerómetro, configurables en dos pines de interrupción. Tiene escalas completas seleccionables por el usuario de ± 2g / ± 4g / ± 8g con datos filtrados con filtro de paso alto, así como datos no filtrados disponibles en tiempo real. Aquí está su demostración con raspberry pi usando código java.
Paso 1: ¡¡Lo que necesitas …
1. Raspberry Pi
2. MMA8452Q
3. Cable I²C
4. Escudo I²C para Raspberry Pi
5. Cable Ethernet
Paso 2: Conexiones:
Tome un protector I2C para raspberry pi y empújelo suavemente sobre los pines gpio de raspberry pi.
Luego, conecte un extremo del cable I2C al sensor MMA8452Q y el otro extremo al blindaje I2C.
También conecte el cable Ethernet al pi o puede usar un módulo WiFi.
Las conexiones se muestran en la imagen de arriba.
Paso 3: Código:
El código Java para MMA8452Q se puede descargar desde nuestro repositorio de GitHub - Dcube Store
Aquí está el enlace para el mismo:
github.com/DcubeTechVentures/MMA8452Q
Hemos utilizado la biblioteca pi4j para el código java, los pasos para instalar pi4j en raspberry pi se describen aquí:
pi4j.com/install.html
También puede copiar el código desde aquí, se proporciona de la siguiente manera:
// Distribuido con licencia de libre albedrío.
// Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.
// MMA8452Q
// Este código está diseñado para funcionar con el Mini Módulo MMA8452Q_I2CS I2C disponible en Dcube Store.
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
clase pública MMA8452Q
{
public static void main (String args ) arroja una excepción
{
// Crear bus I2C
Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Obtener dispositivo I2C, la dirección I2C MMA8452Q es 0x1C (28)
Dispositivo I2CDevice = bus.getDevice (0x1C);
// Enviar comando de espera
device.write (0x2A, (byte) 0x00);
// Enviar comando activo
device.write (0x2A, (byte) 0x01);
// Establecer rango hasta +/- 2g
device.write (0x0E, (byte) 0x00);
Hilo.sueño (500);
// Leer 7 bytes de datos de la dirección 0x00 (0)
// Estado, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb
byte datos = nuevo byte [7];
device.read (0x00, datos, 0, 7);
// Convertir los valores
int xAccl = (((datos [1] y 0xFF) * 256) + (datos [2] y 0xFF)) / 16;
si (xAccl> 2047)
{
xAccl = xAccl - 4096;
}
int yAccl = (((datos [3] y 0xFF) * 256) + (datos [4] y 0xFF)) / 16;
si (yAccl> 2047)
{
yAccl = yAccl - 4096;
}
int zAccl = (((datos [5] y 0xFF) * 256) + (datos [6] y 0xFF)) / 16;
si (zAccl> 2047)
{
zAccl = zAccl - 4096;
}
// Salida de datos a la pantalla
System.out.printf ("Eje X:% d% n", xAccl);
System.out.printf ("Eje Y:% d% n", yAccl);
System.out.printf ("Eje Z:% d% n", zAccl);
}
}
Paso 4: Aplicaciones:
MMA8452Q tiene varias aplicaciones que incluyen aplicaciones de brújula electrónica, detección de orientación estática que incorporan identificación de posición vertical / horizontal, arriba / abajo, izquierda / derecha, posterior / frontal, computadora portátil, lector electrónico y detección de caída libre y caída libre de computadora portátil, en tiempo real detección de orientación que incluye realidad virtual y retroalimentación de posición del usuario de juegos en 3D, análisis de actividad en tiempo real, como conteo de pasos con podómetro, detección de caída libre para HDD, respaldo GPS a estima y mucho más.
Recomendado:
Raspberry Pi - Tutorial Java del detector de proximidad digital infrarrojo TMD26721: 4 pasos
Raspberry Pi - TMD26721 Tutorial Java del detector de proximidad digital por infrarrojos: TMD26721 es un detector de proximidad digital por infrarrojos que proporciona un sistema completo de detección de proximidad y lógica de interfaz digital en un solo módulo de montaje en superficie de 8 pines. precisión. Un profesional
Raspberry Pi - Tutorial de Python con acelerómetro de 3 ejes ADXL345: 4 pasos
Raspberry Pi - Acelerómetro de 3 ejes ADXL345 Tutorial de Python: El ADXL345 es un acelerómetro de 3 ejes pequeño, delgado, de ultra baja potencia con medición de alta resolución (13 bits) de hasta ± 16 g. Los datos de salida digital están formateados como un complemento de dos de 16 bits y se puede acceder a ellos a través de la interfaz digital I2 C. Mide el
Arduino Nano - Tutorial de acelerómetro digital de 3 ejes de 12 bits / 8 bits MMA8452Q: 4 pasos
Arduino Nano - MMA8452Q Tutorial de acelerómetro digital de 3 ejes de 12 bits / 8 bits: El MMA8452Q es un acelerómetro inteligente, de baja potencia, tres ejes, capacitivo y micromaquinado con 12 bits de resolución. Se proporcionan opciones flexibles programables por el usuario con la ayuda de funciones integradas en el acelerómetro, configurables para dos interrupciones
Raspberry Pi - Tutorial de Java con acelerómetro de 3 ejes ADXL345: 4 pasos
Raspberry Pi - Acelerómetro de 3 ejes ADXL345 Tutorial de Java: El ADXL345 es un acelerómetro de 3 ejes pequeño, delgado y de potencia ultrabaja con medición de alta resolución (13 bits) de hasta ± 16 g. Los datos de salida digital están formateados como un complemento de dos de 16 bits y se puede acceder a ellos a través de la interfaz digital I2 C. Mide el
Tutorial Python del acelerómetro digital Raspberry Pi MMA8452Q de 3 ejes de 12 bits / 8 bits: 4 pasos
Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Acelerómetro digital Python Tutorial: El MMA8452Q es un acelerómetro inteligente, de baja potencia, tres ejes, capacitivo, micromecanizado con 12 bits de resolución. Se proporcionan opciones flexibles programables por el usuario con la ayuda de funciones integradas en el acelerómetro, configurables para dos interrupciones