Kazalo:
Video: Arduino Nano-MMA8452Q 3-osni 12-bitni/8-bitni digitalni merilnik pospeška: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
MMA8452Q je pameten, triosni, kapacitivni, mikroobdelovalni merilnik pospeška z nizko porabo energije z ločljivostjo 12 bitov. Prilagodljive možnosti, ki jih lahko programira uporabnik, so na voljo s pomočjo vgrajenih funkcij v merilniku pospeška, ki jih je mogoče konfigurirati na dva prekinitvena zatiča. Ima polne lestvice, ki jih lahko izbere uporabnik ± 2 g/± 4 g/± 8 g, z visokofrekvenčnimi filtriranimi podatki in nefiltriranimi podatki, ki so na voljo v realnem času. Tukaj je njegova predstavitev z Arduino nano.
Korak: Kaj potrebujete.. !
1. Arduino Nano
2. MMA8452Q
3. Kabel I²C
4. I²C ščit za Arduino Nano
2. korak: Povezava:
Vzemite ščit I2C za Arduino Nano in ga nežno potisnite čez zatiče Nano.
Nato en konec kabla I2C priključite na senzor MMA8452Q, drugi konec pa na ščit I2C.
Povezave so prikazane na zgornji sliki.
3. korak: Koda:
Kodo arduino za MMMA8452Q lahko prenesete iz našega skladišča github- DCUBE Store.
Tukaj je povezava.
Vključujemo knjižnico Wire.h za olajšanje komunikacije senzorja I2c s ploščo Arduino.
Kodo lahko tudi kopirate od tu, podana je na naslednji način:
// Razdeljeno z licenco za svobodno voljo.
// Uporabljajte ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam povezanih del.
// MMA8452Q
// Ta koda je zasnovana za delo z mini modulom MMA8452Q_I2CS I2C.
#vključi
// Naslov MMA8452Q I2C je 0x1C (28)
#define Addr 0x1C
void setup ()
{
// Inicializirajte komunikacijo I2C kot MASTER
Wire.begin ();
// Začetek serijske komunikacije, nastavljena hitrost prenosa = 9600
Serial.begin (9600);
// Zagon prenosa I2C
Wire.beginTransmission (Addr);
// Izberite kontrolni register
Wire.write (0x2A);
// Stanje pripravljenosti
Wire.write (0x00);
// Ustavi prenos I2C
Wire.endTransmission ();
// Zagon prenosa I2C
Wire.beginTransmission (Addr);
// Izberite kontrolni register
Wire.write (0x2A);
// Aktivni način
Wire.write (0x01);
// Ustavi prenos I2C
Wire.endTransmission ();
// Zagon prenosa I2C
Wire.beginTransmission (Addr);
// Izberite kontrolni register
Wire.write (0x0E);
// Nastavite obseg na +/- 2g
Wire.write (0x00);
// Ustavi prenos I2C
Wire.endTransmission ();
zamuda (300);
}
void loop ()
{
podpisani int podatki [7];
// Zahtevajte 7 bajtov podatkov
Wire.requestFrom (Addr, 7);
// Preberite 7 bajtov podatkov
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
če (Wire.available () == 7)
{
podatki [0] = Wire.read ();
podatki [1] = Wire.read ();
podatki [2] = Wire.read ();
podatki [3] = Wire.read ();
podatki [4] = Wire.read ();
podatki [5] = Wire.read ();
podatki [6] = Wire.read ();
}
// Pretvorimo podatke v 12-bitne
int xAccl = ((podatki [1] * 256) + podatki [2]) / 16;
če (xAccl> 2047)
{
xAccl -= 4096;
}
int yAccl = ((podatki [3] * 256) + podatki [4]) / 16;
če (yAccl> 2047)
{
yAccl -= 4096;
}
int zAccl = ((podatki [5] * 256) + podatki [6]) / 16;
če (zAccl> 2047)
{
zAccl -= 4096;
}
// Izhodni podatki na serijski monitor
Serial.print ("Pospešek v osi X:");
Serial.println (xAccl);
Serial.print ("Pospešek v osi Y:");
Serial.println (yAccl);
Serial.print ("Pospešek v osi Z:");
Serial.println (zAccl);
zamuda (500);
}
4. korak: Aplikacije:
MMA8452Q ima različne aplikacije, ki vključujejo aplikacije za e-kompas, zaznavanje statične orientacije, ki vključujejo pokončno/ležeče, gor/dol, levo/desno, identifikacijo položaja zadaj/spredaj, prenosni računalnik, e-bralnik ter zaznavanje padca in prenosnika prenosnega računalnika v realnem času odkrivanje orientacije, vključno z navidezno resničnostjo in povratnimi informacijami o položaju uporabnika v igrah 3D, analizo aktivnosti v realnem času, kot je štetje korakov pedometra, zaznavanje padcev prostega padca za trdi disk, varnostno kopiranje GPS-a in še veliko več.
Priporočena:
Jakna za merilnik pospeška: 5 korakov
Jakna za merilnik pospeška: Oblikoval jo je ThunderLily za sodelovanje z oblikovalko Miniko Ko za predstavo KOllision na vzletno -pristajalni stezi, akrilna jakna združuje modo, tehnologijo in umetnost. Mikroprocesor flore z merilnikom pospeška za zaznavanje smeri gibanja in
Vadnica za merilnik pospeška Arduino: Upravljanje ladijskega mostu s pomočjo servo motorja: 5 korakov
Vadnica za merilnik pospeška Arduino: Upravljanje ladijskega mostu s pomočjo servo motorja: Senzorji pospeška so zdaj v večini naših pametnih telefonov, kar jim omogoča široko paleto uporabe in zmogljivosti, ki jih uporabljamo vsak dan, ne da bi sploh vedeli, da je za to odgovoren merilnik pospeška. Ena od teh zmogljivosti je nadzorna naprava
Arduino Nano in Visuino: Pretvorba pospeška v kot iz merilnika pospeška in žiroskopa Senzor MPU6050 I2C: 8 korakov (s slikami)
Arduino Nano in Visuino: Pretvorite pospešek v kot iz merilnika pospeška in žiroskopa Senzor MPU6050 I2C: Pred časom sem objavil vadnico o tem, kako lahko povežete merilnik pospeška, žiroskop in kompas MPU9250 na Arduino Nano ter ga programirate z Visuinom za pošiljanje paketnih podatkov in prikaz merilnik pospeška pošilja X, Y,
Arduino Nano: merilnik pospeška, žiroskopski kompas MPU9250 I2C senzor z Visuinom: 11 korakov
Arduino Nano: merilnik pospeška, žiroskop kompas MPU9250 I2C senzor z Visuinom: MPU9250 je eden najnaprednejših kombiniranih senzorjev pospeška, žiroskopa in kompasa, ki so trenutno na voljo. Imajo številne napredne funkcije, vključno z nizkoprepustnim filtriranjem, zaznavanjem gibanja in celo programabilnim specializiranim procesorjem
Merilnik pospeška in žiroskop: 3 koraki
Vadnica za merilnik pospeška in žiroskopi: Uvod Ta priročnik je namenjen vsem, ki jih zanima uporaba merilnikov pospeška in žiroskopov ter kombiniranih naprav IMU (enota za inercialno merjenje) v njihovih projektih elektronike. Zajemali bomo: Kaj meri merilnik pospeška?