Taula de continguts:
Vídeo: Arduino Nano - MMA8452Q Tutorial d’acceleròmetre digital de 3 eixos de 12 i 8 bits: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
El MMA8452Q és un acceleròmetre intel·ligent, de tres eixos, de baixa potència i capacitiu, micromecanitzat, amb 12 bits de resolució. Es proporcionen opcions programables per a l'usuari amb l'ajut de funcions incrustades a l'acceleròmetre, configurables per a dos pins d'interrupció. Té una escala completa seleccionable per l'usuari de ± 2g / ± 4g / ± 8g amb dades filtrades de filtre de pas alt, així com dades no filtrades disponibles en temps real. Aquí teniu la demostració amb Arduino nano.
Pas 1: el que necessiteu..
1. Arduino Nano
2. MMA8452Q
3. Cable I²C
4. Escut I²C per a Arduino Nano
Pas 2: connexió:
Agafeu un escut I2C per a Arduino Nano i empenyeu-lo suaument sobre els passadors de Nano.
A continuació, connecteu un extrem del cable I2C al sensor MMA8452Q i l’altre extrem al blindatge I2C.
Les connexions es mostren a la imatge superior.
Pas 3: Codi:
El codi arduino per MMMA8452Q es pot descarregar des del nostre dipòsit github- DCUBE Store.
Aquí teniu l’enllaç.
Incloem la biblioteca Wire.h per facilitar la comunicació I2c del sensor amb la placa Arduino.
També podeu copiar el codi des d’aquí, es dóna de la següent manera:
// Distribuïda amb llicència de lliure voluntat.
// Utilitzeu-lo de la manera que vulgueu, sense ànim de lucre o de franc, sempre que encaixi en les llicències de les obres associades.
// MMA8452Q
// Aquest codi està dissenyat per funcionar amb el mini mòdul MMA8452Q_I2CS I2C.
#incloure
// L'adreça MMA8452Q I2C és 0x1C (28)
#define Addr 0x1C
configuració nul·la ()
{
// Inicialitzar la comunicació I2C com a MASTER
Wire.begin ();
// Inicialitzar la comunicació en sèrie, establir la velocitat de transmissió = 9600
Serial.begin (9600);
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Seleccioneu el registre de control
Wire.write (0x2A);
// Mode StandBy
Wire.write (0x00);
// Atura la transmissió I2C
Wire.endTransmission ();
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Seleccioneu el registre de control
Wire.write (0x2A);
// Mode actiu
Wire.write (0x01);
// Atura la transmissió I2C
Wire.endTransmission ();
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Seleccioneu el registre de control
Wire.write (0x0E);
// Estableix l'interval a +/- 2g
Wire.write (0x00);
// Atura la transmissió I2C
Wire.endTransmission ();
retard (300);
}
bucle buit ()
{
dades int sense signar [7];
// Sol·liciteu 7 bytes de dades
Wire.requestFrom (Addr, 7);
// Llegiu 7 bytes de dades
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
if (Wire.available () == 7)
{
dades [0] = Wire.read ();
dades [1] = Wire.read ();
dades [2] = Wire.read ();
dades [3] = Wire.read ();
dades [4] = Wire.read ();
dades [5] = Wire.read ();
dades [6] = Wire.read ();
}
// Converteix les dades a 12 bits
int xAccl = ((dades [1] * 256) + dades [2]) / 16;
if (xAccl> 2047)
{
xAccl - = 4096;
}
int yAccl = ((dades [3] * 256) + dades [4]) / 16;
if (yAccl> 2047)
{
yAccl - = 4096;
}
int zAccl = ((dades [5] * 256) + dades [6]) / 16;
if (zAccl> 2047)
{
zAccl - = 4096;
}
// Sortida de dades al monitor sèrie
Serial.print ("Acceleració a l'eix X:");
Serial.println (xAccl);
Serial.print ("Acceleració a l'eix Y:");
Serial.println (yAccl);
Serial.print ("Acceleració a l'eix Z:");
Serial.println (zAccl);
retard (500);
}
Pas 4: aplicacions:
El MMA8452Q té diverses aplicacions que inclouen aplicacions de brúixola electrònica, detecció d’orientació estàtica que incorpora vertical / horitzontal, amunt / avall, esquerra / dreta, identificació de posició posterior / frontal, portàtil, lector electrònic i detecció de caigudes i caigudes lliures de portàtils, en temps real detecció d’orientació, incloent comentaris sobre la posició de l’usuari en 3D de realitat virtual i jocs, anàlisi d’activitats en temps real, com ara comptador de passos del podòmetre, detecció de caigudes lliures per a disc dur, còpia de seguretat GPS per càlcul i molt més.
Recomanat:
Raspberry Pi - Tutorial d’acceleròmetre de 3 eixos ADXL345 Python: 4 passos
Raspberry Pi: tutorial d’acceleròmetre de 3 eixos ADXL345: l’ADXL345 és un acceleròmetre de 3 eixos petit, prim i de poca potència, amb un mesurament d’alta resolució (13 bits) de fins a ± 16 g. Les dades de sortida digital es formaten com a complement de dos bits de 16 bits i són accessibles a través de la interfície digital I2 C. Mesura el
Control de robots micro: bits amb acceleròmetre: 4 passos
Control del robot Micro: bit amb acceleròmetre: en aquest article utilitzarem el kit BitCar de TinkerGen per construir un robot Micro: bit i controlar-lo mitjançant l’acceleròmetre en una altra placa Micro: bit. BitCar és un bricolatge basat en micro: bits robot dissenyat per a l'educació STEM. És fàcil de muntar, i
Control de moviment amb Raspberry Pi i LIS3DHTR, acceleròmetre de 3 eixos, amb Python: 6 passos
Control de moviment amb Raspberry Pi i LIS3DHTR, acceleròmetre de 3 eixos, utilitzant Python: la bellesa ens envolta, però normalment cal caminar per un jardí per conèixer-la. - Rumi Com a grup educat que semblem ser, invertim la gran majoria de la nostra energia treballant abans que els nostres ordinadors i telèfons mòbils. Per tant, sovint deixem el nostre benestar
Acceleròmetre de 3 eixos, ADXL345 amb Raspberry Pi mitjançant Python: 6 passos
Acceleròmetre de 3 eixos, ADXL345 amb Raspberry Pi amb Python: pensant en un gadget que pot comprovar el punt en què el vostre Offroader està inclinat cap a la seva retard. No seria agradable si algú s’ajusta quan hi ha la possibilitat de bolcar? Viouslybviament sí. Seria cert
SPI preliminar * al Pi: comunicar-se amb un acceleròmetre de 3 eixos SPI mitjançant un Raspberry Pi: 10 passos
SPI preliminar * al Pi: Comunicar-se amb un acceleròmetre de 3 eixos SPI utilitzant un Raspberry Pi: guia pas a pas sobre com configurar Raspbian i comunicar-se amb un dispositiu SPI mitjançant la biblioteca SPI bcm2835 (NO està petita). molt preliminar … Necessito afegir millors imatges de connexió física i treballar alguns codis incòmodes