Turinys:

Raspberry Pi MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninio akselerometro „Python“vadovėlis: 4 žingsniai
Raspberry Pi MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninio akselerometro „Python“vadovėlis: 4 žingsniai

Video: Raspberry Pi MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninio akselerometro „Python“vadovėlis: 4 žingsniai

Video: Raspberry Pi MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninio akselerometro „Python“vadovėlis: 4 žingsniai
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, Liepa
Anonim
Image
Image

„MMA8452Q“yra protingas, mažos galios, trijų ašių, talpinis, mikroprocesorinis akselerometras, turintis 12 bitų skiriamąją gebą. Lanksčios vartotojo programuojamos parinktys pateikiamos naudojant pagreičio matuoklio funkcijas, kurias galima sukonfigūruoti dviem pertraukimo kaiščiais. Jame yra vartotojo pasirinktos visos ± 2 g/± 4 g/± 8 g skalės su aukšto dažnio filtro filtruotais duomenimis, taip pat nefiltruoti duomenys, pasiekiami realiuoju laiku. Čia yra jo demonstravimas su aviečių pi naudojant python kodą.

1 žingsnis: ko jums reikia..

Ko tau reikia..!!
Ko tau reikia..!!

1. Avietė Pi

2. MMA8452Q

3. I²C kabelis

4. „I²C Shield“, skirtas „Raspberry Pi“

5. Ethernet kabelis

2 žingsnis: jungtys:

Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai

Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.

Tada vieną I2C kabelio galą prijunkite prie MMA8452Q jutiklio, o kitą - prie I2C skydo.

Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.

Sujungimai parodyti aukščiau esančiame paveikslėlyje.

3 žingsnis: kodas:

Kodas
Kodas

„MMA8452Q“python kodą galima atsisiųsti iš mūsų „github“saugyklos- „ControlEverythingCommunity“

Čia yra nuoroda.

„Python“kodui naudojome „SMBus“biblioteką, čia aprašyti SMBus diegimo „Raspberry pi“veiksmai:

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

Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:

# Platinama su laisvos valios licencija.

# Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka su juo susijusių darbų licencijas.

# MMA8452Q

# Šis kodas skirtas dirbti su „MMA8452Q_I2CS I2C Mini“moduliu.

importuoti smbus

importo laikas

# Gaukite I2C autobusą

autobusas = smbus. SMBus (1)

# MMA8452Q adresas, 0x1C (28)

# Pasirinkite valdymo registrą, 0x2A (42)

# 0x00 (00) Budėjimo režimas

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

# MMA8452Q adresas, 0x1C (28)

# Pasirinkite valdymo registrą, 0x2A (42)

# 0x01 (01) Aktyvus režimas

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

# MMA8452Q adresas, 0x1C (28)

# Pasirinkite konfigūracijos registrą, 0x0E (14)

# 0x00 (00) Nustatykite diapazoną į +/- 2g

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

laikas. miegas (0,5)

# MMA8452Q adresas, 0x1C (28)

# Skaityti duomenis iš 0x00 (0), 7 baitų

# Būsenos registras, X ašis MSB, X ašis LSB, Y ašis MSB, Y ašis LSB, Z ašis MSB, Z ašis LSB

duomenys = autobusas.read_i2c_block_data (0x1C, 0x00, 7)

# Konvertuokite duomenis

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

jei xAccl> 2047:

xAccl -= 4096

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

jei yAccl> 2047:

yAccl -= 4096 z

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

jei zAccl> 2047:

zAccl -= 4096

# Išveskite duomenis į ekraną

spausdinti "pagreitis X ašyje: %d" %xAccl

spausdinti "pagreitis Y ašyje: %d" %yAccl

spauda "Pagreitis Z ašyje: %d" %zAccl

4 žingsnis: programos:

„MMA8452Q“turi įvairias programas, įskaitant „E-kompaso“programas, statinės orientacijos aptikimą, apimantį portreto/kraštovaizdžio, aukštyn/žemyn, kairės/dešinės, galinės/priekinės padėties atpažinimą, nešiojamąjį kompiuterį, el. orientacijos aptikimas, įskaitant virtualios realybės ir žaidimo 3D vartotojo padėties grįžtamąjį ryšį, veiklos analizė realiuoju laiku, pvz., žingsniamatio žingsnių skaičiavimas, laisvojo kritimo aptikimas HDD, negyvos sistemos GPS atsarginė kopija ir daug daugiau.

Rekomenduojamas: