Cuprins:
- Pasul 1: Hardware de bază pe care îl solicităm
- Pasul 2: Conectarea hardware-ului
- Pasul 3: Codificare Python pentru Raspberry Pi
- Pasul 4: Practicitatea codului
- Pasul 5: Aplicații și caracteristici
- Pasul 6: Concluzie
Video: Accelerometru cu 3 axe, ADXL345 cu Raspberry Pi folosind Python: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Gândindu-vă la un gadget care poate verifica punctul în care Offroader-ul dvs. este înclinat spre a zăbovi. Nu ar fi unul plăcut în cazul în care cineva este adaptat atunci când există posibilitatea de a răsturna? Evident că da. Ar fi cu adevărat util persoanelor cărora le place să meargă la munte și să facă excursii în întreprindere.
Fără îndoială, o veritabilă perioadă strălucitoare de evaluare avansată a imaginii, IoT este pe noi. În calitate de iubitori de gadgeturi și programare, credem, Raspberry Pi, PC-ul micro Linux a tratat abilitățile creative ale oamenilor în general, purtând cu el o explozie în metodologiile inovatoare. Deci, care sunt rezultatele imaginabile pe care le putem face în cazul în care avem un Raspberry Pi și un accelerometru pe 3 axe în apropiere? Ar trebui să descoperim! În această sarcină, vom simți accelerația pe 3 axe, X, Y și Z folosind Raspberry Pi și ADXL345, un accelerometru pe 3 axe. Deci, ar trebui să observăm în această excursie pentru a fabrica un cadru pentru a măsura accelerația tridimensională în sus sau forța G.
Pasul 1: Hardware de bază pe care îl solicităm
Problemele au fost mai puțin pentru noi, deoarece avem o mulțime de lucruri care se întind în jurul nostru de lucru. Cu toate acestea, știm cât de dificil este ca alții să asambleze partea potrivită în timp perfect din locul oportun și acest lucru este justificat indiferent de fiecare bănuț. Așadar, vă vom ajuta în toate regiunile. Citiți următoarele pentru a obține o listă completă de piese.
1. Raspberry Pi
Pasul inițial a fost achiziționarea unei plăci Raspberry Pi. Acest computer mic, cu putere redusă, oferă o bază ieftină și, în general, simplă pentru întreprinderile electronice, Internetul obiectelor (IoT), orașele inteligente, educația școlară.
2. I2C Shield pentru Raspberry Pi
Principalul lucru care lipsește cu adevărat Raspberry Pi este un port I²C. Prin urmare, conectorul TOUTPI2 I²C vă oferă sensul de a utiliza Rasp Pi cu dispozitive MULTIPLE I²C. Este accesibil pe magazinul DCUBE
3. Accelerometru pe 3 axe, ADXL345
Fabricat de Analog Devices, ADXL345, este un accelerometru cu 3 axe de mică putere, cu măsurare de 13 biți de înaltă rezoluție de până la ± 16g. Am achiziționat acest senzor de la DCUBE Store
4. Cablu de conectare
Aveam cablul de conectare I2C accesibil la magazinul DCUBE
5. Cablu micro USB
Cel mai mic confuz, dar cel mai strict în ceea ce privește necesitatea energiei este Raspberry Pi! Cea mai simplă abordare pentru a porni Raspberry Pi este prin intermediul cablului Micro USB.
6. Accesul web este o necesitate
Accesul web poate fi împuternicit printr-un cablu Ethernet (LAN) asociat cu o rețea locală și web. Pe de altă parte, vă puteți asocia cu o rețea fără fir utilizând un dongle fără fir USB, care va necesita configurare.
7. Cablu HDMI / Acces la distanță
Cu cablul HDMI la bord, îl puteți conecta la un televizor digital sau la un monitor. Trebuie să economisesc bani! Raspberry Pi poate fi folosit de la distanță prin utilizarea unor strategii distincte, cum ar fi-SSH și acces pe web. Puteți utiliza software-ul sursă PuTTYopen.
Pasul 2: Conectarea hardware-ului
Realizați circuitul conform schemei apărute. Desenați o schiță și luați după configurare în mod deliberat.
Conexiunea Raspberry Pi și I2C Shield
Mai presus de toate, luați Raspberry Pi și localizați scutul I2C pe el. Apăsați scutul delicat peste pinii GPIO ai lui Pi și am terminat cu această progresie la fel de simplă ca plăcinta (a se vedea clipul).
Conexiunea senzorului și a Raspberry Pi
Luați senzorul și interfațați cablul I2C cu el. Pentru funcționarea corespunzătoare a acestui cablu, vă rugăm să reamintiți I2C Output întotdeauna asociate cu I2C Input. Același lucru trebuie luat după Raspberry Pi cu scutul I2C montat deasupra pinilor GPIO.
Prescriem utilizarea cablului I2C, deoarece acesta respinge cerința de examinare a pinouturilor, lipire și stare de rău cauzată chiar de cea mai mică gafă. Cu acest cablu de bază plug and play, puteți introduce, schimba dispozitivele sau adăuga cu ușurință mai multe dispozitive la o aplicație. Acest lucru face ca lucrurile să nu fie complicate.
Notă: firul maro ar trebui să urmeze în mod fiabil conexiunea la masă (GND) între ieșirea unui dispozitiv și intrarea unui alt dispozitiv
Rețeaua web este cheia
Pentru ca afacerea noastră să câștige, avem nevoie de o conexiune web pentru Raspberry Pi. Pentru aceasta, aveți alternative precum interfața unui cablu Ethernet (LAN) cu sistemul de acasă. În plus, ca opțiune, totuși, o cale utilă este utilizarea unui conector WiFi. O parte din timp pentru aceasta, aveți nevoie de un șofer pentru a-l face să funcționeze. Deci, înclinați-vă spre cel cu Linux în descriere.
Alimentare electrică
Conectați cablul Micro USB la mufa de alimentare a Raspberry Pi. Aprinde-l și suntem bine să plecăm.
Conexiune la ecran
Putem avea cablul HDMI asociat cu un alt ecran. În unele cazuri, trebuie să ajungeți la un Raspberry Pi fără a-l interfața cu un ecran sau este posibil să trebuiască să vizualizați unele date din acesta din altă parte. În mod convingător, există abordări inovatoare și conștiente din punct de vedere financiar pentru a face ca atare. Unul dintre aceștia utilizează - SSH (conectare la linie de comandă la distanță). De asemenea, puteți utiliza software-ul PuTTY pentru asta.
Pasul 3: Codificare Python pentru Raspberry Pi
Codul Python pentru senzorul Raspberry Pi și ADXL345 este accesibil în depozitul nostru Github.
Înainte de a continua cu codul, asigurați-vă că citiți instrucțiunile date în documentul Readme și configurați Raspberry Pi conform acestuia. Pur și simplu se va întrerupe un minut pentru a face ca atare.
Un accelerometru este un dispozitiv care măsoară o accelerație adecvată; accelerarea corectă nu este aceeași cu accelerarea coordonată (rata de schimbare a vitezei). Modelele cu o singură și mai multe axe ale accelerometrului sunt accesibile pentru a identifica magnitudinea și direcția accelerației corespunzătoare, ca mărime vectorială, și pot fi utilizate pentru a detecta orientarea, coordona accelerarea, vibrația, șocul și căderea într-un mediu rezistiv.
Codul este clar în fața dvs. și se află în cea mai simplă structură pe care o puteți imagina și nu ar trebui să aveți probleme.
# Distribuit cu o licență de voință liberă. # Folosiți-o î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 de pe dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modul/
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) 45) # 0x08 (08) Auto Sleep dezactivează autobuzul. interfață # Rezoluție completă, Gama = +/- 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 # X-Axis LSB, X-Axis 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)
# Citește datele înapoi de la 0x34 (52), 2 octeți # Axa Y LSB, Axa Y MSB date0 = 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 = ((data1 & 0x03) * 256) + data0 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: Practicitatea codului
Descărcați (sau git pull) codul de la Github și deschideți-l în Raspberry Pi.
Rulați comenzile pentru a compila și încărca codul în terminal și vedeți ieșirea pe monitor. După câteva momente, va afișa fiecare dintre parametri. Ulterior asigurării faptului că totul funcționează cu ușurință, puteți duce această întreprindere la o sarcină mai mare.
Pasul 5: Aplicații și caracteristici
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. ADXL345 este adecvat pentru aplicații de telefonie mobilă. Cuantifică accelerarea statică a gravitației în aplicațiile de detectare a înclinării și, în plus, accelerarea dinamică viitoare, datorită mișcării sau șocului. Alte aplicații includ telefoane, instrumente medicale, dispozitive pentru jocuri și indicare, instrumente industriale, dispozitive de navigare personale și protecție pentru unitatea de disc (HDD).
Pasul 6: Concluzie
Sper că această sarcină motivează experimentarea în continuare. Acest senzor I2C este extraordinar de flexibil, ieftin și accesibil. Deoarece este un sistem impermanent într-o mare măsură, există modalități interesante de a extinde această sarcină și de a o îmbunătăți chiar.
De exemplu, puteți începe cu ideea unui Inclinometru folosind ADXL345 și Raspberry Pi. În proiectul de mai sus, am folosit calcule de bază. Puteți improviza codul pentru valorile G, unghiurile de înclinare (sau înclinare), elevația sau depresiunea unui obiect în raport cu gravitația. Apoi, puteți verifica opțiunile avansate, cum ar fi unghiurile de rotație pentru rolă (axă față-înapoi, X), pas (ax lateral-lateral, Y) și găleată (axă verticală, Z). Acest accelerometru afișează 3-D G-Forces. Așadar, puteți utiliza acest senzor în diferite moduri pe care le puteți lua în considerare.
Pentru confortul dvs., avem un exercițiu video instructiv fascinant pe YouTube, care vă poate ajuta în investigarea dvs. Încrederea în această întreprindere motivează explorarea în continuare. Continuă să contempli! Nu uitați să căutați, deoarece continuă să apară mai multe.
Recomandat:
Raspberry Pi - Tutorial ADXL345 cu 3 axe accelerometru Python: 4 pași
Raspberry Pi - Tutorial ADXL345 cu 3 axe Accelerometru Python: ADXL345 este un accelerometru mic, subțire, cu putere foarte mică, cu 3 axe, 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ă
Raspberry Pi - Accelerometru cu 3 axe ADXL345 Tutorial Java: 4 pași
Raspberry Pi - Accelerometru cu 3 axe ADXL345 Tutorial Java: ADXL345 este un accelerometru cu 3 axe mic, subțire, cu putere foarte mică, cu 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ă
Control al mișcării cu Raspberry Pi și LIS3DHTR, accelerometru pe 3 axe, folosind Python: 6 pași
Controlul mișcării cu Raspberry Pi și LIS3DHTR, accelerometru pe 3 axe, folosind Python: frumusețea ne înconjoară, dar, de obicei, trebuie să mergem într-o grădină pentru a o cunoaște. - Rumi Ca grup educat care pare să fim, investim marea majoritate a energiei noastre lucrând înainte de computerele și telefoanele noastre mobile. Prin urmare, ne lăsăm frecvent bunăstarea
Accelerometru 3 axe Modul LIS2HH12: 10 pași (cu imagini)
Modulul LIS2HH12 cu 3 axe Accelerometru: Acest instructabil este considerat la nivel de începător, cu o anumită experiență în software-ul arduino și lipire. Modulul LIS2HH12 este realizat de Tiny9. Tiny9 este o companie nouă care începe să vândă module de senzori pentru jucători de bricolaj, companii sau inventatori. Acolo
SPI preliminar * pe Pi: comunicarea cu un accelerometru cu 3 axe SPI folosind un Raspberry Pi: 10 pași
SPI preliminar * pe Pi: Comunicarea cu un accelerometru cu 3 axe SPI Utilizarea unui Raspberry Pi: Ghid pas cu pas despre cum să configurați Raspbian și să comunicați cu un dispozitiv SPI utilizând biblioteca SPI bcm2835 (NU bit banged!) Acest lucru este încă foarte preliminar … Trebuie să adaug imagini mai bune ale legăturii fizice și să analizez un cod incomod