Cuprins:

Control al mișcării cu Raspberry Pi și LIS3DHTR, accelerometru pe 3 axe, folosind Python: 6 pași
Control al mișcării cu Raspberry Pi și LIS3DHTR, accelerometru pe 3 axe, folosind Python: 6 pași

Video: Control al mișcării cu Raspberry Pi și LIS3DHTR, accelerometru pe 3 axe, folosind Python: 6 pași

Video: Control al mișcării cu Raspberry Pi și LIS3DHTR, accelerometru pe 3 axe, folosind Python: 6 pași
Video: Microcontrolere, curs 10 - comunicatii SPI si senzorul accelerometric 2024, Iulie
Anonim
Image
Image
Hardware de bază pe care îl solicităm
Hardware de bază pe care îl solicităm

Frumusețea ne înconjoară, dar, de obicei, trebuie să mergem într-o grădină pentru a o cunoaște. - Rumi

În calitate de 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 să se ducă în salonul secundar, fără să găsim niciodată cu adevărat o ocazie ideală de a merge la sală sau la un curs de fitness și, de regulă, să alegem mâncăruri rapide peste alegeri mult mai benefice. Vestea înălțătoare este dacă nu aveți nevoie decât de asistență pentru păstrarea înregistrărilor sau pentru a vă monitoriza progresul, puteți utiliza inovația de astăzi pentru a fabrica un gadget pentru a vă ajuta.

Tehnologia se dezvoltă rapid. În mod consecvent, ne dăm seama de o inovație nouă care va schimba lumea și modul în care învățăm în ea. Când sunteți în PC-uri, codare și roboți sau pur și simplu vă place să jucați, există o binecuvântare tehnologică acolo. Raspberry Pi, computerul Linux cu o singură placă, este dedicat îmbunătățirii modului în care înveți cu tehnologia inovatoare, dar și cheia îmbunătățirii învățării educaționale în întreaga lume. Deci, care sunt posibilele rezultate pe care le putem face dacă avem un Raspberry Pi și un accelerometru pe 3 axe în apropiere? Ce zici să găsim asta! În această sarcină, vom verifica accelerația pe 3 axe perpendiculare, X, Y și Z utilizând Raspberry Pi și LIS3DHTR, un accelerometru pe 3 axe. Deci, ar trebui să vedem în această călătorie pentru a crea un sistem care să verifice accelerația tridimensională în sus sau forța G.

Pasul 1: Hardware de bază pe care îl solicităm

Hardware de bază pe care îl solicităm
Hardware de bază pe care îl solicităm
Hardware de bază pe care îl solicităm
Hardware de bază pe care îl solicităm

Problemele au fost mai mici pentru noi, deoarece avem o cantitate imensă de lucruri care se întind în jurul nostru de lucru. În orice caz, știm cât de dificil este ca alții să adune partea potrivită în timp imaculat din locul util și asta este apărat, luând în considerare puțin fiecare bănuț. Așadar, vă vom ajuta. Urmați însoțitorul pentru a obține o listă completă de piese.

1. Raspberry Pi

Pasul inițial a fost obținerea unei plăci Raspberry Pi. Raspberry Pi este un PC bazat pe Linux cu o singură placă. Acest mic PC are o putere semnificativă în puterea de calcul, utilizată ca parte a activităților gadgeturilor și operațiuni simple, cum ar fi foi de calcul, pregătire de cuvinte, scanare web și e-mail și jocuri.

2. I2C Shield pentru Raspberry Pi

Principala preocupare pentru care Raspberry Pi este cu adevărat absentă este un port I²C. Deci, pentru aceasta, conectorul TOUTPI2 I²C vă oferă sensul de a utiliza Rasp Pi cu ORICE dintre dispozitivele I²C. Este disponibil pe magazinul DCUBE

3. Accelerometru pe 3 axe, LIS3DHTR

LIS3DH este un accelerometru liniar cu trei axe, de înaltă performanță, de înaltă putere, aparținând familiei „nano”, cu ieșire standard interfață serială digitală I2C / SPI. Am achiziționat acest senzor de la DCUBE Store

4. Cablu de conectare

Am achiziționat cablul de conectare I2C de la magazinul DUBE

5. Cablu micro USB

Cel mai mic nedumerit, dar cel mai strict în măsura în care necesitatea de energie este Raspberry Pi! Cel mai simplu mod de a face față este prin utilizarea cablului Micro USB.

6. Accesul web este o necesitate

Copiii de pe INTERNET NU dorm niciodată

Obțineți Raspberry Pi asociat cu un cablu Ethernet (LAN) și conectați-l la routerul de rețea. Opțional, căutați un conector WiFi și utilizați unul dintre porturile USB pentru a ajunge la sistemul de la distanță. Este o decizie acerbă, simplă, mică și mizerabilă!

7. Cablu HDMI / Acces la distanță

Raspberry Pi are un port HDMI pe care îl puteți conecta în mod specific la un ecran sau televizor cu un cablu HDMI. Opțional, puteți utiliza SSH pentru a vă asocia cu Raspberry Pi de pe un computer Linux sau Macintosh de la terminal. La fel, PuTTY, un emulator de terminal gratuit și open-source sună ca o alternativă decentă.

Pasul 2: Conectarea hardware-ului

Conectarea hardware-ului
Conectarea hardware-ului
Conectarea hardware-ului
Conectarea hardware-ului
Conectarea hardware-ului
Conectarea hardware-ului

Realizați circuitul conform schemei apărute. Elaborați o diagramă și luați după schiță cu precizie. Imaginația este mai importantă decât Cunoașterea.

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.

Aprobăm utilizarea cablului I2C, deoarece anulează necesitatea examinării pinouturilor, fixării și disconfortului provocat chiar de cea mai mică înșurubare. Cu acest atașament fundamental și cablu de redare, puteți prezenta, schimba gadgeturi sau puteți adăuga mai multe gadget-uri la o aplicație în mod eficient. Acest lucru facilitează greutatea de lucru până la un nivel semnificativ.

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 efortul nostru să câștige, avem nevoie de o asociație de internet pentru Raspberry Pi. Pentru aceasta, aveți opțiuni cum ar fi interfațarea unui cablu Ethernet (LAN) conectat la rețeaua de domiciliu. În plus, ca alternativă, oricum ar fi, un curs de acomodare este să folosiți un conector USB WiFi. De regulă, aveți nevoie de un driver 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. Punch up și suntem gata.

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. Una dintre ele utilizează -SSH (conectare la linie de comandă la distanță). De asemenea, puteți utiliza software-ul PUTTY pentru asta. Acestea sunt destinate utilizatorilor avansați. Deci detaliile nu sunt incluse aici.

Pasul 3: Codificare Python pentru Raspberry Pi

Codificare Python pentru Raspberry Pi
Codificare Python pentru Raspberry Pi

Codul Python pentru senzorul Raspberry Pi și LIS3DHTR este accesibil în GithubRepository.

Înainte de a trece la cod, asigurați-vă că citiți regulile date în arhiva Readme și configurați Raspberry Pi în conformitate cu acesta. Va rămâne doar o clipă pentru a face toate lucrurile luate în considerare.

Un accelerometru este un dispozitiv electromecanic care va măsura forțele de accelerație. Aceste puteri ar putea fi statice, asemănătoare cu forța constantă a gravitației care îți trage picioarele sau ar putea fi modificabile - aduse prin mișcarea sau vibrația accelerometrului.

Însoțitorul este codul python și puteți clona și regla codul în orice mod către care vă înclinați.

# 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. # LIS3DHTR # Acest cod este conceput pentru a funcționa cu Mini-modulul LIS3DHTR_I2CS I2C disponibil de pe dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 % B2c-mini-modul /

import smbus

timpul de import

# Ia autobuzul I2C

autobuz = smbus. SMBus (1)

# Adresă LIS3DHTR, 0x18 (24)

# Selectați registrul de control1, 0x20 (32) # 0x27 (39) Mod pornit, selectarea ratei de date = 10 Hz # X, Y, bus Z-Axis enabled.write_byte_data (0x18, 0x20, 0x27) # Adresa LIS3DHTR, 0x18 (24)) # Selectați registrul de control4, 0x23 (35) # 0x00 (00) Actualizare continuă, selecție la scară completă = +/- 2G bus.write_byte_data (0x18, 0x23, 0x00)

time.sleep (0,5)

# Adresa LIS3DHTR, 0x18 (24)

# Citește datele înapoi de la 0x28 (40), 2 octeți # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Convertiți datele

xAccl = data1 * 256 + data0 dacă xAccl> 32767: xAccl - = 65536

# Adresa LIS3DHTR, 0x18 (24)

# Citește datele înapoi de la 0x2A (42), 2 octeți # Axa Y LSB, Axa Y MSB date0 = 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

# Adresa LIS3DHTR, 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

Pasul 4: Funcționalitatea codului

Funcționabilitatea codului
Funcționabilitatea 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 a vedea randamentul pe ecran. Luând după câteva minute, va demonstra fiecare dintre parametri. Ca urmare a garantării că totul funcționează fără efort, puteți duce această îndrăzneală la o întreprindere mai demnă de remarcat.

Pasul 5: Aplicații și caracteristici

Fabricat de STMicroelectronics, LIS3DHTR are scări complete selectabile în mod dinamic de ± 2g / ± 4g / ± 8g / ± 16g și este capabil să măsoare accelerații cu rate de date de ieșire de la 1Hz la 5kHz. LIS3DHTR este adecvat pentru funcțiile activate de mișcare și pentru detectarea căderii libere. 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 recunoașterea clicurilor / clicurilor duble, economisirea energiei inteligente pentru dispozitivele portabile, pedometru, orientarea afișajului, dispozitivele de intrare pentru jocuri și realitate virtuală, recunoașterea impactului și înregistrarea și monitorizarea și compensarea vibrațiilor.

Pasul 6: Concluzie

Încrederea în această întreprindere stimulează experimentarea în continuare. Acest senzor I2C este extrem de adaptabil, modest și disponibil. Deoarece este un cadru impermanent într-un grad minunat, 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 pedometru folosind LIS3DHTR și Raspberry Pi. În sarcina de mai sus, am folosit calcule fundamentale. Accelerarea poate fi parametrul relevant pentru a analiza starea de mers pe jos. Puteți verifica cele trei componente ale mișcării pentru o persoană care sunt înainte (role, X), laterale (pitch, Y) și verticale (ax de gălăgie, Z). Este înregistrat un model tipic pentru toate cele 3 axe. Cel puțin o axă va avea valori de accelerație periodice relativ mari. Deci direcția de vârf și un algoritm sunt esențiale. Ținând cont de parametrii pașilor (filtru digital, detectare vârfuri, fereastră de timp etc.) ai acestui algoritm, puteți recunoaște și număra pași, precum și măsura distanța, viteza și, într-o măsură, caloriile arse. Așadar, puteți utiliza acest senzor în diferite moduri pe care le puteți lua în considerare. Avem încredere că vă place tuturor! Vom încerca să realizăm o redare funcțională a acestui pedometru mai devreme decât mai târziu, configurația, codul, partea care calculează mijloacele de separare a mersului și alergării și a caloriilor arse.

Pentru consolare, avem un videoclip interesant pe YouTube care vă poate ajuta la examinare. Încrederea în această întreprindere motivează explorarea în continuare. Continuați să meditați! Amintiți-vă să căutați după cum apar mai mult.

Recomandat: