Innholdsfortegnelse:

Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Python-opplæring: 4 trinn
Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Python-opplæring: 4 trinn

Video: Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Python-opplæring: 4 trinn

Video: Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Python-opplæring: 4 trinn
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, Juli
Anonim
Image
Image

MMA8452Q er et smart, laveffekt, tre-akset, kapasitivt, mikromaskinert akselerometer med 12 bits oppløsning. Fleksible brukerprogrammerbare alternativer tilbys ved hjelp av innebygde funksjoner i akselerometeret, som kan konfigureres til to avbruddspinner. Den har brukervalgbare hele skalaer på ± 2g/± 4g/± 8g med høypassfilterfiltrerte data, så vel som ikke-filtrerte data tilgjengelig i sanntid. Her er demonstrasjonen med bringebær pi ved hjelp av python -kode.

Trinn 1: Hva du trenger..

Hva trenger du..!!
Hva trenger du..!!

1. Bringebær Pi

2. MMA8452Q

3. I²C -kabel

4. I²C Shield for Raspberry Pi

5. Ethernet -kabel

Trinn 2: Tilkoblinger:

Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger

Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.

Koble deretter den ene enden av I2C -kabelen til MMA8452Q -sensoren og den andre enden til I2C -skjoldet.

Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.

Tilkoblinger er vist på bildet ovenfor.

Trinn 3: Kode:

Kode
Kode

Python-koden for MMA8452Q kan lastes ned fra vårt github-depot- ControlEverythingCommunity

Her er lenken.

Vi har brukt SMBus bibliotek for python -kode, trinnene for å installere SMBus på bringebær pi er beskrevet her:

pypi.python.org/pypi/smbus-cffi/0.5.1

Du kan også kopiere koden herfra, den er gitt som følger:

# Distribuert med en fri viljelisens.

# Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.

# MMA8452Q

# Denne koden er designet for å fungere med MMA8452Q_I2CS I2C Mini Module.

importer smbus

importtid

# Få I2C -buss

buss = smbus. SMBus (1)

# MMA8452Q adresse, 0x1C (28)

# Velg Kontrollregister, 0x2A (42)

# 0x00 (00) Standby -modus

bus.write_byte_data (0x1C, 0x2A, 0x00)

# MMA8452Q adresse, 0x1C (28)

# Velg Kontrollregister, 0x2A (42)

# 0x01 (01) Aktiv modus

bus.write_byte_data (0x1C, 0x2A, 0x01)

# MMA8452Q adresse, 0x1C (28)

# Velg konfigurasjonsregister, 0x0E (14)

# 0x00 (00) Sett området til +/- 2g

bus.write_byte_data (0x1C, 0x0E, 0x00)

time.sleep (0,5)

# MMA8452Q adresse, 0x1C (28)

# Les data tilbake fra 0x00 (0), 7 byte

# Statusregister, 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)

# Konverter dataene

xAccl = (data [1] * 256 + data [2]) / 16

hvis xAccl> 2047:

xAccl -= 4096

yAccl = (data [3] * 256 + data [4]) / 16

hvis yAccl> 2047:

yAccl -= 4096 z

Accl = (data [5] * 256 + data [6]) / 16

hvis zAccl> 2047:

zAccl -= 4096

# Utdata til skjermen

print "Akselerasjon i X-aksen: %d" %xAccl

print "Akselerasjon i Y-aksen: %d" %yAccl

print "Akselerasjon i Z-aksen: %d" %zAccl

Trinn 4: Søknader:

MMA8452Q har forskjellige applikasjoner som inkluderer E-Kompass-applikasjoner, Statisk orienteringsdeteksjon som inneholder portrett/landskap, opp/ned, venstre/høyre, bak/front posisjonidentifikasjon, bærbar PC, e-leser og bærbar Tumble og Freefall Detection, sanntid orienteringsdeteksjon, inkludert virtuell virkelighet og spill 3D-tilbakemeldinger fra brukerposisjoner, aktivitetsanalyse i sanntid som skrittellersteller, fritt fallgjenkjenning for harddisk, død-beregning av GPS-sikkerhetskopiering og mye mer.

Anbefalt: