Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
MMA8452Q är en smart, lågeffekts, treaxlig, kapacitiv, mikromaskinerad accelerometer med 12 bitars upplösning. Flexibla användarprogrammerbara alternativ tillhandahålls med hjälp av inbyggda funktioner i accelerometern, som kan konfigureras till två avbrottsstift. Den har användarvalbara hela skalor på ± 2g/± 4g/± 8g med högpassfilterfiltrerade data samt icke-filtrerade data tillgängliga i realtid. Här är dess demonstration med hallon pi med pythonkod.
Steg 1: Vad du behöver.. !
1. Hallon Pi
2. MMA8452Q
3. I²C -kabel
4. I²C -sköld för Raspberry Pi
5. Ethernet -kabel
Steg 2: Anslutningar:
Ta en I2C -sköld för hallonpi och tryck den försiktigt över gpio -stiften på hallonpi.
Anslut sedan den ena änden av I2C -kabeln till MMA8452Q -sensorn och den andra änden till I2C -skärmen.
Anslut också Ethernet -kabeln till pi eller så kan du använda en WiFi -modul.
Anslutningar visas på bilden ovan.
Steg 3: Kod:
Pythonkoden för MMA8452Q kan laddas ner från vårt github-arkiv- ControlEverythingCommunity
Här är länken.
Vi har använt SMBus -biblioteket för pythonkod, stegen för att installera SMBus på hallon pi beskrivs här:
pypi.python.org/pypi/smbus-cffi/0.5.1
Du kan också kopiera koden härifrån, den ges enligt följande:
# Distribueras med en fri vilja licens.
# Använd det hur du vill, vinst eller gratis, förutsatt att det passar i licensen för dess associerade verk.
# MMA8452Q
# Denna kod är utformad för att fungera med MMA8452Q_I2CS I2C Mini Module.
importera smbus
importtid
# Skaffa I2C -buss
buss = smbus. SMBus (1)
# MMA8452Q -adress, 0x1C (28)
# Välj Kontrollregister, 0x2A (42)
# 0x00 (00) Standby -läge
bus.write_byte_data (0x1C, 0x2A, 0x00)
# MMA8452Q -adress, 0x1C (28)
# Välj Kontrollregister, 0x2A (42)
# 0x01 (01) Aktivt läge
bus.write_byte_data (0x1C, 0x2A, 0x01)
# MMA8452Q -adress, 0x1C (28)
# Välj konfigurationsregister, 0x0E (14)
# 0x00 (00) Ställ in intervallet på +/- 2g
bus.write_byte_data (0x1C, 0x0E, 0x00)
tid. sover (0,5)
# MMA8452Q -adress, 0x1C (28)
# Läs tillbaka data från 0x00 (0), 7 byte
# Statusregister, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB
data = buss.läs_i2c_block_data (0x1C, 0x00, 7)
# Konvertera data
xAccl = (data [1] * 256 + data [2]) / 16
om xAccl> 2047:
xAccl -= 4096
yAccl = (data [3] * 256 + data [4]) / 16
om yAccl> 2047:
yAccl -= 4096 z
Accl = (data [5] * 256 + data [6]) / 16
om zAccl> 2047:
zAccl -= 4096
# Mata ut data till skärmen
print "Acceleration i X-axel: %d" %xAccl
print "Acceleration i Y-axel: %d" %yAccl
print "Acceleration i Z-axel: %d" %zAccl
Steg 4: Ansökningar:
MMA8452Q har olika applikationer som inkluderar E-kompassapplikationer, statisk orienteringsdetektering som innehåller porträtt/liggande, upp/ner, vänster/höger, bakre/främre lägesidentifiering, anteckningsbok, e-läsare och bärbar dator Tumble och Freefall Detection, Realtid orienteringsdetektering inklusive virtuell verklighet och spel 3D-feedback från användarpositioner, aktivitetsanalys i realtid, såsom stegräknare för stegräknare, detektering av fritt fall för hårddisk, dödräknad GPS-säkerhetskopiering och mycket mer.