Sadržaj:

Raspberry Pi MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Python Vodič: 4 koraka
Raspberry Pi MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Python Vodič: 4 koraka

Video: Raspberry Pi MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Python Vodič: 4 koraka

Video: Raspberry Pi MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Python Vodič: 4 koraka
Video: Как использовать гироскоп, акселерометр, магнитометр MPU-9250 для Arduino 2024, Juli
Anonim
Image
Image

MMA8452Q je pametan, troosni, troosni, kapacitivni, mikromašinski ubrzani mjerač male snage s 12 bita rezolucije. Fleksibilne korisnički programirane opcije pružaju se uz pomoć ugrađenih funkcija u mjeraču ubrzanja, koje se mogu konfigurirati na dva pina prekida. Ima pune skale koje korisnik može odabrati od ± 2g/± 4g/± 8g sa visokofrekventnim filtriranim podacima, kao i nefiltriranim podacima dostupnim u stvarnom vremenu. Evo njegove demonstracije s malinom pi pomoću python koda.

Korak 1: Šta vam treba..

Sta ti treba..!!
Sta ti treba..!!

1. Malina Pi

2. MMA8452Q

3. I²C kabel

4. I²C štit za Raspberry Pi

5. Ethernet kabel

Korak 2: Veze:

Veze
Veze
Veze
Veze
Veze
Veze
Veze
Veze

Uzmite I2C štit za malinu pi i nježno je gurnite preko gpio igle maline pi.

Zatim spojite jedan kraj I2C kabela na senzor MMA8452Q, a drugi kraj na I2C štit.

Također priključite Ethernet kabel na pi ili možete koristiti WiFi modul.

Veze su prikazane na gornjoj slici.

Korak 3: Kod:

Šifra
Šifra

Python kod za MMA8452Q može se preuzeti sa našeg github spremišta- ControlEverythingCommunity

Evo linka.

Koristili smo SMBus biblioteku za python kod, koraci za instaliranje SMBus -a na malinu pi opisani su ovdje:

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

Kôd možete i kopirati odavde, dat je na sljedeći način:

# Distribuirano s licencom za slobodnu volju.

# Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.

# MMA8452Q

# Ovaj kôd je dizajniran za rad s MMA8452Q_I2CS I2C mini modulom.

import smbus

vreme uvoza

# Nabavite I2C autobus

sabirnica = smbus. SMBus (1)

# MMA8452Q adresa, 0x1C (28)

# Odaberite Kontrolni registar, 0x2A (42)

# 0x00 (00) StandBy način rada

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

# MMA8452Q adresa, 0x1C (28)

# Odaberite Kontrolni registar, 0x2A (42)

# 0x01 (01) Aktivni način rada

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

# MMA8452Q adresa, 0x1C (28)

# Odaberite Registar konfiguracije, 0x0E (14)

# 0x00 (00) Podesite raspon na +/- 2g

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

vrijeme.spavanje (0,5)

# MMA8452Q adresa, 0x1C (28)

# Pročitajte podatke nazad od 0x00 (0), 7 bajtova

# Registar statusa, 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)

# Pretvorite podatke

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

ako je xAccl> 2047:

xAccl -= 4096

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

ako je yAccl> 2047:

yAccl -= 4096 z

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

ako je zAccl> 2047:

zAccl -= 4096

# Izlažite podatke na ekran

ispis "Ubrzanje u osi X: %d" %xAccl

ispis "Ubrzanje u osi Y: %d" %yAccl

ispis "Ubrzanje u osi Z: %d" %zAccl

Korak 4: Aplikacije:

MMA8452Q ima različite aplikacije koje uključuju aplikacije za e-kompas, detekciju statičke orijentacije koja uključuje portret/pejzaž, gore/dolje, lijevo/desno, natrag/sprijeda identifikaciju položaja, prijenosno računalo, e-čitač i otkrivanje padova i laptopa u stvarnom vremenu otkrivanje orijentacije, uključujući virtualnu stvarnost i povratne informacije o 3D poziciji korisnika u igri, analizu aktivnosti u stvarnom vremenu, poput brojanja koraka pedometra, detekciju slobodnih padova za HDD, sigurnosno kopiranje GPS-a i još mnogo toga.

Preporučuje se: