Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
BMA250 este un accelerometru pe 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 două bi-16 complement și sunt accesibile prin interfața digitală I2C. 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 °.
În acest tutorial vom măsura accelerația în toate cele trei axe perpendiculare folosind BMA250 și Raspberry Pi. Senzorul a fost programat în limbaj python.
Pasul 1: Hardware necesar:
Materialele de care avem nevoie pentru îndeplinirea obiectivului nostru includ următoarele componente hardware:
1. BMA250
2. Raspberry Pi
3. Cablu I2C
4. I2C Shield pentru Raspberry 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:
BMA250 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 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 BMA250 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 primul pas al codificării, trebuie să descărcați biblioteca SMBus în cazul 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ă BMA250, 0x18 (24)
# Selectați registrul de selecție a intervalului, 0x0F (15)
# 0x03 (03) Setare interval = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)
# Adresa BMA250, 0x18 (24) # Selectați registrul lățimii de bandă, 0x10 (16)
# 0x08 (08) Lățime de bandă = 7,81 Hzbus.write_byte_data (0x18, 0x10, 0x08)
time.sleep (0,5)
# Adresă BMA250, 0x18 (24)
# Citiți datele înapoi de la 0x02 (02), 6 octeți
# Axa X LSB, Axa X MSB, Axa Y LSB, Axa Y MSB, Axa Z LSB, Axa Z MSB
data = bus.read_i2c_block_data (0x18, 0x02, 6)
# Convertiți datele în 10 biți
xAccl = (data [1] * 256 + (data [0] & 0xC0)) / 64
dacă xAccl> 511:
xAccl - = 1024
yAccl = (data [3] * 256 + (data [2] & 0xC0)) / 64
dacă yAccl> 511:
yAccl - = 1024
zAccl = (date [5] * 256 + (date [4] & 0xC0)) / 64
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
Codul este executat folosind următoarea comandă:
$> python BMA250.py gt; python BMA250.py
Ieșirea senzorului este prezentată în imaginea de mai sus pentru referința utilizatorului.
Pasul 4: Aplicații:
Accelerometrele precum BMA250 își găsesc mai ales 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. BMA250 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 temperaturii folosind AD7416ARZ și Raspberry Pi: 4 pași
Măsurarea temperaturii folosind AD7416ARZ și Raspberry Pi: AD7416ARZ este un senzor de temperatură de 10 biți cu patru convertizoare analogice la un singur canal și un senzor de temperatură încorporat în acesta. Senzorul de temperatură de pe piese poate fi accesat prin canale multiplexor. Această temperatură de înaltă precizie
Monitorizarea accelerării utilizând Raspberry Pi și AIS328DQTR folosind Python: 6 pași
Monitorizarea accelerației folosind Raspberry Pi și AIS328DQTR Utilizarea Python: Accelerarea este finită, cred că, conform unor legi ale fizicii. Cea mai rapidă creatură de pe uscat își folosește din când în când ritmul maxim pentru a prinde prada
Măsurarea accelerării folosind BMA250 și Arduino Nano: 4 pași
Măsurarea accelerării utilizând BMA250 și Arduino Nano: BMA250 este un accelerometru pe 3 axe, cu putere mică, subțire, cu o rezoluție înaltă (13 biți), cu o măsurare de până la ± 16 g. Datele de ieșire digitală sunt formatate ca două bi-16 complement și sunt accesibile prin interfața digitală I2C. Măsurează staticul
Măsurarea accelerării folosind BMA250 și fotonul de particule: 4 pași
Măsurarea accelerației folosind BMA250 și fotonul de particule: BMA250 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 două bi-16 complement și sunt accesibile prin interfața digitală I2C. Măsurează staticul
Testerul valorii accelerării gravitației: 5 pași (cu imagini)
Gravity Acceleration Value Tester: Bazat pe cinematică, acest proiect măsoară valoarea constantei de accelerație a gravitației („g & rsquo”) prin măsurarea datelor despre mișcarea de cădere liberă. Prin ghidajul ecranului LCD, un obiect (cum ar fi bila de lemn) , bilă de sticlă, bilă de oțel etc.) cad