Sisukord:
- Samm: kõrgusmõõtur
- 2. samm: osad
- Samm: vooluahela skeem ja trükkplaat
- 4. samm: kuidas LED -id täiuslikult joondada ringis sekunditega Eagle PCB disainitarkvaraga
- Samm: kompassi kalibreerimisprotsess
- Samm: kompenseerige oma asukoha magnetilist deklinatsiooni
- Samm: koostage kood
Video: LED -kompass ja altimeeter: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Valgusdioodidega objektid võluvad mind alati. Seetõttu ühendab see projekt populaarse digitaalse kompassianduri HMC5883L ühendamise 48 LED -iga. Asetades valgusdioodid ringi, on valgustatud LED suund, kuhu te suundute. Iga 7,5 kraadi käivitab uue LED -i, mis annab üksikasjalikke tulemusi.
Tahvel GY-86 pakub ka õhurõhu andurit MS5611. Selle anduri abil on võimalik kõrgust arvutada. Suure eraldusvõime tõttu sobib see ideaalselt kõrguse mõõtmiseks.
GY-86 plaadil oleval MPU6050 anduril on nii 3-teljeline kiirendusmõõtur kui ka 3-teljeline güroskoop. Güroskoop suudab mõõta nurgaasendi kiirust aja jooksul. Kiirendusmõõtur saab mõõta gravitatsioonikiirendust ja trigonomeetria abil saab arvutada anduri paigutusnurga. Kiirendusmõõturi ja güroskoobi andmete ühendamisel on võimalik saada teavet anduri orientatsiooni kohta. Seda saab kasutada kompassi HMC5883L kaldenurga kompenseerimiseks (teha).
Selle juhendi lühikesed juhendvideod selgitavad üksikasjalikult, kuidas see toimib. Kalibreerimisprotseduurid on automatiseeritud, nii et edu on tagatud. Temperatuur on saadaval Celsiuse järgi (vaikimisi) või Fahrenheiti järgi.
Lõbutse hästi !!
Samm: kõrgusmõõtur
Kõrgusmõõtur kasutab õhurõhu andurit MS5611. Kõrgust saab määrata atmosfäärirõhu mõõtmise põhjal. Mida suurem on kõrgus, seda madalam on rõhk. Käivitamisel kasutab altimeeter vaikimisi merepinna rõhku 1013,25 mbar. Vajutades nuppu tihvti 21 juures, kasutatakse võrdluseks teie asukoha rõhku. Sel viisil on võimalik ligikaudu mõõta, kui kõrge on miski (nt autoga ülesmäge sõites).
Selles projektis kasutatakse nn hüpsomeetrilist valemit. See valem kasutab mõõtmise kompenseerimiseks temperatuuri.
ujuk alt=(((pulber (allikas / ((ujuk) P / 100,0), 0,19022256) - 1,0) * ((ujuk) TEMP / 100 + 273,15)) / 0,0065;
Lisateavet hüpsomeetrilise valemi kohta leiate siit:
Hüpsomeetriline valem
Tehase kalibreerimisandmed ja anduri temperatuur loetakse MS5611 andurilt ja rakendatakse koodile, et saada kõige täpsemaid mõõtmisi. Katse käigus leidsin, et MS5611 andur on tundlik õhuvoolude ja valguse intensiivsuse erinevuste suhtes. Peab olema võimalik saada paremaid tulemusi kui käesolevas juhendvideos.
2. samm: osad
1 x mikrokiip 18f26k22 28-PIN PDIP mikrokontroller
3 x MCP23017 16-bitine I/O Expander 28-pin SPDIP
48x LED 3mm
1 x GY-86 moodul MS5611, HMC5883L ja MPU6050 anduritega
1 x SH1106 OLED 128x64 I2C
1 x keraamiline kondensaator 100 nF
1 x 100 oomi takisti
Samm: vooluahela skeem ja trükkplaat
Kõik sobib ühepoolsele trükkplaadile. Siit leiate failid Eagle ja Gerber, et saaksite seda ise teha või küsida trükkplaatide tootjalt.
Ma kasutan oma autos LED -kompassi ja altimeetrit ning kasutan toiteallikana OBD2 liidest. Mikrokontroller sobib ideaalselt pistikusse.
4. samm: kuidas LED -id täiuslikult joondada ringis sekunditega Eagle PCB disainitarkvaraga
Peate nägema seda tõeliselt kena funktsiooni Eagle PCB disainitarkvaras, mis säästab teie töötunde. Selle Eagle'i funktsiooni abil saate LED -id sekunditega ideaalselt ringjoonele joondada.
Lihtsalt klõpsake vahekaarti "Fail" ja seejärel "Käivita ULP". Siit klõpsake "cmd-draw.ulp". Valige "Liiguta", "astmeline samm" ja "Ring". Sisestage väljale "nimi" esimese LED -i nimi. Määrake ringi keskpunkti koordinaadid ruudustikul väljadel "X center coord" ja "Y center coord". Selles projektis on 48 LED -i, nii et 360 jagatud 48 -ga teeb välja "Nurga samm" jaoks 7,5. Selle ringi raadius on 1,4 tolli. Vajutage sisestusklahvi ja teil on täiuslik LED -ide ring.
Samm: kompassi kalibreerimisprotsess
HMC5883L sisaldab 12 -bitist ADC -d, mis võimaldab kompassi suuna täpsust 1-2 kraadi Celsiuse järgi. Kuid enne kasutatavate andmete andmist tuleb see kalibreerida. Selle projekti tõrgeteta toimimiseks on olemas see kalibreerimismeetod, mis tagab x- ja y-nihke. See ei ole kõige pehmem meetod, kuid selle projekti jaoks piisav. See protseduur maksab teile vaid paar minutit ja annab teile ilusaid tulemusi.
Selle tarkvara laadimisel ja käivitamisel juhendatakse teid selles kalibreerimisprotsessis. OLED -ekraan näitab, millal protsess algab ja millal see lõpeb. See kalibreerimisprotsess palub teil pöörata andurit 360 kraadi, hoides seda absoluutselt tasasena (maapinnaga horisontaalselt). Paigaldage see statiivile vms. Kui teete seda käes hoides, see ei toimi. Lõpus esitatakse kompenseerimised OLED -il. Kui teete seda protseduuri mitu korda, peate nägema peaaegu võrdseid tulemusi.
Valikuliselt on kogutud andmed saadaval ka RS232 kaudu tihvti 27 kaudu (9600 baud). Kasutage lihtsalt terminaliprogrammi nagu Putty ja koguge kõik logifaili andmed. Neid andmeid saab hõlpsasti Excelisse importida. Siit näete hõlpsamini, kuidas teie HMC5883L nihe välja näeb.
Nihked sisestatakse mikrokontrolleri EEPROM -i. Need laaditakse kompassi ja kõrgusemõõturi tarkvara käivitamisel, mille leiate sammust 7.
Samm: kompenseerige oma asukoha magnetilist deklinatsiooni
Seal on magnetiline põhi ja geograafiline põhi (põhjapoolus). Teie kompass järgib Maa magnetvälja jooni, nii et osutage magnetilisele põhjale. Magnetilise põhja ja geograafilise põhja vahelist erinevust nimetatakse magnetiliseks deklinatsiooniks. Minu asukohas on langus ainult 1 kraad ja 22 minutit, nii et seda ei tasu kompenseerida. Teistes kohtades võib see langus olla kuni 30 kraadi.
Leidke oma asukohast magnetiline deklinatsioon
Kui soovite seda kompenseerida (valikuline), saate lisada deklinatsiooni (kraadid ja minutid) mikrokontrolleri EEPROM -i. Asukohas 0x20 saate kraadid lisada allkirjastatud kuueteistkümnendsüsteemis. See on allkirjastatud, kuna see võib olla ka negatiivne deklinatsioon. Asukohas 0x21 saate minutid lisada ka kuueteistkümnendsüsteemis.
Samm: koostage kood
Koostage see lähtekood ja programmeerige oma mikrokontroller. See kood kompileeritakse õigesti C99 -režiimis MPLABX IDE v5.20 ja XC8 kompilaatori v2.05 abil (nii et lisage ka C99 kataloogid). Saadaval on ka kuuskantfail, nii et saate kompileerimisprotseduuri vahele jätta. Veenduge, et eemaldate märkeruudu "EEPROM -andmed lubatud", et vältida kalibreerimisandmete (vt 5. samm) ülekirjutamist. Seadke oma programmeerija 3,3 voldile!
Ühendades tihvti 27 maapinnaga, saate temperatuuri Fahrenheiti järgi.
Täname Achim Döblerit µGUI graafikakogu eest
Andurite võistluse teine koht
Soovitan:
Kuidas: Raspberry PI 4 peata (VNC) installimine RPI-pildistaja ja piltidega: 7 sammu (koos piltidega)
Kuidas: Raspberry PI 4 peata (VNC) installimine Rpi-pildistaja ja piltidega: kavatsen seda Rapsberry PI-d kasutada oma blogis hunniku lõbusate projektide jaoks. Vaadake seda julgelt. Tahtsin uuesti oma Raspberry PI kasutamist alustada, kuid mul polnud uues asukohas klaviatuuri ega hiirt. Vaarika seadistamisest oli tükk aega möödas
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
Arvuti demonteerimine lihtsate sammude ja piltidega: 13 sammu (piltidega)
Arvuti demonteerimine lihtsate sammude ja piltidega: see on juhis arvuti demonteerimiseks. Enamik põhikomponente on modulaarsed ja kergesti eemaldatavad. Siiski on oluline, et oleksite selles osas organiseeritud. See aitab vältida osade kaotamist ja ka kokkupanekut
Arduino altimeeter BMP ja SPI või I2C OLED abil: 5 sammu
Arduino kõrgusemõõtja BMP ja SPI või I2C OLED -i abil: olen pikka aega otsinud altimeetrit ja temperatuuri ühe anduri abil ning kuvanud selle SPI -põhisele OLED -ile. Kuna ma ei leidnud midagi täpset, mõtlesin, et ehitan U8glib raamatukogu abil oma. Youtubis on üks õpetus