Sisukord:

Raspberry Pi MMA8452Q 3-teljeline 12-bitine/8-bitine digitaalne kiirendusmõõtur Pythoni õpetus: 4 sammu
Raspberry Pi MMA8452Q 3-teljeline 12-bitine/8-bitine digitaalne kiirendusmõõtur Pythoni õpetus: 4 sammu

Video: Raspberry Pi MMA8452Q 3-teljeline 12-bitine/8-bitine digitaalne kiirendusmõõtur Pythoni õpetus: 4 sammu

Video: Raspberry Pi MMA8452Q 3-teljeline 12-bitine/8-bitine digitaalne kiirendusmõõtur Pythoni õpetus: 4 sammu
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, November
Anonim
Image
Image

MMA8452Q on nutikas, väikese võimsusega kolmeteljeline mahtuvuslik mikromeetriga kiirendusmõõtur, millel on 12 bitti eraldusvõime. Kiirendusmõõturi sisseehitatud funktsioonide abil pakutakse paindlikke kasutaja programmeeritavaid valikuid, mis on konfigureeritavad kaheks katkestusnõelaks. Sellel on kasutaja poolt valitavad täisskaalad ± 2g/± 4g/± 8g koos kõrgpääsfiltriga filtreeritud andmetega ja reaalajas saadaval olevate filtreerimata andmetega. Siin on selle demonstratsioon vaarika pi abil, kasutades pythoni koodi.

Samm: mida vajate..

Mida sa vajad..!!
Mida sa vajad..!!

1. Vaarika Pi

2. MMA8452Q

3. I²C kaabel

4. I²C kilp Raspberry Pi jaoks

5. Etherneti kaabel

Samm: ühendused:

Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused

Võtke vaarika pi jaoks I2C -kilp ja lükake see õrnalt üle vaarika pi gpio -tihvtide.

Seejärel ühendage I2C kaabli üks ots MMA8452Q anduriga ja teine ots I2C varjestusega.

Ühendage ka Etherneti kaabel pi -ga või võite kasutada WiFi -moodulit.

Ühendused on näidatud ülaltoodud pildil.

3. samm: kood:

Kood
Kood

Python koodi MMA8452Q jaoks saab alla laadida meie githubi hoidlast- ControlEverythingCommunity

Siin on link.

Oleme python -koodi jaoks kasutanud SMBusi teeki, SMBus -i vaarika pi -le installimise samme kirjeldatakse siin:

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

Siit saate koodi ka kopeerida, see on järgmine:

# Levitatud vabatahtliku litsentsiga.

# Kasutage seda mis tahes viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.

# MMA8452Q

# See kood on loodud töötama koos MMA8452Q_I2CS I2C minimooduliga.

import smbus

impordi aeg

# Hankige I2C buss

buss = smbus. SMBus (1)

# MMA8452Q aadress, 0x1C (28)

# Valige juhtregister, 0x2A (42)

# 0x00 (00) Ooterežiim

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

# MMA8452Q aadress, 0x1C (28)

# Valige juhtregister, 0x2A (42)

# 0x01 (01) Aktiivne režiim

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

# MMA8452Q aadress, 0x1C (28)

# Valige konfiguratsiooniregister, 0x0E (14)

# 0x00 (00) Määrake vahemik +/- 2g

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

aeg. uni (0,5)

# MMA8452Q aadress, 0x1C (28)

# Lugege andmeid tagasi 0x00 (0), 7 baiti

# Olekuregister, X-telje MSB, X-telje LSB, Y-telje MSB, Y-telje LSB, Z-telje MSB, Z-telje LSB

andmed = bus.read_i2c_block_data (0x1C, 0x00, 7)

# Teisendage andmed

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

kui xAccl> 2047:

xAccl -= 4096

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

kui yAccl> 2047:

yAccl -= 4096 z

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

kui zAccl> 2047:

zAccl -= 4096

# Väljastage andmed ekraanile

print "Kiirendus X-teljel: %d" %xAccl

print "Kiirendus Y-teljel: %d" %yAccl

print "Z-telje kiirendus: %d" %zAccl

4. samm: rakendused:

MMA8452Q-l on mitmesuguseid rakendusi, sealhulgas E-kompassirakendusi, staatilise orientatsiooni tuvastamist, mis hõlmab portree/maastikku, üles/alla, vasakule/paremale, tagumise/esiseisundi tuvastamist, sülearvutit, e-lugerit ning sülearvuti trumli ja vabalangemise tuvastamist, reaalajas orienteerumise tuvastamine, sealhulgas virtuaalne reaalsus ja mängude 3D kasutaja positsiooni tagasiside, reaalajas toimuva tegevuse analüüs, nagu sammulugeja sammude loendamine, vabalangemise languse tuvastamine kõvakettale, surnud GPS-i varundamine ja palju muud.

Soovitan: