Cuprins:

Accelerometru cu 3 axe, ADXL345 cu Raspberry Pi folosind Python: 6 pași
Accelerometru cu 3 axe, ADXL345 cu Raspberry Pi folosind Python: 6 pași

Video: Accelerometru cu 3 axe, ADXL345 cu Raspberry Pi folosind Python: 6 pași

Video: Accelerometru cu 3 axe, ADXL345 cu Raspberry Pi folosind Python: 6 pași
Video: How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino 2024, Noiembrie
Anonim
Accelerometru pe 3 axe, ADXL345 cu Raspberry Pi folosind Python
Accelerometru pe 3 axe, ADXL345 cu Raspberry Pi folosind Python

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

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

Conectarea hardware-ului
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. 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

Codificare Python pentru Raspberry Pi
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

Practicitatea codului
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: