Cuprins:

Raspberry Pi - Tutorial ADXL345 cu 3 axe accelerometru Python: 4 pași
Raspberry Pi - Tutorial ADXL345 cu 3 axe accelerometru Python: 4 pași

Video: Raspberry Pi - Tutorial ADXL345 cu 3 axe accelerometru Python: 4 pași

Video: Raspberry Pi - Tutorial ADXL345 cu 3 axe accelerometru Python: 4 pași
Video: How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino 2024, Noiembrie
Anonim

ADXL345 este un accelerometru cu 3 axe mic, subțire, cu putere foarte mică, cu măsurare cu rezoluție înaltă (13 biți) până la ± 16 g. Datele de ieșire digitală sunt formatate ca un complement de doi biți pe 16 biți și sunt accesibile prin interfața digitală I2 C. Măsurează accelerația statică a gravitației în aplicațiile de detectare a înclinării, precum și accelerația dinamică rezultată din mișcare sau șoc. Rezoluția sa înaltă (3,9 mg / LSB) permite măsurarea modificărilor de înclinație mai mici de 1,0 °. Iată demonstrația cu raspberry pi folosind codul python.

Pasul 1: De ce ai nevoie..

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

1. Raspberry Pi

2. ADXL345

3. Cablu I²C

4. Scut I²C pentru Raspberry Pi

5. Cablu Ethernet

Pasul 2: Conexiune:

Conexiune
Conexiune
Conexiune
Conexiune
Conexiune
Conexiune
Conexiune
Conexiune

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 ADXL345 ș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 ADXL345 poate fi descărcat din depozitul nostru GitHub - Magazinul Dcube

Iată linkul pentru același lucru:

github.com/DcubeTechVentures/ADXL345..

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.

# ADXL345

# Acest cod este conceput pentru a funcționa cu Mini-modulul ADXL345_I2CS I2C disponibil în Magazinul Dcube.

import smbus

timpul de import

# Ia autobuzul I2C

autobuz = smbus. SMBus (1)

# Adresă ADXL345, 0x53 (83)

# Selectați registrul lățimii de bandă, 0x2C (44) # 0x0A (10) Mod normal, Rată de date de ieșire = 100 Hz

bus.write_byte_data (0x53, 0x2C, 0x0A)

# Adresă ADXL345, 0x53 (83)

# Selectați registrul de control al puterii, 0x2D (45)

# 0x08 (08) Dezactivare oprire automată

bus.write_byte_data (0x53, 0x2D, 0x08)

# Adresă ADXL345, 0x53 (83)

# Selectați registrul formatului de date, 0x31 (49)

# 0x08 (08) Autotest dezactivat, interfață cu 4 fire

# Rezoluție completă, interval = +/- 2g

bus.write_byte_data (0x53, 0x31, 0x08)

time.sleep (0,5)

# Adresă ADXL345, 0x53 (83)

# Citiți datele înapoi de la 0x32 (50), 2 octeți

# Axa X LSB, Axa X MSB

data0 = bus.read_byte_data (0x53, 0x32)

data1 = bus.read_byte_data (0x53, 0x33)

# Convertiți datele în 10 biți

xAccl = ((data1 & 0x03) * 256) + data0

dacă xAccl> 511:

xAccl - = 1024

# Adresă ADXL345, 0x53 (83)

# Citiți datele înapoi de la 0x34 (52), 2 octeți

# Axa Y LSB, axa Y MSB

data0 = bus.read_byte_data (0x53, 0x34)

data1 = bus.read_byte_data (0x53, 0x35)

# Convertiți datele în 10 biți

yAccl = ((data1 & 0x03) * 256) + data0

dacă yAccl> 511:

yAccl - = 1024

# Adresă ADXL345, 0x53 (83)

# Citiți datele înapoi de la 0x36 (54), 2 octeți

# Z-Axis LSB, Z-Axis MSB

data0 = bus.read_byte_data (0x53, 0x36)

data1 = bus.read_byte_data (0x53, 0x37)

# Convertiți datele în 10 biți

zAccl = ((date1 și 0x03) * 256) + date0

dacă zAccl> 511:

zAccl - = 1024

# 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:

ADXL345 este un accelerometru cu 3 axe mic, subțire, cu putere foarte mică, care poate fi utilizat în receptoare, instrumente medicale etc. Aplicația sa include, de asemenea, dispozitive pentru jocuri și indicare, instrumentare industrială, dispozitive de navigație personală și protecție pentru unitatea de disc (HDD).

Recomandat: