Kazalo:
- 1. korak: Registracija za astronomske informacije
- Korak: Komponente
- Korak: Računalniška programska oprema
- 4. korak: Vezje
- 5. korak: Koda
- 6. korak: Končna montaža
Video: Brezžični lunarni sledilnik faz: 6 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Lunarni sledilnik faze je majhna, polprenosna naprava, ki vam omogoča zbiranje kritičnih informacij o Luni. Naprava poroča o parametrih, kot so vidna osvetlitev, faza, čas vzpona lune in nastavljeni časi itd.
Ta naprava je bistvena za vsakogar, ki se zanima za znanost ali astronomijo in zagotavlja odlično dekoracijo namizne pisarne in je zagotovo začetnik pogovora.
Projekt je dokaj preprost in zahteva internetno povezano napravo, kot je ESP32, vendar lahko kodo vedno prilagodite za delo s ščitom WiFi, Ethernet ščitom ali katero koli drugo internetno povezano napravo, ki jo imate. Lunarni sledilnik faz je bil zasnovan tako, da deluje z litij-polimernimi baterijami in zelo energetsko učinkovitim zaslonom z e-črnilom, ki ne ponuja le čudovitega zaslona, ampak zadrži tudi zadnjo sliko, tudi če se napajanje izklopi!
1. korak: Registracija za astronomske informacije
Ta korak je nujen (čeprav dolgočasen), saj za zbiranje podatkov uporabljamo spletni API. Čeprav je mogoče izračunati lunine faze, osvetlitev itd., Je to dolgočasno opravilo. API, ki ga uporabljamo, zagotavlja najnovejše informacije iz vremenskih postaj v živo in sistemov za spremljanje, tako da so podatki, ki jih prejmemo, rezultati iz resničnega sveta in ne tisti iz izračunanih vrednosti.
Pojdite na Weather Underground, kliknite »prijava« in vnesite vse svoje podatke. Račun je popolnoma brezplačen, prav tako tudi klici API -ja, če ne zahtevate preveč rezultatov na minuto ali presežete 500 zahtev na dan. To stran označite z zaznamki, vedno se lahko vrnete pozneje in uporabite API za statistiko vremena in druge odlične informacije. Ko ustvarite svoj račun, pojdite na spletno mesto API -ja, kliknite na "nakup ključa" in izberite brezplačni načrt, preprosto morate vnesti nekaj podrobnosti in imeli boste težave z ID -jem ključa devoloperja. Ta ID je edinstven za vas in bi ga morali hraniti zasebno. Svoj ključ sem navedel v primeru kode Arduino, ki si ga bomo ogledali nekoliko kasneje. Več kot dobrodošli, da uporabite moj ID ključa za namene testiranja, vendar toplo priporočam, da se prijavite sami.
Ko dobite svoj edinstven ID, lahko nadaljujete z informacijami o astronomskem API -ju, ki so iskreno zelo gole. Našli boste preprost primer, ki izgleda takole:
api.wunderground.com/api/8c6dc2e5c6f36de9/a…
Ta URL je izredno pomemben, saj nam prav zaradi tega povzroča vse podatke, ki jih potrebujemo za izdelavo našega projekta. Pojdite naprej, kliknite povezavo, videli boste rezultate za Sydney, kot so faza lune, osvetlitev in druge dobre informacije. Oglejte si URL, videli bomo Sydney, Avstralija in dolgo kodo, ki se začne z "8c6dcwe …". Ta koda je vaš ključ, ki smo ga vzeli prej. Spremenite to kodo s svojim edinstvenim ID -jem in poglejte, kako to deluje, dobili bi popolnoma enak rezultat. Poskusite se poigrati z lokacijami. Zase v Južni Afriki uporabljam Johannesburg in ZA.
Korak: Komponente
Zdaj pa k zanimivim stvarem. Potrebovali bomo nekaj komponent, ne veliko in nobena od njih ni izredno draga, za komponente, ki sem jih uporabil, pa sem dal povezave Amazon. Ne pozabite, da če dobro programirate, uporabite kateri koli zaslon ali internetno napravo, ki jo imate na voljo. Za izdelavo sem uporabil naslednje:
Waveshare E-Ink SPI 4,2-palčni zaslon SPI
- Razvojna plošča ESP32 (splošna)
- Adafruit Power Boost 500
- Lipo baterija 5000mAh
- Stripboard (protoboard)
Morda boste potrebovali osnovna orodja, kot so:
- Spajkalnik
- Spajkanje
- Multimeter
- Čeljusti
- Vrtalnik za ločevanje sledi na protoboardu
- Žica
- Odseki žice
- Lepilo (vroče lepilo bo delovalo)
- Prenosni računalnik z nameščenim Arduino IDE
Edino napredno orodje, ki ga boste morda potrebovali, je 3D -tiskalnik za izdelavo ohišja. Če ga nimate, je to v redu, naredite ohišje iz lesa in ročnih žag ali česar koli, kar imate na voljo. In ja, moj 3D tiskalnik je star in prašen lol.
Korak: Računalniška programska oprema
Preden lahko začnemo delati na vezju in programiranju, bomo najprej potrebovali najnovejšo različico Arduino IDE, ki jo najdete tukaj.
Ker uporabljamo ESP32 z jedrom Arduino, ga bomo morali namestiti v Arduino IDE. Sledite temu preprostemu vodniku iz Githuba, ki vam pokaže, katero programsko opremo in konfiguracijo boste morali narediti, da lahko uporabite svojo ploščo za razvijalce ESP32 v Arduino IDE.
Za delovanje našega sistema bomo potrebovali tudi dve dodatni knjižnici. Prva je knjižnica Arduino JSON, ki nam omogoča branje in razčlenjevanje zahtev JSON, kar dobimo s Weather Undergroundom. Ti dve knjižnici lahko prenesete iz mojega osebnega Dropboxa ali spodaj. Ko imate datoteke, jih izvlecite in jih postavite v mapo knjižnice Arduino. Na splošno se nahaja v knjižnicah C: / Users / YOUR_NAME / Documents / Arduino \. Prepričajte se, da znova zaženete IDE, sicer Arduino ne bo prevzel novih dodatkov. V tej mapi je tudi glavna koda Arduino SRC. Knjižnica vsebuje tudi spremenjeno različico vzorca, prikazanega na zaslonih Waveshare. Datoteke so bile spremenjene za delovanje na modulu ESP32 s svojimi GPIO -ji, jaz pa sem uvedel novo "pisavo", ki vsebuje vse slike za različne lunine faze.
4. korak: Vezje
V redu, zato je vezje za to zelo preprosto in zahteva le nekaj komponent in žic.
Splošna ideja je, da imamo polnilno vezje Lipo, pretvornik za povečanje, ki nam daje 5V, nato pa komplet za razvojni program ESP32, ki zniža napetost na 3,3 V. Ta 3.3V se uporablja tudi za zaslon Waveshare E-Ink. Da, to je nekoliko neučinkovito zaradi povečanja in nato umika z linearnim regulatorjem, vendar ESP32 deluje v zelo grozljivem napetostnem območju. Nekje okoli 2,5 - 3,6V. To ni primerno za projekte baterij, zlasti tiste, ki uporabljajo litijeve polimerne celice.
Osnovno ožičenje je naslednje:
- Povečajte 5V izhodni pretvornik Vin & GND v kompletu za razvijalce ESP32
- ESP32 3.3V 3.3V in GND zaslon z e-črnilom
- ESP32 PIN 18 CLK Zaslon z e-črnilom
- ESP32 PIN 23 DIN/MOSI zaslon z e-črnilom
- ESP32 PIN 5 Zaslon z e-črnilom CS/SS
- ESP32 PIN 32 DC E-črnilni zaslon
- ESP32 PIN 33 RST Zaslon z e-črnilom
- ESP32 PIN34 ZASLON Zaslon z e-črnilom
Vidite, da je ožičenje zelo preprosto in da so moje DIY plošče zgradile le približno 15 minut. Preden zagotovite napajanje, preverite kratki stik z multimetrom.
Odstranil sem tudi LED diode z ojačevalne plošče ESP32 in Lipo, da prihranim približno 40 mA energije v načinu mirovanja. Tako bodo baterije trajale nekoliko dlje. Če želite, lahko izvedete stikalo za vklop, vezje za varčevanje z energijo, samodejni odklop itd. Ta projekt lahko razširite in naredite tako zapletenega, kot želite.
5. korak: Koda
Kodo lahko najdete v priloženi mapi v 3. koraku ali pa datoteko.ino prenesete spodaj. Če želite, da vse deluje skupaj, morate namestiti povezane knjižnice, kot je omenjeno v 3. koraku. Za ta korak ni veliko za povedati, saj je koda dobavljena v delovnem stanju. Pred preizkusom programa vnesite svoj SSID in geslo za omrežje. Vedno lahko zaženete optično branje ESP32, da odkrijete bližnja brezžična omrežja, vendar so v mojem programu podatki o omrežju nastavljeni samo v kodi in kodi. Morda ga lahko spremenite in vprašate, v katero omrežje se želite povezati:)
Koda je dokaj preprosta in v naslednjih nekaj tednih jo bom komentiral in izboljšal. V bistvu se povežemo z omrežjem, v mojem primeru z mojim domačim omrežjem. Nato se poskušamo povezati z Weather Undergroundom in prejeti besedilo JSON s spletne strani. Knjižnica ArduinoJSON se nato uporabi za ekstrahiranje. ali razčlenite kodo JSON v matrike nizov ali nizove, ki nam omogočajo manipulacijo z vrednostmi, preden jih prikažemo uporabniku. Zadnji del kode je namenjen izključno programiranju grafičnega vmesnika in je bil narejen s poskusi in napakami. Ogledal sem si zaslon, povečal ali zmanjšal položaj sredstev in znova sprožil kodo, dokler nisem bil zadovoljen z velikostjo pisave, postavitvijo in slikami.
Za varčevanje z energijo sem uvedel rutino globokega spanja za ESP32. Privzeta vrednost je 60 sekund, vendar predlagam, da vrednost spremenite v uro ali dve, saj se posodobitve ne pojavljajo vsaj nekaj ur. Primer sprejema sekunde, zato poskrbite, da boste pretvorbe opravili pravilno.
Program Dot Factory sem uporabil tudi za ustvarjanje šestnajstih nizov za novo pisavo. Ta pisava se uporablja za ustvarjanje "slik" za lunine faze. Če želite urediti datoteko pisav, uporabite zgoraj omenjeni program za ustvarjanje. To je nekoliko zmedeno, saj knjižnica E-Ink ni dobro dokumentirana in večina mojega uspeha je bila posledica poskusov in napak. Ko bom več časa preživel s to kodo, bom posodobil Instructable, da bom zagotovil več informacij o svojih ugotovitvah.
Pisava, ki se uporablja za lunine faze, mora biti narejena v skladu s standardno postavitvijo ASCII. Če odprete font24 v glavni mapi EPD, lahko vidite postavitev, kjer je prva slika označena s presledkom, druga je "!" (klicaj) itd. Videli boste, da povlečem povezano pisavo s številko 3 ali simbolom hashtaga v zadnjem kodu kode (funkcija getLunarChar). To je zato, ker Arduino pričakuje, da bo standard ASCII od 32 do 127. Ker uporabljamo pisave, ki nimajo nobene zveze z dejanskimi pisavami, temveč grafično matriko faze lune, moramo zagotoviti, da se znak ASCII sklicuje na izbrano podobo faze lune. To pomeni, da z uporabo! znak, naša pisava lunine faze prikazuje drugo grafiko faze lune na tem seznamu. Če pogledate pisavo lunine faze, boste videli cel kup luninih faz, vse z različnimi stopnjami osvetlitve. V prihodnje bom dodal še kodo za uporabo vseh grafik, ki smo jih implementirali. Trenutno uporabljamo le nekaj, vendar so grafike že implementirane v pisavi lunine faze in jih je treba za uporabo uporabiti le v kodi.
6. korak: Končna montaža
Zadnji del izdelave in najbolj zadovoljiv je postopek montaže. Oblikoval sem in 3D natisnil ohišje, ki ustreza moji deski. Projekt je zelo DIY, ni profesionalnih PCB -jev ali enotne standardne postavitve. Večinoma je škatla, ki sem jo uporabil, dovolj velika, da sprejme kateri koli lipo polnilnik ali pretvornik za povečanje energije, ki ga izberete. Dokler zagotavljajo enako osnovno funkcionalnost, navedeno v tem navodilu, bi morali biti v redu.
Uporabil sem 4 vijake za držanje zgornje in spodnje polovice ohišja skupaj ter vroče lepilo za vgradnjo svojega DIY vezja. Za držanje baterije sem uporabil nekaj zelo majhnih kapljic lepila, če pa bi imel več časa, bi naredil nosilec po meri za vso elektroniko.
Odločil sem se tudi narediti luknjo za zaskočni gumb na hrbtni strani. To odklopi baterijo od pretvornika za povečanje, kar je koristno, če ne nameravate uporabljati naprave 24 ur na dan. Na žalost povečevalni pretvornik še vedno porablja energijo, tudi če je vaš ESP32 v načinu globokega spanja.
Na splošno sem zelo zadovoljen z rezultatom. Med uporabo ESP32 sem se veliko naučil in vidim, da ga bom v prihodnje uporabljal za različne projekte.
Če imate kakršna koli vprašanja, me vprašajte, z veseljem vam bom pomagal in če boste v tem navodilu našli napake, mi to sporočite.
EDIT: Dejansko sem CNC stroj namesto 3D tiskane različice, kar vidite na predstavljenih slikah.
EDIT: Na predstavljenih slikah vidimo polno luno z 99% osvetlitvijo. Zato se beli krog, ko luna prehaja skozi svoje značilne faze, ustrezno spreminja tudi podobo lune. Nadaljnje slike bodo naložene, ko luna napreduje skozi svoje faze, tako da lahko dobite predstavitev grafike.
Podprvak v vesoljskem izzivu
Priporočena:
Namizni sledilnik COVID19 s uro! Sledilnik z napajanjem Raspberry Pi: 6 korakov
Namizni sledilnik COVID19 s uro! Raspberry Pi Powered Tracker: Vemo, da lahko kadar koli umremo, tudi jaz lahko umrem med pisanjem te objave, navsezadnje smo jaz, ti, vsi smo smrtniki. Zaradi pandemije COVID19 se je ves svet tresel. Vemo, kako to preprečiti, ampak hej! vemo, kako moliti in zakaj moliti, ali to počnemo
Brezžični brezžični polnilnik Bluetooth: 5 korakov
Brezžični brezžični polnilnik Bluetooth: Ali imate star zvočnik Bluetooth in brezžični polnilnik? Združimo jih, da naredimo čudovit brezžični polnilnik Bluetooth
Raspberry Pi, Android, IoT in brezžični brezžični dron: 7 korakov (s slikami)
Raspberry Pi, Android, IoT in Bluetooth brezžični upravljalnik: Ta kompaktni, mobilni računalnik bo z uporabo Raspberry Pi za vgrajeno logiko ustvaril lokalna vrata, ki pretočno predvajajo video v realnem času, hkrati pa ustvarijo vtičnice Bluetooth za branje vrednosti pošlje aplikacija za Android po meri. Aplikacija se sinhronizira s t
Brezžični brezžični brezžični podaljšek USB, ki deluje na baterijo: 7 korakov (s slikami)
Brezžični brezžični Wi -Fi podaljševalnik z baterijo USB: kako neprijetno ni, če bivate v hotelu in je WiFi le slab. S podaljševalnikom WiFi lahko izboljšate pogoje, vendar tisti, ki sem jih videl, zahtevajo vtičnico, ki ni vedno na voljo. Odločil sem se, da bom obnovil nizko ceno
Pretvorite brezžični usmerjevalnik v brezžični podaljšek 2x dostopno točko: 5 korakov
Pretvorite brezžični usmerjevalnik v brezžični podaljšek 2x dostopno točko: V hiši sem imel slabo povezavo z brezžičnim internetom zaradi RSJ (kovinski nosilec v stropu) in sem želel povečati signal ali dodati dodaten podaljšek za preostanek hiše. V elektro sem videl podaljševalce za okoli 50 funtov