Innehållsförteckning:

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

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

Video: Raspberry Pi MMA8452Q 3-Axis 12-bitars/8-bitars digital accelerometer Python-handledning: 4 steg
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, November
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.

Rekommenderad: