Sadržaj:
- Korak 1: Registrirajte se za astronomske informacije
- Korak 2: Komponente
- Korak 3: Računarski softver
- Korak 4: Krug
- Korak 5: Kôd
- Korak 6: Završna montaža
Video: Bežični lunarni tragač faza: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Mjesečev mjerni uređaj za faze je mali, polu-prenosivi uređaj koji vam omogućuje prikupljanje kritičnih informacija o Mjesecu. Uređaj izvještava o parametrima kao što su vidljivo osvjetljenje, faza, izlazak Mjeseca i postavljena vremena i drugo.
Ovaj uređaj je neophodan za svakoga ko se zanima za nauku ili astronomiju i pruža odličnu dekoraciju radne površine i zasigurno je pokretač razgovora.
Projekt je prilično jednostavan i zahtijeva uređaj povezan s internetom, poput ESP32, međutim uvijek možete prilagoditi kôd za rad sa WiFi štitom, Ethernet štitom ili bilo kojim drugim uređajem povezanim s internetom koji možda imate. Lunar Phase Tracker dizajniran je za rad s litij-polimernim baterijama i vrlo energetski učinkovitim ekranom s e-tintom koji ne samo da pruža prekrasan ekran za gledanje, već zadržava i zadnju sliku čak i ako se napajanje isključi!
Korak 1: Registrirajte se za astronomske informacije
Ovaj korak je apsolutno neophodan (iako dosadan) jer koristimo mrežni API za prikupljanje naših podataka. Iako je moguće izračunati mjesečeve faze, osvjetljenje itd., To je dosadan zadatak. API koji koristimo pruža najnovije informacije sa meteoroloških stanica uživo i sistema za nadzor, tako da su podaci koje primamo stvarni rezultati svijeta, a ne oni izračunatih vrijednosti.
Idite na Weather Underground, kliknite "prijavi se" i unesite sve svoje podatke. Račun je potpuno besplatan, pa tako i vaši API pozivi sve dok ne tražite previše rezultata u minuti ili premašite 500 zahtjeva dnevno. Označite ovu stranicu oznakom, uvijek se možete kasnije vratiti i koristiti API za statistiku vremena i druge sjajne informacije. Nakon što ste stvorili svoj račun, idite na web lokaciju API -ja, kliknite na "ključ za kupovinu" i odaberite besplatni plan, jednostavno morate unijeti nekoliko detalja i bit će vam problema s ID -om ključa za odvajanje. Ovaj ID je jedinstven za vas i treba ga držati privatnim. Ja sam dao svoj ključ u primjeru Arduino koda koji ćemo pogledati kasnije. Možete koristiti moj ID ključa u svrhe testiranja, ali toplo preporučujem da se sami prijavite.
Nakon što dobijete svoj jedinstveni ID, možete prijeći na informacije o Astronomy API -ju, koje su iskreno vrlo gole. Naći ćete jednostavan primjer koji izgleda ovako:
api.wunderground.com/api/8c6dc2e5c6f36de9/a…
Ovaj URL je izuzetno važan jer nas to muči sa svim podacima koji su nam potrebni za izradu našeg projekta. Samo naprijed, kliknite vezu, vidjet ćete rezultate za Sydney kao što su mjesečeva faza, osvjetljenje i druge dobre informacije. Pogledajte URL, vidjet ćemo Sydney, Australija i dugačak kod koji počinje sa "8c6dcwe …". Taj kôd je vaš ključ ključa koji smo pokupili ranije. Promijenite taj kôd sa svojim jedinstvenim ID -om i pogledajte kako to funkcionira, trebali biste dobiti potpuno isti rezultat. Pokušajte se igrati s lokacijama. Za sebe u Južnoj Africi koristim Johannesburg i ZA.
Korak 2: Komponente
Pa sada o zanimljivim stvarima. Trebat će nam nekoliko komponenti, ne mnogo, a nijedna od njih nije izuzetno skupa, a za komponente koje sam koristio dao sam Amazon veze. Imajte na umu da ako se dobro snalazite u programiranju, slobodno upotrijebite bilo koji zaslon ili internetski uređaj koji vam je na raspolaganju. Za svoju izradu koristio sam sljedeće:
Waveshare E-Ink SPI 4.2 "SPI ekran
- ESP32 ploča za razvojne programere (općenito)
- Adafruit Power Boost 500
- Lipo baterija od 5000mAh
- Stripboard (protoboard)
Možda će vam biti potrebni osnovni alati, kao što su:
- Lemilica
- Solder
- Multimetar
- Čeljusti
- Bušilica za odvajanje tragova na protoboru
- Žica
- Snips Wire
- Ljepilo (vruće ljepilo će raditi)
- Laptop sa instaliranim Arduino IDE -om
Jedini napredni alat koji vam može zatrebati je 3D pisač za izradu kućišta. Ako ga nemate, u redu je, napravite svoje kućište od drveta i ručnih pila ili bilo čega što vam je na raspolaganju. I da, moj 3D štampač je star i prašnjav. Lol.
Korak 3: Računarski softver
Prije nego što počnemo raditi na krugu i programiranju, prvo će nam trebati najnovija verzija Arduino IDE -a koja se može pronaći ovdje.
Budući da koristimo ESP32 sa Arduino jezgrom, morat ćemo instalirati ovo jezgro na Arduino IDE. Slijedite ovaj jednostavan vodič iz Github -a koji vam pokazuje koji softver i konfiguraciju trebate učiniti da biste mogli koristiti svoju ESP32 dev ploču unutar Arduino IDE -a.
Također će nam trebati dvije dodatne biblioteke da bi naš sistem funkcionirao. Prva je Arduino JSON biblioteka koja nam omogućava čitanje i raščlanjivanje JSON zahtjeva, što upravo dobijamo od Weather Undergrounda. Ove dvije biblioteke možete preuzeti sa mog ličnog Dropboxa ili dolje. Kada dobijete datoteke, ekstrahirajte ih i stavite u mapu Arduino biblioteke. Općenito se nalazi u bibliotekama C: / Users / YOUR_NAME / Documents / Arduino \. Ponovno pokrenite IDE, inače Arduino neće pokupiti nove dodatke. Glavni Arduino SRC kôd se takođe nalazi u toj fascikli. Biblioteka takođe sadrži modifikovanu verziju uzorka dobijenog sa Waveshare ekrana. Datoteke su izmijenjene za rad na modulu ESP32 sa svojim GPIO -ovima, a ja sam implementirao novi "font" koji sadrži sve slike za različite mjesečeve faze.
Korak 4: Krug
U redu, dakle, krug za ovo je izuzetno jednostavan i zahtijeva samo nekoliko komponenti i žica.
Opća ideja je da imamo sklop Lipo punjača, pretvarač za pojačanje koji nam daje 5V, a zatim i ESP32 Dev Kit koji snižava napon na 3.3V. Ovaj 3.3V se koristi i za ekran Waveshare E-Ink. Da, ovo je pomalo neučinkovito zbog jačanja, pa odstupanja linearnim regulatorom, ali ESP32 radi u vrlo užasnom rasponu napona. Negdje oko 2,5 - 3,6V. Ovo nije prikladno za projekte baterija, posebno one koje koriste litij -polimerne ćelije.
Osnovno ožičenje je sljedeće:
- Pojačajte 5V izlaz pretvarača Vin & GND na ESP32 Dev Kit
- ESP32 3.3V 3.3V i GND ekran sa e-mastilom
- ESP32 PIN 18 CLK E-Ink ekran
- ESP32 PIN 23 DIN/MOSI ekran sa e-mastilom
- ESP32 PIN 5 CS/SS E-Ink ekran
- ESP32 PIN 32 DC E-ekran sa mastilom
- ESP32 PIN 33 RST E-Ink ekran
- ESP32 PIN34 BUSY E-Ink ekran
Možete vidjeti da je ožičenje vrlo jednostavno i da je izgradnja mojih DIY ploča trebala samo 15 minuta. Obavezno provjerite ima li multimetra kratkih spojeva prije nego što da napajanje.
Uklonio sam i LED diode sa svoje ploče za pojačavanje ESP32 i Lipo kako bih uštedio oko 40 mA energije u stanju mirovanja. To će pomoći da baterije traju nešto duže. Ako želite, možete implementirati prekidač za napajanje, krug za uštedu energije, automatsko isključivanje itd. Možete proširiti ovaj projekt i učiniti ga složenijim koliko želite.
Korak 5: Kôd
Kôd se može pronaći u isporučenoj mapi tokom koraka 3 ili možete preuzeti.ino datoteku s donje strane. Morat ćete instalirati pridružene biblioteke kao što je spomenuto u koraku 3 da biste sve radili zajedno. Nema mnogo toga za reći o ovom koraku jer se kôd isporučuje u radnom stanju. Prije testiranja programa obavezno unesite svoj SSID i mrežnu lozinku, uvijek možete pokrenuti ESP32 WiFi Scan da biste otkrili sve bežične mreže u blizini. Međutim, u mom programu informacije o mreži postavljene su samo u kodu i kodu. Možda ga možete izmijeniti da pitate na koju se mrežu želite povezati:)
Kôd je prilično jednostavan i provest ću neko vrijeme komentirajući i poboljšavajući ga u sljedećih nekoliko sedmica. U osnovi se povezujemo na mrežu, u mom slučaju na moju kućnu mrežu. Zatim se pokušavamo povezati s Weather Undergroundom i primiti JSON tekst s web stranice. Biblioteka ArduinoJSON se zatim koristi za izdvajanje. ili raščlaniti, JSON kod u nizove znakova ili nizove koji nam omogućuju manipuliranje vrijednostima prije nego što ih prikažemo korisniku. Zadnji bit koda je isključivo za programiranje grafičkog sučelja i napravljen je pokušajem i greškom. Pogledao sam ekran, povećao ili smanjio poziciju imovine i ponovo pokrenuo kôd dok nisam bio zadovoljan kako izgleda veličina fonta, izgled i slike.
Implementirao sam rutinu dubokog sna za ESP32 radi uštede energije. Zadana vrijednost je 60 sekundi, ali predlažem da promijenite vrijednost na nešto poput sat ili dva jer se ažuriranja ne događaju barem nekoliko sati. Primjer prihvaća sekunde pa provjerite jeste li ispravno izvršili konverzije.
Takođe sam koristio program Dot Factory za generisanje heksadecimalnih polja za novi font. Ovaj font se koristi za generiranje "slika" za mjesečeve faze. Ako želite urediti datoteku fontova, svakako upotrijebite gore spomenuti program za generiranje. To je pomalo zbunjujuće jer biblioteka E-Ink nije dobro dokumentirana i većina moga uspjeha bila je zahvaljujući pokušaju i grešci. Kad budem više vremena provodio s ovim kodom, ažurirat ću Instructable kako bih pružio više informacija o svojim nalazima.
Font koji se koristi za mjesečeve faze mora biti urađen prema standardnom ASCII rasporedu. Ako otvorite font24 u EPD-master folderu, možete vidjeti raspored gdje je prva grafika označena praznim prostorom, druga je "!" (znak uzvika) i tako dalje. Vidjet ćete da povlačim povezani font koristeći broj 3 ili simbol hashtaga u zadnjem bitu koda (funkcija getLunarChar). To je zato što Arduino očekuje ASCII standard od 32 do 127. Budući da koristimo fontove koji nemaju nikakve veze sa stvarnim fontovima, već grafičku matricu u mjesečevoj fazi, moramo osigurati da ASCII znak upućuje na odabranu sliku mjesečeve faze. To znači da upotrebom! znak, naš font mjesečeve faze prikazuje nam drugu grafiku faze Mjeseca na toj listi. Ako pogledate font mjesečeve faze, vidjet ćete čitavu hrpu Mjesečevih faza, sve sa različitim nivoima osvjetljenja. U budućnosti ću dodati još koda kako bih koristio svu grafiku koju smo implementirali. Trenutno koristimo samo nekoliko, međutim, grafike su već implementirane u font lunarne faze i samo ih je potrebno implementirati u kôd da bi se to iskoristilo.
Korak 6: Završna montaža
Posljednji dio izrade i najzadovoljniji je proces montaže. Dizajnirao sam i 3D štampao kućište koje odgovara mojoj ploči. Projekt je vrlo "uradi sam", nema profesionalnih PCB -a ili jedinstvenog standardnog izgleda. Uglavnom je kutija koju sam koristio dovoljno velika da primi bilo koji lipo punjač ili pretvarač energije koji odlučite koristiti. Sve dok pružaju iste osnovne funkcije navedene u ovom uputstvu, trebali biste biti u redu.
Koristio sam 4 vijka za držanje gornje i donje polovice kućišta zajedno i vruće ljepilo za ugradnju vlastitog kruga "uradi sam". Koristio sam neke vrlo male kapi ljepila za držanje baterije, ali da imam više vremena, napravio bih prilagođeni držač za svu elektroniku.
Odlučio sam i napraviti rupu za zaključavajuće dugme na stražnjoj strani. Ovo odvaja bateriju od pretvarača za pojačavanje, što je korisno ako ne planirate raditi uređaj 24 sata dnevno. Nažalost, pretvarač pojačanja i dalje troši energiju čak i ako je vaš ESP32 u načinu dubokog sna.
Sve u svemu, vrlo sam zadovoljan ishodom. Puno sam naučio dok sam koristio ESP32 i mogu se vidjeti kako ga koristim za razne projekte u budućnosti.
Ako imate bilo kakvih pitanja, slobodno pitajte, bit ću vam više nego voljan pomoći, a ako pronađete bilo kakve greške u ovom uputstvu, obavijestite me.
EDIT: Zapravo sam napravio CNC mašinu malu kutiju umjesto 3D štampane verzije, što vidite na istaknutim slikama.
EDIT: Na istaknutim slikama vidimo pun mjesec sa 99% osvjetljenja. Stoga će se bijeli krug, kako Mjesec prolazi kroz svoje tipične faze, slika Mjeseca mijenjati u skladu s tim. Daljnje slike bit će učitavane kako Mjesec napreduje kroz svoje faze, tako da možete dobiti prikaz grafike.
Drugoplasirani u svemirskom izazovu
Preporučuje se:
Tragač za plivanje: 6 koraka (sa slikama)
Tragač za plivanjem: Koleu, poznatu i pod imenom Pacific Golden Plover, ugledao je kapetan Cook na Tahitiju, a zatim pet godina kasnije u svom uzgajalištu na Arktiku. Pratiti ovo putovanje pomoću GPS praćenja nije bilo moguće sve do nedavno kada je ispod 4,0 gm inst
GPS automobilski tragač sa SMS obavještenjem i otpremom podataka, na bazi Arduina, kućna automatizacija: 5 koraka (sa slikama)
GPS automobilski tragač sa SMS obavještenjem i prenosom podataka sa stvarnim govorima, baziran na Arduinu, kućna automatizacija: Napravio sam ovaj GPS praćenje prošle godine, a budući da dobro radi, sada ga objavljujem na Instructable. Povezan je s priključkom za dodatnu opremu u mom prtljažniku. GPS tracker prenosi podatke o položaju automobila, brzinu, smjer i izmjerenu temperaturu putem mobilnih podataka
Bežični Arduino robot koji koristi bežični modul HC12: 7 koraka
Bežični Arduino robot koji koristi bežični modul HC12: Hej momci, dobrodošli nazad. U svom prethodnom postu objasnio sam šta je to H mostni krug, IC upravljački program motora L293D, integrirani IC upravljački program motora L293D za pogon visokonaponskih upravljačkih programa motora i kako možete dizajnirati i napraviti vlastitu ploču upravljačkog programa motora L293D
Tragač s dvije osovine V2.0: 15 koraka (sa slikama)
Dvoosni alat za praćenje V2.0: Još 2015. godine osmislili smo Jednostavni dvostruki os pratitelj za upotrebu kao zabavni studentski ili hobi projekt. Bio je mali, bučan, pomalo kompliciran i izazvao je mnogo zaista čudnih komentara zajednice. Rečeno je, tri i po godine kasnije
Pretvorite bežični usmjerivač u bežični proširivač 2x pristupna točka: 5 koraka
Pretvorite bežični usmjerivač u bežični proširivač 2x pristupna točka: Imao sam lošu bežičnu internetsku vezu u svojoj kući zbog RSJ -a (metalni nosač u stropu) i želio sam pojačati signal ili dodati dodatni produživač za ostatak kuće. Vidio sam produživače za oko 50 funti u elektro