Sadržaj:

Bežični lunarni tragač faza: 6 koraka (sa slikama)
Bežični lunarni tragač faza: 6 koraka (sa slikama)

Video: Bežični lunarni tragač faza: 6 koraka (sa slikama)

Video: Bežični lunarni tragač faza: 6 koraka (sa slikama)
Video: Камигава, династия Неон: я открываю 24 бустера в Magic The Gathering Arena 2024, Studeni
Anonim
Bežični uređaj za praćenje lunarnih faza
Bežični uređaj za praćenje lunarnih faza
Bežični uređaj za praćenje lunarnih faza
Bežični uređaj za praćenje lunarnih faza
Bežični uređaj za praćenje lunarnih faza
Bežični uređaj za praćenje lunarnih faza
Bežični uređaj za praćenje lunarnih faza
Bežični uređaj za praćenje lunarnih faza

Mjesečev mjerni uređaj za faze je mali, polu prijenosni 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 je uređaj bitan za svakoga tko se zanima za znanost ili astronomiju te pruža izvrsnu dekoraciju uredskog stola 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 zaslonom od e-tinte koji ne samo da pruža prekrasan zaslon za gledanje, već zadržava i zadnju sliku čak i ako se napajanje isključi!

Korak 1: Registrirajte se za astronomske informacije

Registracija za astronomske informacije
Registracija za astronomske informacije
Registracija za astronomske informacije
Registracija za astronomske informacije

Ovaj korak je apsolutno bitan (iako dosadan) jer za prikupljanje podataka koristimo mrežni API. Iako je moguće izračunati mjesečeve faze, osvjetljenje itd., To je dosadan zadatak. API koji koristimo pruža najnovije podatke iz meteoroloških stanica uživo i sustava za nadzor pa su podaci koje primamo stvarni rezultati svijeta, a ne oni izračunatih vrijednosti.

Idite na Weather Underground, kliknite "prijavi se" i ispunite sve svoje podatke. Račun je potpuno besplatan, pa tako i vaši API pozivi sve dok ne zatražite previše rezultata u minuti ili premašite 500 zahtjeva dnevno. Označite ovu stranicu oznakom, uvijek se možete vratiti kasnije i koristiti API za statistiku vremena i druge sjajne informacije. Nakon što ste stvorili svoj račun, idite na web mjesto API -ja, kliknite na "ključ za kupnju" i odaberite besplatni plan, jednostavno morate unijeti nekoliko detalja i bit će vam problema s ID -om ključa za prijenosnik. 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 za potrebe testiranja, ali toplo preporučujem da se sami prijavite.

Nakon što dobijete svoj jedinstveni ID, možete prijeći na informacije o API -ju astronomije, koje su iskreno vrlo gole. Naći ćete jednostavan primjer koji izgleda ovako:

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

Ovaj je URL iznimno 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 s "8c6dcwe …". Taj je kôd 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

Komponente
Komponente
Komponente
Komponente
Komponente
Komponente

Pa sada o zanimljivim stvarima. Trebat će nam nekoliko komponenti, ne mnogo, a niti jedna od njih nije iznimno skupa, a za komponente koje sam koristio dao sam Amazon veze. Imajte na umu, 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 zaslon

  • ESP32 ploča za razvojne programere (općenito)
  • Adafruit Power Boost 500
  • Lipo baterija od 5000 mAh
  • Stripboard (protoboard)

Možda će vam biti potrebni osnovni alati, kao što su:

  • Lemilica
  • Lem
  • Multimetar
  • Čeljusti
  • Bušilica za odvajanje tragova na protoboru
  • Žica
  • Isječci žice
  • Ljepilo (vruće ljepilo će raditi)
  • Prijenosno računalo s instaliranim Arduino IDE -om

Jedini napredni alat koji vam može zatrebati je 3D pisač za izradu kućišta. Ako ga nemate, to je u redu, napravite svoje kućište od drveta i ručnih pila ili svega što imate na raspolaganju. I da, moj 3D pisač je star i prašnjav. Lol.

Korak 3: Računalni 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 s Arduino jezgrom, trebat ćemo instalirati ovu jezgru na Arduino IDE. Slijedite ovaj jednostavan vodič iz Githuba koji vam pokazuje koji softver i konfiguraciju trebate učiniti da biste mogli koristiti svoju ESP32 dev ploču unutar Arduino IDE -a.

Za rad našeg sustava trebat će nam i dvije dodatne knjižnice. Prva je Arduino JSON knjižnica koja nam omogućuje čitanje i raščlanjivanje JSON zahtjeva, što upravo dobivamo od Weather Undergrounda. Ove dvije biblioteke možete preuzeti s mog osobnog Dropboxa ili dolje. Nakon što dobijete datoteke, ekstrahirajte ih i stavite u mapu svoje biblioteke Arduino. 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 kod također se nalazi u toj mapi. Knjižnica također sadrži modificiranu verziju uzorka dobivenog s Waveshare zaslona. Datoteke su izmijenjene za rad na modulu ESP32 sa svojim GPIO -ima, a ja sam implementirao novi "font" koji sadrži sve slike za različite mjesečeve faze.

Korak 4: Krug

Krug
Krug
Krug
Krug
Krug
Krug

U redu, tako da je sklop za ovo 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 pada napon na 3.3V. Ovaj 3.3V također se koristi za zaslon Waveshare E-Ink. Da, ovo je pomalo neučinkovito zbog jačanja, a zatim odstupanja linearnim regulatorom, ali ESP32 radi u vrlo užasnom rasponu napona. Negdje oko 2,5 - 3,6V. Ovo nije prikladno za projekte baterija, osobito 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 zaslon s e-tintom
  • ESP32 PIN 18 CLK Zaslon s e-tintom
  • ESP32 PIN 23 DIN/MOSI zaslon s e-tintom
  • ESP32 PIN 5 CS/SS zaslon s e-tintom
  • ESP32 PIN 32 DC E-zaslon s tintom
  • ESP32 PIN 33 RST Zaslon s e-tintom
  • ESP32 PIN34 ZAPOSLENI Zaslon s e-tintom

Možete vidjeti da je ožičenje vrlo jednostavno i da je izgradnja mojih DIY ploča trebala samo 15 minuta. Prije davanja napona provjerite ima li multimetra kratkih spojeva.

Također sam uklonio 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 dulje. 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

Kod
Kod
Kod
Kod
Kod
Kod
Kod
Kod

Kôd se može pronaći u isporučenoj mapi tijekom koraka 3 ili možete preuzeti.ino datoteku s donje strane. Morat ćete instalirati pridružene knjižnice kako je spomenuto u koraku 3 da bi sve radilo 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 postavljaju se samo u kodu i kodu. Možda ga možete izmijeniti i pitati 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 tjedana. U osnovi se povezujemo na mrežu, u mom slučaju moju kućnu mrežu. Zatim se pokušavamo povezati s Weather Undergroundom i primiti JSON tekst s web stranice. Biblioteka ArduinoJSON tada se 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. Posljednji bit koda namijenjen je programiranju grafičkog sučelja i napravljen je pokušajem i pogreškom. Pogledao sam zaslon, 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 pretvorbe.

Također sam koristio program Dot Factory za generiranje 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 knjižnica E-Ink nije dobro dokumentirana i većina mog uspjeha bila je zahvaljujući pokušaju i pogrešci. Kad provedem više vremena 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 izrađen prema standardnom ASCII rasporedu. Ako otvorite font24 u EPD-master mapi, možete vidjeti izgled gdje je prva grafika označena praznim prostorom, druga je "!" (uskličnik) i tako dalje. Vidjet ćete da povlačim pridruženi 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 mjesečeve faze, 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 tom popisu. Ako pogledate font mjesečeve faze, vidjet ćete čitavu hrpu mjesečevih faza, sve s različitim razinama 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 kako bi se to iskoristilo.

Korak 6: Završna montaža

Završna skupština
Završna skupština
Završna skupština
Završna skupština
Završna skupština
Završna skupština

Posljednji dio izrade i koji najviše zadovoljava je proces montaže. Dizajnirao sam i 3D ispisao kućište koje odgovara mojoj ploči. Projekt je vrlo DIY, 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 Instructable -u, trebali biste biti u redu.

Upotrijebio sam 4 vijka za držanje gornje i donje polovice kućišta zajedno i vruće ljepilo za montažu vlastitog kruga. Koristio sam 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 zatvarač na stražnjoj strani. Time se odvaja baterija 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.

Općenito, vrlo sam zadovoljan ishodom. Puno sam naučio dok sam koristio ESP32 i mogu se vidjeti kako ću ga koristiti u budućnosti za razne projekte.

Ako imate bilo kakvih pitanja, slobodno pitajte, bit ću vam više nego voljan pomoći, a ako pronađete bilo kakve pogreške u ovoj uputi, obavijestite me.

EDIT: Zapravo sam napravio CNC stroj u malom kućištu umjesto 3D tiskane verzije, što vidite na istaknutim slikama.

EDIT: Na istaknutim slikama vidimo pun mjesec s 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čitane kako Mjesec napreduje kroz svoje faze, tako da možete dobiti prikaz grafike.

Svemirski izazov
Svemirski izazov
Svemirski izazov
Svemirski izazov

Drugoplasirani u svemirskom izazovu

Preporučeni: