Turinys:

Belaidis Mėnulio fazės sekiklis: 6 žingsniai (su nuotraukomis)
Belaidis Mėnulio fazės sekiklis: 6 žingsniai (su nuotraukomis)

Video: Belaidis Mėnulio fazės sekiklis: 6 žingsniai (su nuotraukomis)

Video: Belaidis Mėnulio fazės sekiklis: 6 žingsniai (su nuotraukomis)
Video: Mėnulis, mėnulio fazės ir saulės užtemimas - Vaikų enciklopedija 2024, Lapkritis
Anonim
Belaidis Mėnulio fazės sekiklis
Belaidis Mėnulio fazės sekiklis
Belaidis Mėnulio fazės sekiklis
Belaidis Mėnulio fazės sekiklis
Belaidis Mėnulio fazės sekiklis
Belaidis Mėnulio fazės sekiklis
Belaidis Mėnulio fazės sekiklis
Belaidis Mėnulio fazės sekiklis

Mėnulio fazės sekiklis yra mažas, pusiau nešiojamas įrenginys, leidžiantis rinkti svarbią informaciją apie Mėnulį. Prietaisas praneša apie tokius parametrus kaip matomas apšvietimas, fazė, mėnulio pakilimas ir nustatytas laikas ir dar daugiau.

Šis prietaisas yra būtinas visiems, besidomintiems mokslais ar astronomija, ir puikiai puošia darbalaukio biurą, ir tikrai yra pokalbių pradininkas.

Projektas yra gana paprastas ir reikalauja prie interneto prijungto įrenginio, pvz., ESP32, tačiau kodą visada galite pritaikyti darbui su „WiFi“ekranu, „Ethernet“ekranu ar bet kuriuo kitu prie interneto prijungtu įrenginiu. Mėnulio fazės sekimo priemonė buvo sukurta taip, kad veiktų iš ličio polimerų baterijų ir labai energiją taupančio „E-ink“ekrano, kuris ne tik suteikia nuostabų vaizdą, bet ir išsaugo paskutinį vaizdą, net jei maitinimas nutrūksta!

1 žingsnis: registracija astronomijos informacijai

Registracija astronomijos informacijai
Registracija astronomijos informacijai
Registracija astronomijos informacijai
Registracija astronomijos informacijai

Šis žingsnis yra absoliučiai būtinas (nors ir nuobodus), nes informacijai rinkti naudojame internetinę API. Nors galima apskaičiuoti mėnulio fazes, apšvietimą ir pan., Tai varginanti užduotis. Mūsų naudojama API teikia naujausią informaciją iš tiesioginių orų stočių ir stebėjimo sistemų, todėl gaunami duomenys yra realaus pasaulio rezultatai, o ne apskaičiuotos vertės.

Eikite į „Weather Underground“, spustelėkite „užsiregistruoti“ir užpildykite visą informaciją. Paskyra yra visiškai nemokama, taip pat ir jūsų API skambučiai, jei neprašote per daug rezultatų per minutę arba viršijate 500 užklausų per dieną. Įsitikinkite, kad pažymėjote šį puslapį, visada galite sugrįžti vėliau ir naudoti API, kad gautumėte orų statistiką ir kitą puikią informaciją. Sukūrę paskyrą, eikite į API svetainę, spustelėkite „pirkimo raktas“ir pasirinkite nemokamą planą, tereikia įvesti keletą detalių ir iškils problemų dėl devoloper rakto ID. Šis asmens tapatybės dokumentas yra unikalus ir turėtų būti laikomas privačiu. Aš pateikiau savo raktą „Arduino“kodo pavyzdyje, kurį apžvelgsime šiek tiek vėliau. Kviečiame naudoti mano rakto ID bandymams, bet labai rekomenduoju prisiregistruoti.

Gavę unikalų ID, galite pereiti prie Astronomy API informacijos, kuri, tiesą sakant, yra labai plika. Rasite paprastą pavyzdį, kuris atrodo taip:

api.wunderground.com/api/8c6dc2e5c6f36de9/a…

Šis URL yra nepaprastai svarbus, nes būtent dėl to mes gauname visą informaciją, reikalingą mūsų projektui įgyvendinti. Pirmyn, spustelėkite nuorodą, pamatysite Sidnėjaus rezultatus, tokius kaip mėnulio fazė, apšvietimas ir kita gera informacija. Pažvelkite į URL, pamatysime Sidnėjų, Australiją ir ilgą kodą, prasidedantį „8c6dcwe…“. Šis kodas yra jūsų rakto ID, kurį gavome anksčiau. Pakeiskite šį kodą naudodami savo unikalų ID ir pamatysite, kaip tai veikia, turėtumėte gauti tą patį rezultatą. Pabandykite žaisti su vietomis. Sau Pietų Afrikoje naudoju Johanesburgą ir ZA.

2 žingsnis: komponentai

Komponentai
Komponentai
Komponentai
Komponentai
Komponentai
Komponentai

Taigi dabar apie įdomius dalykus. Mums reikės kelių komponentų, nedaug ir nė vienas iš jų nėra labai brangus, ir aš pateikiau „Amazon“nuorodas naudojamiems komponentams. Atminkite, kad jei gerai mokate programuoti, nedvejodami naudokite bet kurį turimą ekraną ar interneto įrenginį. Savo statybai naudojau šiuos dalykus:

„Waveshare E-Ink SPI“4,2 colio SPI ekranas

  • ESP32 kūrėjų lenta (bendra)
  • „Adafruit Power Boost 500“
  • 5000 mAh „Lipo“akumuliatorius
  • Stripboard (protoboard)

Jums tikrai reikės pagrindinių įrankių, tokių kaip:

  • Lituoklis
  • Lituoklis
  • Multimetras
  • Apkabos
  • Gręžtuvas, skirtas atskirti takelius protoboarde
  • Viela
  • Vielos įtrūkimai
  • Klijai (karšti klijai tiks)
  • Nešiojamasis kompiuteris su įdiegtu „Arduino IDE“

Vienintelis pažangus įrankis, kurio jums gali prireikti, yra 3D spausdintuvas, skirtas korpusui pagaminti. Jei to neturite, tai gerai, padarykite savo korpusą iš medžio ir rankinių pjūklų ar bet ko, ką turite. Taip, mano 3D spausdintuvas yra senas ir dulkėtas.

3 žingsnis: Kompiuterio programinė įranga

Prieš pradėdami dirbti su grandine ir programuoti, mums pirmiausia reikės naujausios „Arduino IDE“versijos, kurią rasite čia.

Kadangi mes naudojame ESP32 su „Arduino“branduoliu, turėsime įdiegti šį branduolį „Arduino IDE“. Vykdykite šį paprastą „Github“vadovą, kuriame parodyta, kokia programinė įranga ir konfigūracija jums reikės, kad galėtumėte naudoti savo „ESP32 dev“plokštę „Arduino IDE“.

Mums taip pat reikės dviejų papildomų bibliotekų, kad mūsų sistema veiktų. Pirmasis yra „Arduino JSON“biblioteka, leidžianti mums skaityti ir išanalizuoti JSON užklausas, būtent tai, ką gauname iš „Weather Underground“. Šias dvi bibliotekas galite atsisiųsti iš mano asmeninio „Dropbox“arba žemiau. Kai turėsite failus, išskleiskite juos ir įdėkite į „Arduino“bibliotekos aplanką. Paprastai ji yra C: / Users / YOUR_NAME / Documents / Arduino / bibliotekose. Būtinai iš naujo paleiskite IDE, kitaip „Arduino“nepriims naujų priedų. Šiame aplanke taip pat yra pagrindinis „Arduino SRC“kodas. Bibliotekoje taip pat yra modifikuota pavyzdžio versija, pateikta „Waveshare“ekranuose. Failai buvo pakeisti, kad jie būtų paleisti ESP32 modulyje su jų GPIO, ir aš įdiegiau naują „šriftą“, kuriame yra visi vaizdai įvairioms mėnulio fazėms.

4 žingsnis: grandinė

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Gerai, todėl grandinė yra labai paprasta ir reikalauja tik kelių komponentų ir laidų.

Bendra idėja yra ta, kad mes turime „Lipo“įkroviklio grandinę, padidinimo keitiklį, kuris mums suteikia 5 V, o tada „ESP32 Dev Kit“, kuris sumažina įtampą iki 3,3 V. Šis 3.3V taip pat naudojamas „Waveshare E-Ink“ekranui. Taip, tai yra šiek tiek neveiksminga dėl padidinimo, tada nusileidimo naudojant linijinį reguliatorių, tačiau ESP32 veikia labai siaubingame įtampos diapazone. Kažkur apie 2,5-3,6 V. Tai netinka akumuliatorių projektams, ypač tiems, kuriuose naudojami ličio polimeriniai elementai.

Pagrindinė elektros instaliacija yra tokia:

  • Padidinkite keitiklio 5V išvestį Vin & GND ESP32 Dev Kit
  • ESP32 3.3V 3.3V & GND elektroninio rašalo ekranas
  • ESP32 PIN 18 CLK elektroninio rašalo ekranas
  • ESP32 PIN 23 DIN/MOSI elektroninio rašalo ekranas
  • ESP32 PIN 5 CS/SS elektroninio rašalo ekranas
  • ESP32 PIN 32 DC elektroninio rašalo ekranas
  • ESP32 PIN 33 RST elektroninio rašalo ekranas
  • ESP32 PIN34 užimtas elektroninio rašalo ekranas

Matote, kad laidai yra labai paprasti, o mano „pasidaryk pats“plokštės buvo sukurtos tik apie 15 minučių. Prieš tiekdami maitinimą, būtinai patikrinkite, ar nėra trumpojo jungimo su multimetru.

Taip pat pašalinau šviesos diodus iš savo ESP32 ir „Lipo Boost“plokštės, kad miego režimu sutaupytumėte apie 40 mA energijos. Tai padės baterijoms tarnauti šiek tiek ilgiau. Jei norite, galite įdiegti maitinimo jungiklį, energijos taupymo grandinę, automatinį atjungimą ir pan. Galite išplėsti šį projektą ir padaryti jį tokį sudėtingą, kokio norite.

5 žingsnis: Kodas

Kodas
Kodas
Kodas
Kodas
Kodas
Kodas
Kodas
Kodas

Kodą galite rasti pateiktame aplanke atlikdami 3 veiksmą arba galite atsisiųsti.ino failą iš apačios. Kad viskas veiktų kartu, turėsite įdiegti susijusias bibliotekas, kaip nurodyta 3 veiksme. Šiam žingsniui nėra daug ką pasakyti, nes kodas pateikiamas veikiant. Prieš bandydami programą būtinai įveskite savo SSID ir tinklo slaptažodį, visada galite paleisti ESP32 „WiFi Scan“, kad aptiktų netoliese esančius belaidžius tinklus, tačiau mano programoje tinklo informacija nustatyta tik kodu ir kodu. Galbūt galite jį pakeisti ir paklausti, prie kokio tinklo norite prisijungti:)

Kodas yra gana paprastas ir per kelias ateinančias savaites praleisiu šiek tiek laiko jį komentuodamas ir tobulindamas. Mes iš esmės prisijungiame prie tinklo, mano atveju, mano namų tinklo. Tada mes bandome prisijungti prie „Weather Underground“ir gauti JSON tekstą iš tinklalapio. Tada išgauti naudojama „ArduinoJSON“biblioteka. arba išanalizuoti, JSON kodą į char masyvus ar eilutes, kurios leidžia mums manipuliuoti reikšmėmis prieš rodant jį vartotojui. Paskutinis kodo bitas yra skirtas tik GUI programavimui ir buvo atliktas bandymų ir klaidų būdu. Pažvelgiau į ekraną, padidinau arba sumažinau turto poziciją ir vėl paleidžiau kodą, kol buvau patenkintas šrifto dydžiu, išdėstymu ir vaizdais.

Įdiegiau gilaus miego režimą, kad ESP32 taupytų energiją. Numatytasis yra 60 sekundžių, tačiau siūlau pakeisti vertę į maždaug valandą ar dvi, nes atnaujinimai neįvyksta bent kelias valandas. Pavyzdys priima sekundes, todėl įsitikinkite, kad tinkamai atlikote konversijas.

Aš taip pat naudojau „The Dot Factory“programą, kad sugeneruočiau šešiakampius masyvus naujam šriftui. Šis šriftas naudojamas Mėnulio fazių „vaizdams“generuoti. Jei norite redaguoti šriftų failą, būtinai naudokite aukščiau nurodytą programą generavimui. Tai šiek tiek painu, nes „E-Ink“biblioteka nėra gerai dokumentuota ir didžiąją dalį mano sėkmės lėmė bandymai ir klaidos. Kai praleisiu daugiau laiko su šiuo kodu, atnaujinsiu „Instructable“, kad pateikčiau daugiau informacijos apie savo išvadas.

Mėnulio fazėms naudojamas šriftas turi būti sudarytas pagal standartinį ASCII išdėstymą. Jei atidarote font24 EPD-master aplanke, galite pamatyti išdėstymą, kuriame 1-oji grafika yra pažymėta tuščia erdve, o antroji-"!" (šauktukas) ir pan. Pamatysite, kad aš ištraukiu susijusį šriftą naudodami skaičių 3 arba hashtag simbolį paskutiniame kodo bite (funkcija getLunarChar). Taip yra todėl, kad „Arduino“tikisi ASCII standarto nuo 32 iki 127. Kadangi naudojame šriftus, kurie neturi nieko bendro su tikrais šriftais, o mėnulio fazės grafinę matricą, turime užtikrinti, kad ASCII simbolis nurodytų mūsų pasirinktą mėnulio fazės vaizdą. Tai reiškia, kad naudojant! ženklas, mūsų mėnulio fazės šriftas rodo mums antrą mėnulio fazės grafiką tame sąraše. Jei pažvelgsite į mėnulio fazės šriftą, pamatysite visą krūvą mėnulio fazių, kurių apšvietimas yra skirtingas. Ateityje pridėsiu daugiau kodo, kad galėčiau pasinaudoti visa mūsų įdiegta grafika. Šiuo metu mes naudojame tik keletą, tačiau grafika jau yra įdiegta mėnulio fazės šriftu ir ją reikia tik įterpti į kodą, kad ja būtų galima pasinaudoti.

6 žingsnis: galutinis surinkimas

Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas

Paskutinė ir labiausiai patenkinanti konstrukcijos dalis yra surinkimo procesas. Suprojektavau ir 3D atspausdinau korpusą, kuris tinka mano plokštei. Projektas yra labai „pasidaryk pats“, nėra profesionalių PCB ar vieno standartinio išdėstymo. Dažniausiai mano naudojama dėžutė yra pakankamai didelė, kad tilptų bet koks lipo įkroviklis ar padidinimo keitiklis, kurį pasirinkote naudoti. Kol jie teikia tas pačias pagrindines funkcijas, paminėtas šioje instrukcijoje, jums turėtų būti gerai.

Aš naudoju 4 varžtus, kad laikyčiau viršutinę ir apatinę gaubto pusę kartu, ir karštus klijus savo „pasidaryk pats“grandinei pritvirtinti. Aš naudoju labai mažus lašus klijų, kad laikyčiau akumuliatorių, bet jei turėčiau daugiau laiko, būčiau padaręs pasirinktinį laikiklį visai elektronikai.

Aš taip pat nusprendžiau padaryti skylę užrakto mygtukui gale. Tai atjungia akumuliatorių nuo padidinimo keitiklio, o tai naudinga, jei neplanuojate įrenginio veikti visą parą. Deja, padidinimo keitiklis vis tiek naudoja energiją, net jei jūsų ESP32 veikia gilaus miego režimu.

Apskritai esu labai patenkinta rezultatu. Naudodamasi ESP32, daug išmokau ir matau, kaip ateityje ją naudosiu įvairiems projektams.

Jei turite kokių nors klausimų, nedvejodami klauskite, aš mielai padėsiu ir jei radote klaidų šioje instrukcijoje, praneškite man.

Redaguoti: Aš iš tikrųjų padariau CNC mašiną, o ne 3D spausdintą versiją, kurią matote pateiktose nuotraukose.

REDAGUOTI: Rodomuose vaizduose matome pilnatį su 99% apšvietimu. Taigi baltas apskritimas, mėnuliui einant būdingomis fazėmis, atitinkamai pasikeis mėnulio vaizdas. Kiti vaizdai bus įkelti, kai mėnulis eina per savo fazes, kad galėtumėte pamatyti grafiką.

Kosmoso iššūkis
Kosmoso iššūkis
Kosmoso iššūkis
Kosmoso iššūkis

Antroji vieta kosmoso iššūkyje

Rekomenduojamas: