Cuprins:
Video: Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Accelerometru digital Tutorial: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
MMA8452Q este un accelerometru inteligent, de mică putere, cu trei axe, capacitiv, micromachined, cu 12 biți de rezoluție. Opțiunile flexibile programabile de utilizator sunt furnizate cu ajutorul funcțiilor încorporate în accelerometru, configurabile pentru doi pini de întrerupere. Are scări complete selectabile de utilizator de ± 2g / ± 4g / ± 8g cu date filtrate cu filtru trecător înalt, precum și date non-filtrate disponibile în timp real. Iată demonstrația sa cu Arduino nano.
Pasul 1: De ce ai nevoie..
1. Arduino Nano
2. MMA8452Q
3. Cablu I²C
4. Scut I²C pentru Arduino Nano
Pasul 2: Conexiune:
Luați un scut I2C pentru Arduino Nano și împingeți-l ușor peste pinii Nano.
Apoi conectați capătul cablului I2C la senzorul MMA8452Q și celălalt capăt la ecranul I2C.
Conexiunile sunt afișate în imaginea de mai sus.
Pasul 3: Cod:
Codul arduino pentru MMMA8452Q poate fi descărcat din depozitul nostru github- Magazin DCUBE.
Iată linkul.
Includem biblioteca Wire.h pentru a facilita comunicarea I2c a senzorului cu placa Arduino.
De asemenea, puteți copia codul de aici, acesta este dat după cum urmează:
// Distribuit cu o licență de liberă voință.
// Folosiți-l în orice mod doriți, profit sau gratuit, cu condiția să se încadreze în licențele lucrărilor sale asociate.
// MMA8452Q
// Acest cod este conceput pentru a funcționa cu Mini-modulul MMA8452Q_I2CS I2C.
#include
// Adresa MMA8452Q I2C este 0x1C (28)
#define Addr 0x1C
configurare nulă ()
{
// Inițializați comunicarea I2C ca MASTER
Wire.begin ();
// Inițializați comunicarea în serie, setați baud rate = 9600
Serial.begin (9600);
// Porniți transmisia I2C
Wire.beginTransmission (Addr);
// Selectați registrul de control
Wire.write (0x2A);
// Mod de asteptare
Wire.write (0x00);
// Opriți transmisia I2C
Wire.endTransmission ();
// Porniți transmisia I2C
Wire.beginTransmission (Addr);
// Selectați registrul de control
Wire.write (0x2A);
// Mod activ
Wire.write (0x01);
// Opriți transmisia I2C
Wire.endTransmission ();
// Porniți transmisia I2C
Wire.beginTransmission (Addr);
// Selectați registrul de control
Wire.write (0x0E);
// Setați intervalul la +/- 2g
Wire.write (0x00);
// Opriți transmisia I2C
Wire.endTransmission ();
întârziere (300);
}
bucla nulă ()
{
date int nesemnate [7];
// Solicitați 7 octeți de date
Wire.requestFrom (Addr, 7);
// Citiți 7 octeți de date
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
if (Wire.available () == 7)
{
date [0] = Wire.read ();
date [1] = Wire.read ();
date [2] = Wire.read ();
date [3] = Wire.read ();
date [4] = Wire.read ();
date [5] = Wire.read ();
date [6] = Wire.read ();
}
// Convertiți datele în 12 biți
int xAccl = ((data [1] * 256) + data [2]) / 16;
if (xAccl> 2047)
{
xAccl - = 4096;
}
int yAccl = ((date [3] * 256) + date [4]) / 16;
if (yAccl> 2047)
{
yAccl - = 4096;
}
int zAccl = ((date [5] * 256) + date [6]) / 16;
if (zAccl> 2047)
{
zAccl - = 4096;
}
// Ieșire date pe monitorul serial
Serial.print ("Accelerare în axa X:");
Serial.println (xAccl);
Serial.print ("Accelerare în axa Y:");
Serial.println (yAccl);
Serial.print ("Accelerare în axa Z:");
Serial.println (zAccl);
întârziere (500);
}
Pasul 4: Aplicații:
MMA8452Q are diverse aplicații care includ aplicații E-Compass, detecție statică a orientării care încorporează portret / peisaj, sus / jos, stânga / dreapta, identificare poziție spate / față, notebook, e-reader și detectare de cadere și cădere liberă pentru laptop, în timp real detectarea orientării, inclusiv realitatea virtuală și feedback-ul poziției utilizatorului 3D pentru jocuri, analiza activității în timp real, cum ar fi contorizarea pasului pedometrului, detectarea căderilor gratuite pentru HDD, backup GPS calculat și multe altele.
Recomandat:
Raspberry Pi - Tutorial ADXL345 cu 3 axe accelerometru Python: 4 pași
Raspberry Pi - Tutorial ADXL345 cu 3 axe Accelerometru Python: ADXL345 este un accelerometru mic, subțire, cu putere foarte mică, cu 3 axe, cu măsurare cu rezoluție înaltă (13 biți) până la ± 16 g. Datele de ieșire digitală sunt formatate ca un complement de doi biți pe 16 biți și sunt accesibile prin interfața digitală I2 C. Măsurează
Raspberry Pi - Accelerometru cu 3 axe ADXL345 Tutorial Java: 4 pași
Raspberry Pi - Accelerometru cu 3 axe ADXL345 Tutorial Java: ADXL345 este un accelerometru cu 3 axe mic, subțire, cu putere foarte mică, cu rezoluție înaltă (13 biți) măsurând până la ± 16 g. Datele de ieșire digitală sunt formatate ca un complement de doi biți pe 16 biți și sunt accesibile prin interfața digitală I2 C. Măsurează
Tutorial Accelerometru Arduino: Controlați o punte de navă folosind un servomotor: 5 pași
Tutorial Accelerometru Arduino: Controlul unei punți de navă cu ajutorul unui servomotor: Senzorii accelerometrului se află acum în majoritatea smartphone-urilor noastre pentru a le oferi o gamă largă de utilizări și capabilități pe care le folosim zilnic, fără a ști chiar că cel responsabil de acesta este accelerometrul. Una dintre aceste capacități este controlabilul
Arduino Nano și Visuino: convertiți accelerația în unghi de la accelerometru și giroscop Senzor MPU6050 I2C: 8 pași (cu imagini)
Arduino Nano și Visuino: convertiți accelerația în unghi din accelerometru și giroscop Senzor MPU6050 I2C: Acum ceva timp am postat un tutorial despre cum puteți conecta accelerometrul MPU9250, giroscopul și senzorul busolă la Arduino Nano și programați-l cu Visuino pentru a trimite pachete de date și afișare Accelerometrul trimite X, Y
Tutorial accelerometru și giroscop: 3 pași
Tutorial Accelerometru și Gyro: Introducere Acest ghid este destinat tuturor celor interesați de utilizarea Accelerometrelor și Giroscopurilor, precum și a dispozitivelor combinate IMU (Unitate de măsurare inerțială) în proiectele lor electronice Vom acoperi: Ce măsoară un accelerometru?