Cuprins:

Raspberry Pi MMA8452Q 3-Axis Tutorial accelerator digital Python pe 12 biți / 8 biți: 4 pași
Raspberry Pi MMA8452Q 3-Axis Tutorial accelerator digital Python pe 12 biți / 8 biți: 4 pași

Video: Raspberry Pi MMA8452Q 3-Axis Tutorial accelerator digital Python pe 12 biți / 8 biți: 4 pași

Video: Raspberry Pi MMA8452Q 3-Axis Tutorial accelerator digital Python pe 12 biți / 8 biți: 4 pași
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, Decembrie
Anonim
Image
Image

MMA8452Q este un accelerometru inteligent, de mică putere, cu trei axe, capacitiv, micromachined, cu 12 biți de rezoluție. Opțiunile flexibile programabile de utilizator sunt furnizate cu ajutorul funcțiilor încorporate în accelerometru, configurabile pentru doi pini de întrerupere. Are scări complete selectabile de utilizator de ± 2g / ± 4g / ± 8g cu date filtrate cu filtru trecător înalt, precum și date non-filtrate disponibile în timp real. Iată demonstrația sa cu raspberry pi folosind codul python.

Pasul 1: De ce ai nevoie..

De ce ai nevoie..!!
De ce ai nevoie..!!

1. Raspberry Pi

2. MMA8452Q

3. Cablu I²C

4. Scut I²C pentru Raspberry Pi

5. Cablu Ethernet

Pasul 2: Conexiuni:

Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni

Luați un scut I2C pentru raspberry pi și împingeți-l ușor peste pinii gpio ai raspberry pi.

Apoi conectați capătul cablului I2C la senzorul MMA8452Q și celălalt capăt la ecranul I2C.

De asemenea, conectați cablul Ethernet la pi sau puteți utiliza un modul WiFi.

Conexiunile sunt afișate în imaginea de mai sus.

Pasul 3: Cod:

Cod
Cod

Codul python pentru MMA8452Q poate fi descărcat din depozitul nostru github- ControlEverythingCommunity

Iată linkul.

Am folosit biblioteca SMBus pentru codul Python, pașii pentru instalarea SMBus pe raspberry pi sunt descriși aici:

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

De asemenea, puteți copia codul de aici, acesta este dat după cum urmează:

# Distribuit cu o licență de voință liberă.

# Folosiți-l în orice mod doriți, profit sau gratuit, cu condiția să se încadreze în licențele lucrărilor sale asociate.

# MMA8452Q

# Acest cod este conceput pentru a funcționa cu Mini-modulul MMA8452Q_I2CS I2C.

import smbus

timpul de import

# Ia autobuzul I2C

autobuz = smbus. SMBus (1)

# Adresă MMA8452Q, 0x1C (28)

# Selectați Registrul de control, 0x2A (42)

# 0x00 (00) Mod StandBy

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

# Adresă MMA8452Q, 0x1C (28)

# Selectați Registrul de control, 0x2A (42)

# 0x01 (01) Mod activ

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

# Adresă MMA8452Q, 0x1C (28)

# Selectați Registrul de configurare, 0x0E (14)

# 0x00 (00) Setați intervalul la +/- 2g

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

time.sleep (0,5)

# Adresă MMA8452Q, 0x1C (28)

# Citiți datele înapoi de la 0x00 (0), 7 octeți

# Registrul de stare, Axa X MSB, Axa X LSB, Axa Y MSB, Axa Y LSB, Axa Z MSB, Axa Z LSB

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

# Convertiți datele

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

dacă xAccl> 2047:

xAccl - = 4096

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

dacă yAccl> 2047:

yAccl - = 4096 z

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

dacă zAccl> 2047:

zAccl - = 4096

# Ieșire date pe ecran

print "Accelerare în axa X:% d"% xAccl

print "Accelerare în axa Y:% d"% yAccl

print "Accelerare în axa Z:% d"% zAccl

Pasul 4: Aplicații:

MMA8452Q are diverse aplicații care includ aplicații E-Compass, detecție statică a orientării care încorporează portret / peisaj, sus / jos, stânga / dreapta, identificare poziție spate / față, notebook, e-reader și detectare de cadere și cădere liberă pentru laptop, în timp real detectarea orientării, inclusiv realitatea virtuală și feedback-ul poziției utilizatorului 3D pentru jocuri, analiza activității în timp real, cum ar fi contorizarea pasului pedometrului, detectarea căderilor gratuite pentru HDD, backup GPS calculat și multe altele.

Recomandat: