Sadržaj:
Video: Arduino Nano-MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Vodič: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
MMA8452Q je pametan, troosni, kapacitivni, mikroobrinuti akcelerometar male snage s 12 bita rezolucije. Fleksibilne korisnički programirane opcije omogućene su uz pomoć ugrađenih funkcija u mjeraču ubrzanja, koje se mogu konfigurirati na dva pina prekida. Ima korisničke skale od ± 2 g/± 4 g/± 8 g koje korisnik može odabrati s podacima filtriranim visokopropusnim filtrom, kao i nefiltriranim podacima dostupnim u stvarnom vremenu. Evo njegove demonstracije s Arduino nano.
Korak 1: Što vam treba..
1. Arduino Nano
2. MMA8452Q
3. I²C kabel
4. I²C štit za Arduino Nano
Korak 2: Povezivanje:
Uzmite I2C štit za Arduino Nano i lagano ga gurnite preko igle Nano.
Zatim spojite jedan kraj I2C kabela na senzor MMA8452Q, a drugi kraj na I2C štit.
Priključci su prikazani na gornjoj slici.
Korak 3: Kôd:
Arduino kôd za MMMA8452Q može se preuzeti s našeg github spremišta- DCUBE Store.
Evo linka.
Uključujemo knjižnicu Wire.h kako bismo olakšali I2c komunikaciju senzora s Arduino pločom.
Ovdje možete i kopirati kôd, dat je na sljedeći način:
// Distribuirano s licencom slobodne volje.
// Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.
// MMA8452Q
// Ovaj kôd je dizajniran za rad s MMA8452Q_I2CS I2C mini modulom.
#uključi
// MMA8452Q I2C adresa je 0x1C (28)
#define Adr 0x1C
void setup ()
{
// Inicializirajte I2C komunikaciju kao MASTER
Wire.begin ();
// Pokretanje serijske komunikacije, postavljena brzina prijenosa = 9600
Serial.begin (9600);
// Pokretanje I2C prijenosa
Wire.beginTransmission (Addr);
// Odaberite kontrolni registar
Wire.write (0x2A);
// StandBy način
Wire.write (0x00);
// Zaustavljanje I2C prijenosa
Wire.endTransmission ();
// Pokretanje I2C prijenosa
Wire.beginTransmission (Addr);
// Odaberite kontrolni registar
Wire.write (0x2A);
// Aktivni način rada
Wire.write (0x01);
// Zaustavljanje I2C prijenosa
Wire.endTransmission ();
// Pokretanje I2C prijenosa
Wire.beginTransmission (Addr);
// Odaberite kontrolni registar
Wire.write (0x0E);
// Postavite raspon na +/- 2g
Wire.write (0x00);
// Zaustavljanje I2C prijenosa
Wire.endTransmission ();
kašnjenje (300);
}
void loop ()
{
nepotpisani int podaci [7];
// Zatražite 7 bajta podataka
Wire.requestFrom (Addr, 7);
// Očitavanje 7 bajtova podataka
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
if (Wire.available () == 7)
{
podaci [0] = Wire.read ();
podaci [1] = Wire.read ();
podaci [2] = Wire.read ();
podaci [3] = Wire.read ();
podaci [4] = Wire.read ();
podaci [5] = Wire.read ();
podaci [6] = Wire.read ();
}
// Pretvorimo podatke u 12-bitne
int xAccl = ((podaci [1] * 256) + podaci [2]) / 16;
ako (xAccl> 2047)
{
xAccl -= 4096;
}
int yAccl = ((podaci [3] * 256) + podaci [4]) / 16;
ako (yAccl> 2047)
{
yAccl -= 4096;
}
int zAccl = ((podaci [5] * 256) + podaci [6]) / 16;
ako (zAccl> 2047)
{
zAccl -= 4096;
}
// Izlaženje podataka na serijski monitor
Serial.print ("Ubrzanje u osi X:");
Serijski.println (xAccl);
Serial.print ("Ubrzanje u osi Y:");
Serial.println (yAccl);
Serial.print ("Ubrzanje u osi Z:");
Serijski.println (zAccl);
kašnjenje (500);
}
Korak 4: Aplikacije:
MMA8452Q ima različite aplikacije koje uključuju aplikacije za e-kompas, detekciju statičke orijentacije koja uključuje portret/pejzaž, gore/dolje, lijevo/desno, natrag/sprijeda identifikaciju položaja, prijenosno računalo, e-čitač i otkrivanje padova i laptopa u stvarnom vremenu otkrivanje orijentacije, uključujući virtualnu stvarnost i povratne informacije o položaju korisnika 3D igre, analizu aktivnosti u stvarnom vremenu, poput brojanja koraka koraka, detekciju slobodnog pada za HDD, sigurnosno kopiranje GPS-a i još mnogo toga.
Preporučeni:
Raspberry Pi - TMD26721 Infracrveni digitalni detektor blizine Java Vodič: 4 koraka
Raspberry Pi-TMD26721 Infracrveni digitalni detektor blizine Java Tutorial: TMD26721 je infracrveni digitalni detektor blizine koji pruža potpuni sustav za otkrivanje blizine i logiku digitalnog sučelja u jednom 8-pinskom modulu za površinsko montiranje. Detekcija blizine uključuje poboljšani signal-šum i točnost. Profesionalac
Raspberry Pi - ADXL345 troosni akcelerometar Python Vodič: 4 koraka
Raspberry Pi-ADXL345 troosni akcelerometar Python Vodič: ADXL345 je mali, tanak, troosni akcelerometar ultra niske snage s mjerenjima visoke razlučivosti (13 bita) do ± 16 g. Digitalni izlazni podaci formatirani su kao 16-bitne dvojke nadopunjeni i dostupni su putem I2 C digitalnog sučelja. Mjeri
Raspberry Pi - BH1715 Digitalni senzor ambijentalnog svjetla Python Vodič: 4 koraka
Raspberry Pi - BH1715 Digitalni senzor ambijentalnog svjetla Python Vodič: BH1715 je digitalni senzor ambijentalnog svjetla sa sučeljem sabirnice I²C. BH1715 se obično koristi za dobivanje podataka o ambijentalnom osvjetljenju za podešavanje snage pozadinskog osvjetljenja LCD -a i tipkovnice za mobilne uređaje. Ovaj uređaj nudi 16-bitnu rezoluciju i podešava
Vodič za Arduino akcelerometar: Kontrola brodskog mosta pomoću servo motora: 5 koraka
Uputstvo za Arduino akcelerometar: Upravljajte brodskim mostom pomoću servo motora: Senzori akcelerometra sada su u većini naših pametnih telefona kako bi im dali široku paletu upotrebe i mogućnosti koje svakodnevno koristimo, čak i ne znajući da je za to odgovoran akcelerometar. Jedna od tih mogućnosti je kontrola
Raspberry Pi - Java vodič za digitalni senzor ambijentalnog svjetla BH1715: 4 koraka
Raspberry Pi - Java vodič za digitalni senzor ambijentalnog svjetla BH1715: BH1715 je digitalni senzor ambijentalnog svjetla sa sučeljem sabirnice I²C. BH1715 se obično koristi za dobivanje podataka o ambijentalnom osvjetljenju za podešavanje snage pozadinskog osvjetljenja LCD -a i tipkovnice za mobilne uređaje. Ovaj uređaj nudi 16-bitnu rezoluciju i podešava