2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
MMA8452Q je pametan, troosni, troosni, kapacitivni, mikromašinski ubrzani mjerač male snage s 12 bita rezolucije. Fleksibilne korisnički programirane opcije pružaju se uz pomoć ugrađenih funkcija u mjeraču ubrzanja, koje se mogu konfigurirati na dva pina prekida. Ima pune skale koje korisnik može odabrati od ± 2g/± 4g/± 8g sa visokofrekventnim filtriranim podacima, kao i nefiltriranim podacima dostupnim u stvarnom vremenu. Evo njegove demonstracije s malinom pi pomoću python koda.
Korak 1: Šta 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.
Veze su prikazane na gornjoj slici.
Korak 3: Kod:
Python kod za MMA8452Q može se preuzeti sa našeg github spremišta- ControlEverythingCommunity
Evo linka.
Koristili smo SMBus biblioteku za python kod, koraci za instaliranje SMBus -a na malinu pi opisani su ovdje:
pypi.python.org/pypi/smbus-cffi/0.5.1
Kôd možete i kopirati odavde, dat je na sljedeći način:
# Distribuirano s licencom za slobodnu volju.
# 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.
import smbus
vreme uvoza
# Nabavite I2C autobus
sabirnica = smbus. SMBus (1)
# MMA8452Q adresa, 0x1C (28)
# Odaberite Kontrolni registar, 0x2A (42)
# 0x00 (00) StandBy način rada
bus.write_byte_data (0x1C, 0x2A, 0x00)
# MMA8452Q adresa, 0x1C (28)
# Odaberite Kontrolni 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) Podesite raspon na +/- 2g
bus.write_byte_data (0x1C, 0x0E, 0x00)
vrijeme.spavanje (0,5)
# MMA8452Q adresa, 0x1C (28)
# Pročitajte podatke nazad 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
data = bus.read_i2c_block_data (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 ekran
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 3D poziciji korisnika u igri, analizu aktivnosti u stvarnom vremenu, poput brojanja koraka pedometra, detekciju slobodnih padova za HDD, sigurnosno kopiranje GPS-a i još mnogo toga.