
Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04



Obiectele cu LED-uri mă fascinează întotdeauna. Prin urmare, acest proiect de a combina popularul senzor digital de busolă HMC5883L cu 48 de LED-uri. Prin plasarea LED-urilor într-un cerc, ledul care luminează este direcția în care vă îndreptați. La fiecare 7,5 grade va conduce un nou LED care oferă rezultate detaliate.
Placa GY-86 oferă și un senzor de presiune barometrică MS5611. Cu ajutorul acestui senzor este posibil să se calculeze altitudinea. Datorită rezoluției ridicate, este perfect pentru altimetri.
Senzorul MPU6050 de pe placa GY-86 are atât un accelerometru pe 3 axe, cât și un giroscop pe 3 axe. Giroscopul poate măsura viteza poziției unghiulare în timp. Accelerometrul poate măsura accelerația gravitațională și prin utilizarea matematicii trigonometrice este posibil să se calculeze unghiul la care este poziționat senzorul. Combinând datele accelerometrului și giroscopului este posibil să obțineți informații despre orientarea senzorului. Aceasta poate fi utilizată pentru compensarea înclinării pentru busola HMC5883L (de făcut).
Videoclipurile cu instrucțiuni scurte din acest instructable vor explica în detaliu cum funcționează. Procedurile de calibrare sunt automatizate, astfel încât succesul este garantat. Temperatura este disponibilă în Celsius (implicit) sau Fahrenheit.
A se distra !!
Pasul 1: Altimetru


Altimetrul folosește senzorul de presiune barometrică MS5611. Altitudinea poate fi determinată pe baza măsurării presiunii atmosferice. Cu cât altitudinea este mai mare, cu atât este mai mică presiunea. La pornire, altimetrul folosește presiunea implicită la nivelul mării de 1013,25 mbar. Apăsând butonul de la pinul 21, presiunea din locația dvs. va fi utilizată ca referință. În acest fel, este posibilă măsurarea aproximativă a înălțimii pe care o are ceva (de exemplu, atunci când conduci în sus cu o mașină).
Așa-numita „formulă hipsometrică” este utilizată în acest proiect. Această formulă folosește temperatura pentru a compensa măsurarea.
float alt=((powf (sursă / ((float) P / 100.0), 0.19022256) - 1.0) * ((float) TEMP / 100 + 273.15)) / 0.0065;
Puteți găsi mai multe despre formula hipsometrică aici:
Formula hipometrică
Datele de calibrare din fabrică și temperatura senzorului sunt citite din senzorul MS5611 și aplicate codului pentru a obține cele mai precise măsurători. În timpul testului am constatat că senzorul MS5611 este sensibil la fluxurile de aer și la diferențele de intensitate a luminii. Trebuie să fie posibil să obțineți rezultate mai bune decât în acest videoclip cu instrucțiuni.
Pasul 2: Piese
1 x Microchip 18f26k22 microcontroler 28-PIN PDIP
3 x MCP23017 16-Bit I / O Expander 28-pin SPDIP
48 x LED-uri de 3 mm
1 x modul GY-86 cu senzori MS5611, HMC5883L și MPU6050
1 x SH1106 OLED 128x64 I2C
1 x condensator ceramic 100nF
Rezistor 1 x 100 Ohm
Pasul 3: Diagrama circuitului și PCB

Totul se potrivește pe un PCB cu o singură față. Găsiți aici fișierele Eagle și Gerber, astfel încât să le puteți crea singur sau să întrebați un producător de PCB.
Folosesc busola LED și altimetrul din mașină și folosesc interfața OBD2 ca sursă de alimentare. Microcontrolerul se potrivește perfect în conector.
Pasul 4: Cum să aliniați perfect LED-urile într-un cerc în câteva secunde cu software-ul Eagle PCB Design

Trebuie să vedeți această caracteristică foarte frumoasă în software-ul Eagle PCB Design, care vă economisește ore de muncă. Cu această caracteristică Eagle puteți alinia perfect LED-urile într-un cerc în câteva secunde.
Doar faceți clic pe fila „Fișier” și apoi „Rulați ULP”. De aici faceți clic pe „cmd-draw.ulp”. Selectați „Mutare”, „grad grad” și „Cerc”. Completați numele primului LED în câmpul „nume”. Setați coordonatele centrului cercului pe grilă la câmpurile „X center coord” și „Y center coord”. În acest proiect sunt 48 de LED-uri deci 360 împărțit la 48 face 7,5 pentru câmpul "Unghi pas". Raza acestui cerc este de 1,4 inci. Apăsați Enter și aveți un cerc perfect de LED-uri.
Pasul 5: Procesul de calibrare a busolei

HMC5883L include un ADC de 12 biți care permite precizia de direcție a busolei de la 1 la 2 grade Celsius. Dar, înainte de a oferi date utilizabile, trebuie să fie calibrate. Pentru ca acest proiect să funcționeze fără probleme, există această metodă de calibrare care oferă offset x și y. Nu este cea mai sofisticată metodă, dar este suficientă pentru acest proiect. Această procedură vă va costa doar câteva minute și vă va oferi rezultate frumoase.
Prin încărcarea și rularea acestui software veți fi ghidați în acest proces de calibrare. Afișajul OLED vă va spune când va începe procesul și când se va termina. Acest proces de calibrare vă va cere să rotiți senzorul la 360 de grade, în timp ce îl țineți absolut plat (orizontal față de sol). Montați-l pe un trepied sau așa ceva. A face acest lucru ținându-l în mână nu funcționează. La final, compensările vor fi prezentate pe OLED. Dacă executați această procedură de mai multe ori, trebuie să vedeți rezultate aproape egale.
Opțional, datele colectate sunt disponibile și prin RS232 prin pinul 27 (9600 baud). Folosiți doar un program terminal precum Putty și colectați toate datele din fișierul jurnal. Aceste date pot fi importate cu ușurință în Excel. De aici puteți vedea mai ușor cum arată decalajul HMC5883L.
Compensările sunt introduse în EEPROM a microcontrolerului. Acestea vor fi încărcate la pornirea software-ului busolei și altimetrului pe care le veți găsi la pasul 7.
Pasul 6: Compensați declinarea magnetică a locației dvs



Există un nord magnetic și un nord geografic (Polul Nord). Busola dvs. va urma liniile câmpului magnetic al pământului, așa că îndreaptă spre nordul magnetic. Diferența dintre nordul magnetic și nordul geografic se numește declinație magnetică. La locația mea, declinul este de doar 1 grad și 22 de minute, deci nu merită să compensați acest lucru. În alte locații, această declinare poate fi de până la 30 de grade.
Găsiți declinația magnetică la locația dvs.
Dacă doriți să compensați acest lucru (este opțional) puteți adăuga declinarea (grade și minute) în EEPROM a microcontrolerului. La locația 0x20 puteți adăuga gradele în formă hexazecimală semnată. Este semnat deoarece poate fi și o declinare negativă. La locația 0x21 puteți adăuga minutele și în formă hexazecimală.
Pasul 7: Compilați codul


Compilați acest cod sursă și programați microcontrolerul. Acest cod se compilează corect cu MPLABX IDE v5.20 și compilatorul XC8 v2.05 în modul C99 (deci includeți directoarele C99). De asemenea, fișierul hex este disponibil, astfel încât să puteți sări peste procedura de compilare. Asigurați-vă că debifați caseta de selectare „Date EEPROM activate” pentru a preveni suprascrierea datelor de calibrare (consultați pasul 5). Setați programatorul la 3,3 volți!
Conectând pinul 27 la masă obțineți temperatura în Fahrenheit.
Mulțumim lui Achim Döbler pentru biblioteca sa grafică µGUI

Locul doi în concursul de senzori
Recomandat:
Altimetru avion RC (compatibil cu telemetria Spektrum): 7 pași

RC Plane Altimeter (compatibil cu Spektrum Telemetry): Am realizat acest altimetru, astfel încât pilotul să știe că se află sub limita de 400 de picioare a aeronavelor RC din SUA. Prietenul meu era îngrijorat, deoarece nu putea spune cu certitudine că avea întotdeauna sub 400 ft și dorea asigurarea suplimentară că un senzor va
Altimetru (contor de altitudine) pe baza presiunii atmosferice: 7 pași (cu imagini)

Altimetru (contor de altitudine) pe baza presiunii atmosferice: [Edit]; Vedeți versiunea 2 la pasul 6 cu introducerea manuală a altitudinii de bază. Aceasta este descrierea clădirii unui altimetru (contor de altitudine) bazat pe un Arduino Nano și un senzor de presiune atmosferică Bosch BMP180. Designul este simplu, dar măsurătorile
Dirt-O-Meter ieftin - Altimetru audibil pe bază de Arduino de 9 USD: 4 pași (cu imagini)

Dirt Cheap Dirt-O-Meter - Altimetru audibil bazat pe Arduino de 9 dolari: Dytters (A.K.A Audimetre audibile) au salvat viețile parașutistilor atât de mulți ani. Acum, Audible Abby le va economisi și ei bani. Dytters-urile de bază au patru alarme, una la urcare și trei la coborâre. În călătoria cu avionul, parașutistii trebuie să știe când
PropVario, un variometru / altimetru DIY cu ieșire vocală pentru avioane RC: 7 pași (cu imagini)

PropVario, un variometru / altimetru DIY cu ieșire vocală pentru avioane RC: Acest instructable vă va arăta cum să construiți un Vario ieftin, care să poată vorbi altitudinea și, desigur, să trimită diferite tonuri atunci când schimbați înălțimea hidroavionului. Unele caracteristici: - voce și ton - utilizați propriile probe (de undă) în
Altimetru barometric electronic pentru baloane de stratosferă: 9 pași (cu imagini)

Altimetru barometric electronic pentru baloane de stratosferă: Echipa noastră, RandomRace.ru, lansează baloane cu heliu. Mici și mari, cu camere și fără. Lansăm mici pentru a renunța la întâmplare la punctele de control pentru competițiile de curse de aventură, iar cele mari pentru a face videoclipuri și fotografii grozave chiar din partea de sus a atmosferei