Cuprins:
- Pasul 1: Hardware necesar:
- Pasul 2: conectare hardware:
- Pasul 3: Cod Python pentru măsurarea accelerării:
- Pasul 4: Aplicații:
Video: Măsurarea accelerației folosind H3LIS331DL și Raspberry Pi: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
H3LIS331DL, este un accelerometru liniar cu 3 axe de înaltă performanță, de mică putere, aparținând familiei „nano”, cu interfață serială digitală I²C. H3LIS331DL are scale complete selectabile de utilizator de ± 100g / ± 200g / ± 400g și este capabil să măsoare accelerații cu rate de date de ieșire de la 0,5 Hz la 1 kHz. H3LIS331DL funcționează pe o gamă extinsă de temperatură de la -40 ° C la +85 ° C.
În acest tutorial vom demonstra interfața H3LIS331DL cu Raspberry Pi, folosind python ca limbaj de programare.
Pasul 1: Hardware necesar:
Materialele de care avem nevoie pentru îndeplinirea obiectivului nostru includ următoarele componente hardware:
1. H3LIS331DL
2. Raspberry Pi
3. Cablu I2C
4. I2C Shield pentru zmeură pi
5. Cablu Ethernet
Pasul 2: conectare hardware:
Secțiunea de conectare hardware explică practic conexiunile de cablare necesare între senzor și raspberry pi. Asigurarea conexiunilor corecte este necesitatea de bază în timp ce lucrați la orice sistem pentru ieșirea dorită. Deci, conexiunile necesare sunt următoarele:
H3LIS331DL va funcționa pe I2C. Iată exemplul schemei de cablare, care demonstrează cum se conectează fiecare interfață a senzorului.
Out-of-the-box, placa este configurată pentru o interfață I2C, ca atare, vă recomandăm să utilizați această conexiune dacă sunteți altfel agnostic. Nu ai nevoie decât de patru fire!
Sunt necesare doar patru conexiuni Vcc, Gnd, SCL și pinii SDA și acestea sunt conectate cu ajutorul cablului I2C.
Aceste conexiuni sunt prezentate în imaginile de mai sus.
Pasul 3: Cod Python pentru măsurarea accelerării:
Avantajul utilizării raspberry pi este acela că vă oferă flexibilitatea limbajului de programare în care doriți să programați placa pentru a interfața senzorul cu aceasta. Profitând de acest avantaj al acestei plăci, demonstrăm aici programarea sa în python. Python este unul dintre cele mai ușoare limbaje de programare cu cea mai ușoară sintaxă. Codul python pentru H3LIS331DL poate fi descărcat din comunitatea noastră github care este DCUBE Store.
Pe lângă ușurința utilizatorilor, explicăm și codul aici:
Ca prim pas de codare, trebuie să descărcați biblioteca SMBus în caz de python, deoarece această bibliotecă acceptă funcțiile utilizate în cod. Deci, pentru a descărca biblioteca puteți vizita următorul link:
pypi.python.org/pypi/smbus-cffi/0.5.1
Puteți copia codul de lucru și de aici:
import smbus
timpul de import
# Obțineți autobuzul I2C = smbus. SMBus (1)
# Adresă H3LIS331DL, 0x18 (24)
# Selectați registrul de control 1, 0x20 (32)
# 0x27 (39) Modul de pornire, viteza de ieșire a datelor = 50 Hz # X, Y, Axa Z activată
bus.write_byte_data (0x18, 0x20, 0x27)
# Adresa H3LIS331DL, 0x18 (24) # Selectați registrul de control 4, 0x23 (35)
# 0x00 (00) Actualizare continuă, selecție la scară completă = +/- 100g
bus.write_byte_data (0x18, 0x23, 0x00)
time.sleep (0,5)
# Adresă H3LIS331DL, 0x18 (24)
# Citiți datele înapoi de la 0x28 (40), 2 octeți
# Axa X LSB, Axa X MSB
data0 = bus.read_byte_data (0x18, 0x28)
data1 = bus.read_byte_data (0x18, 0x29)
# Convertiți dataxAccl = data1 * 256 + data0
dacă xAccl> 32767:
xAccl - = 65536
# Adresă H3LIS331DL, 0x18 (24)
# Citiți datele înapoi de la 0x2A (42), 2 octeți
# Axa Y LSB, axa Y MSB
data0 = bus.read_byte_data (0x18, 0x2A)
data1 = bus.read_byte_data (0x18, 0x2B)
# Convertiți datele
yAccl = data1 * 256 + data0
dacă yAccl> 32767:
yAccl - = 65536
# Adresă H3LIS331DL, 0x18 (24)
# Citiți datele înapoi de la 0x2C (44), 2 octeți
# Z-Axis LSB, Z-Axis MSB
data0 = bus.read_byte_data (0x18, 0x2C)
data1 = bus.read_byte_data (0x18, 0x2D)
# Convertiți datele
zAccl = data1 * 256 + data0
dacă zAccl> 32767:
zAccl - = 65536
# 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
Codul este executat folosind următoarea comandă:
$> python H3LIS331DL.py gt; python H3LIS331DL.py
Ieșirea senzorului este prezentată în imaginea de mai sus pentru referința utilizatorului.
Pasul 4: Aplicații:
Accelerometrele precum H3LIS331DL își găsesc în mare parte aplicația în jocuri și în comutarea profilului de afișare. Acest modul senzor este utilizat și în sistemul avansat de gestionare a energiei pentru aplicații mobile. H3LIS331DL este un senzor digital de accelerație triaxial care este încorporat cu un controler inteligent de întrerupere declanșat de mișcare pe cip.
Recomandat:
Măsurarea accelerației folosind ADXL345 și fotonul de particule: 4 pași
Măsurarea accelerației folosind ADXL345 și fotonul de particule: ADXL345 este un accelerometru pe 3 axe, cu putere mică, subțire, cu o rezoluție înaltă (13 biți), măsurând 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ă
Măsurarea accelerației folosind H3LIS331DL și Arduino Nano: 4 pași
Măsurarea accelerației folosind H3LIS331DL și Arduino Nano: H3LIS331DL, este un accelerometru liniar cu 3 axe de înaltă performanță, de mică performanță, aparținând familiei „nano”, cu interfață serială digitală I²C. H3LIS331DL are scale complete selectabile de utilizator de ± 100g / ± 200g / ± 400g și este capabil să măsoare accelerații cu
Măsurarea accelerației folosind H3LIS331DL și fotonul de particule: 4 pași
Măsurarea accelerației utilizând H3LIS331DL și fotonul de particule: H3LIS331DL, este un accelerometru liniar cu 3 axe de înaltă performanță, de mică putere, aparținând familiei „nano”, cu interfață serială digitală I²C. H3LIS331DL are scale complete selectabile de utilizator de ± 100g / ± 200g / ± 400g și este capabil să măsoare accelerații cu
Măsurarea accelerației folosind ADXL345 și Raspberry Pi: 4 pași
Măsurarea accelerației folosind ADXL345 și Raspberry Pi: ADXL345 este un accelerometru pe 3 axe, de putere mică, subțire, cu o rezoluție înaltă (13 biți), cu măsurare de 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ă
Măsurarea accelerației folosind ADXL345 și Arduino Nano: 4 pași
Măsurarea accelerației utilizând ADXL345 și Arduino Nano: ADXL345 este un accelerometru pe 3 axe, cu putere mică, subțire, cu o rezoluție înaltă (13 biți), măsurând 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ă