2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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 malinom pi pomoću python koda.
Korak 1: Što vam treba..
1. Malina Pi
2. MMA8452Q
3. I²C kabel
4. I²C štit za Raspberry Pi
5. Ethernet kabel
Korak 2: Veze:
Uzmite I2C štit za malinu pi i nježno je gurnite preko gpio igle maline pi.
Zatim spojite jedan kraj I2C kabela na senzor MMA8452Q, a drugi kraj na I2C štit.
Također priključite Ethernet kabel na pi ili možete koristiti WiFi modul.
Priključci su prikazani na gornjoj slici.
Korak 3: Kôd:
Python kôd za MMA8452Q može se preuzeti s našeg github spremišta- ControlEverythingCommunity
Evo linka.
Koristili smo knjižnicu SMBus za python kôd, koraci za instaliranje SMBusa na malinu pi opisani su ovdje:
pypi.python.org/pypi/smbus-cffi/0.5.1
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.
uvoz smbus
vrijeme uvoza
# Nabavite I2C autobus
sabirnica = smbus. SMBus (1)
# MMA8452Q adresa, 0x1C (28)
# Odaberite Upravljački registar, 0x2A (42)
# 0x00 (00) StandBy način rada
bus.write_byte_data (0x1C, 0x2A, 0x00)
# MMA8452Q adresa, 0x1C (28)
# Odaberite Upravljački registar, 0x2A (42)
# 0x01 (01) Aktivni način rada
bus.write_byte_data (0x1C, 0x2A, 0x01)
# MMA8452Q adresa, 0x1C (28)
# Odaberite Registar konfiguracije, 0x0E (14)
# 0x00 (00) Područje postavite na +/- 2g
bus.write_byte_data (0x1C, 0x0E, 0x00)
vrijeme.spavanje (0,5)
# MMA8452Q adresa, 0x1C (28)
# Očitavanje podataka unatrag od 0x00 (0), 7 bajtova
# Registar statusa, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB
podaci = sabirnica.čitani_i2c_blok_podaci (0x1C, 0x00, 7)
# Pretvorite podatke
xAccl = (podaci [1] * 256 + podaci [2]) / 16
ako je xAccl> 2047:
xAccl -= 4096
yAccl = (podaci [3] * 256 + podaci [4]) / 16
ako je yAccl> 2047:
yAccl -= 4096 z
Accl = (podaci [5] * 256 + podaci [6]) / 16
ako je zAccl> 2047:
zAccl -= 4096
# Izlažite podatke na zaslon
ispis "Ubrzanje u osi X: %d" %xAccl
ispis "Ubrzanje u osi Y: %d" %yAccl
ispis "Ubrzanje u osi Z: %d" %zAccl
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.