Raspberry Pi MMA8452Q 3-Axis 12-bitars/8-bitars digital accelerometer Python-handledning: 4 steg
Raspberry Pi MMA8452Q 3-Axis 12-bitars/8-bitars digital accelerometer Python-handledning: 4 steg
Anonim
Image
Image

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.. !

Vad du behöver..!!
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:

Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
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:

Koda
Koda

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.