Kazalo:
- 1. korak: Kaj potrebujete
- 2. korak: Planetarne koordinate
- 3. korak: Dostop do podatkov o planetu
- 4. korak: Koda
- 5. korak: Priključitev strojne opreme
- 6. korak: Oblikovanje ohišja
- 7. korak: Preizkus natisov
- 8. korak: Podaljšanje koračnega motorja
- 9. korak: Gumbi za pritrditev in LCD zaslon
- 10. korak: Dodajanje prirobnic
- 11. korak: Zaženi ob zagonu
- Korak: Lepite vse skupaj
- 13. korak: Uporaba
- Korak 14: Končano
Video: Iskalnik planetov Raspberry Pi: 14 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Zunaj Znanstvenega centra v mojem mestu je velika kovinska konstrukcija, ki se lahko obrne in pokaže na mesto, kjer so bili planeti na nebu. Nikoli nisem videl, da deluje, vendar sem vedno mislil, da bi bilo čarobno vedeti, kje so ti nedosegljivi drugi svetovi v resnici v povezavi z mojim drobnim jazom.
Ko sem se pred kratkim sprehodil mimo te davno mrtve razstave, sem pomislil: "Stavim, da bi to lahko naredil", in tako sem tudi naredil!
To je vodnik o tem, kako narediti iskalnik planeta (z Luno), da boste tudi vi vedeli, kje iskati, ko vas občuduje vesolje.
1. korak: Kaj potrebujete
1 x Raspberry Pi (različica 3 ali novejša za vgrajen wifi)
1 x LCD zaslon (16 x 2) (takole)
2 x koračni motorji z gonilniki (28-BYJ48) (kot ti)
3 x gumbi (kot ti)
2 x prirobnične spojke (kot so te)
1 x kompas z gumbi (takole)
8 x vijaki in matice M3
3D natisnjeni deli za ohišje in teleskop
2. korak: Planetarne koordinate
Obstaja nekaj različnih načinov opisovanja, kje so astronomski objekti na nebu.
Za nas je najbolj smiselno uporabiti vodoravni koordinatni sistem, kot je prikazano na zgornji sliki. Ta slika je s strani Wikipedia, ki je povezana tukaj:
en.wikipedia.org/wiki/Horizontal_coordinat…
Horizontalni koordinatni sistem vam daje kot od severa (Azimut) in navzgor od obzorja (nadmorska višina), zato se razlikuje glede na to, od kod gledate na svetu. Zato mora naš iskalnik planetov upoštevati lokacijo in imeti referenco na kakšen način, da najde sever.
Namesto da bi poskušali izračunati nadmorsko višino in azimut, ki se spreminjata s časom in lokacijo, bomo za iskanje teh podatkov iz NASA uporabili povezavo wifi na krovu Raspberry Pi. Spremljajo te stvari, zato nam ni treba;)
3. korak: Dostop do podatkov o planetu
Podatke pridobivamo iz NASA -jevega laboratorija za reaktivni pogon (JPL) -
Za dostop do teh podatkov uporabljamo knjižnico AstroQuery, ki je niz orodij za poizvedovanje o astronomskih spletnih obrazcih in bazah podatkov. Dokumentacijo za to knjižnico najdete tukaj:
Če je to vaš prvi projekt Raspberry Pi, začnite s tem priročnikom za nastavitev:
Če uporabljate Raspbian na svojem Raspberry Pi (to boste storili, če boste sledili zgornjemu vodniku), potem že imate nameščen python3, preverite, ali imate nameščeno najnovejšo različico (uporabljam različico 3.7.3). To moramo uporabiti, da dobimo pip. Odprite terminal in vnesite naslednje:
sudo apt namestite python3-pip
Nato lahko uporabimo pip za namestitev nadgrajene različice astroqueryja.
pip3 install --pre --upgrade astroquery
Preden nadaljujete s preostalim delom tega projekta, poskusite dostopati do teh podatkov s preprostim skriptom Python, da se prepričate, da so bile vse prave odvisnosti pravilno nameščene.
iz astroquery.jplhorizons uvoz Horizons
mars = Horizons (id = 499, location = '000', epochs = No, id_type = 'majorbody') eph = mars.ephemerides () print (eph)
To bi vam moralo pokazati podrobnosti o lokaciji Marsa!
Ali so ti podatki pravilni, lahko preverite na tem spletnem mestu za iskanje položajev planetov v živo:
Če želimo to poizvedbo nekoliko razčleniti, je id število, povezano z Marsom v podatkih JPL, epochs je čas, od katerega želimo podatke (Noben trenutno ne pomeni), id_type pa zahteva glavna telesa sončnega sistema. Lokacija je trenutno nastavljena na Združeno kraljestvo, saj je '000' koda lokacije za observatorij v Greenwichu. Druge lokacije najdete tukaj:
Odpravljanje težav:
Če se prikaže napaka: Noben modul z imenom 'keyring.util.escape'
v terminalu poskusite z naslednjim ukazom:
pip3 install --upgrade keyrings.alt
4. korak: Koda
Temu koraku je priložen celoten skript python, uporabljen v tem projektu.
Če želite poiskati pravilne podatke za svojo lokacijo, pojdite na funkcijo getPlanetInfo in spremenite lokacijo s seznamom opazovalnic v prejšnjem koraku.
def getPlanetInfo (planet):
obj = Horizons (id = planet, location = '000', epochs = No, id_type = 'majorbody') eph = obj.ephemerides () return eph
5. korak: Priključitev strojne opreme
S ploščami in mostičnimi žicami povežite dva koračna motorja, LCD zaslon in tri gumbe, kot je prikazano na zgornji shemi vezja.
Če želite izvedeti, katere številke so zatiči na vašem Raspberry Pi, pojdite na terminal in vnesite
pinout
To bi vam moralo prikazati zgornjo sliko skupaj s številkami GPIO in številkami plošč. Številke plošč uporabljamo za določanje, kateri zatiči so uporabljeni v kodi, zato se bom skliceval na številke v oklepajih.
Kot pomoč pri diagramu vezja so tukaj zatiči, ki so povezani z vsakim delom:
1. koračni motor - 7, 11, 13, 15
2. koračni motor - 40, 38, 36, 32
Gumb 1 - 33
Gumb 2 - 37
Gumb 3 - 35
LCD zaslon - 26, 24, 22, 18, 16, 12
Ko je vse to povezano, zaženite skript python
python3 planetFinder.py
in na zaslonu bi morali videti besedilo nastavitve, gumbi pa bi morali premikati koračne motorje.
6. korak: Oblikovanje ohišja
Ohišje je bilo zasnovano za enostavno tiskanje v 3D. Razdeli se na ločene dele, ki se nato zlepijo, ko je elektronika pritrjena.
Velikosti lukenj za gumbe, ki sem jih uporabil, in za vijake M3.
Teleskop sem natisnil na dele in jih pozneje zlepil, da se izognem preveliki podporni strukturi.
Temu koraku so priložene datoteke STL.
7. korak: Preizkus natisov
Ko je vse natisnjeno, se prepričajte, da se vse tesno prilega pred lepljenjem.
Gumbe namestite na svoje mesto in pritrdite zaslon in koračne motorje z vijaki M3 in vse skupaj dobro premikajte. Odstranite vse grobe robove, preden vse razstavite, preden naredite naslednji korak.
8. korak: Podaljšanje koračnega motorja
Koračni motor, ki bo nadziral kot nagiba teleskopa, bo sedel nad glavnim ohišjem in potrebuje nekaj ohlapnosti žic, da se lahko vrti. Žice je treba podaljšati tako, da jih prerežemo med korakom in voznikovo ploščo ter vmes spajkamo novo dolžino žice.
Novo žico sem vstavil v podporni stolp s kosom navoja, da sem jo lažje prebil, saj je žica, ki jo uporabljam, precej trda in se vedno znova zatika. Ko ga prebijete, ga lahko spajkate na koračni motor, pri čemer pazite, da je barva povezana, da na drugo stran znova pritrdite prave. Ne pozabite na žice dodati toplotno skrčljivo!
Ko ste spajkani, zaženite skript python, da preverite, ali vse še deluje, nato pa žice potisnite nazaj po cevi, dokler koračni motor ni na svojem mestu. Nato ga lahko pritrdite na ohišje koračnega motorja z vijaki in maticami M3, preden se zadnja stran ohišja prilepi na svoje mesto.
9. korak: Gumbi za pritrditev in LCD zaslon
Pred spajkanjem vstavite gumbe in privijte matice, da jih pritrdite. Rad uporabljam običajno ozemljitveno žico, ki poteka med njimi zaradi čistega.
Zaslon LCD pritrdite z vijaki in maticami M3. LCD želi potenciometer na enem od svojih zatičev, ki sem jih tudi spajal v tej fazi.
Ponovno preizkusite kodo! Preden lepimo vse skupaj, se prepričajte, da vse še deluje, saj je na tej stopnji veliko lažje popraviti.
10. korak: Dodajanje prirobnic
Za priključitev 3D tiskanih delov na koračne motorje uporabljamo 5 mm prirobnično sklopko, ki se prilega zgornjemu delu koračnega motorja in je pritrjena z drobnimi vijaki.
Ena prirobnica je prilepljena na dno vrtljivega stolpa, druga pa na teleskop.
Pritrditev teleskopa na motor na vrhu vrtljivega stolpa je preprosta, saj je veliko prostora za dostop do majhnih vijakov, ki ga držijo na mestu. Drugo prirobnico je težje pritrditi, vendar je med glavnim ohišjem in dnom vrtljivega stolpa dovolj prostora, da se prilega majhnemu ključu in privije vijak.
Preizkusite še enkrat!
Zdaj bi moralo vse delovati, kot bo v končnem stanju. Če ni, je zdaj čas, da popravite napake in se prepričate, da so vse povezave varne. Prepričajte se, da se izpostavljene žice ne dotikajo, obkrožite z električnim trakom in zakrpite vsa mesta, ki bi lahko povzročila težave.
11. korak: Zaženi ob zagonu
Namesto da bi kodo izvajali ročno vsakič, ko želimo najti planet, želimo, da se ta izvaja kot samostojna razstava, zato jo bomo nastavili za izvajanje kode, kadar koli se vklopi Raspberry Pi.
V terminal vnesite
crontab -e
V datoteki, ki se odpre, na konec datoteke dodajte naslednje, nato pa novo vrstico.
@reboot python3 /home/pi/PlanetFinder/planetFinder.py &
Kodo imam shranjeno v mapi z imenom PlanetFinder, zato je /home/pi/PlanetFinder/planetFinder.py lokacija moje datoteke. Če je vaš shranjen kje drugje, ga spremenite tukaj.
Na koncu je & pomemben, saj omogoča, da se koda izvaja v ozadju, zato ne zadržuje drugih procesov, ki se dogajajo tudi pri zagonu.
Korak: Lepite vse skupaj
Zdaj je treba popraviti vse, kar še ni zlepljeno.
Na koncu dodajte droben kompas na sredino vrtljive podlage.
13. korak: Uporaba
Ko se Finder planeta vklopi, bo uporabnika pozval, naj prilagodi navpično os. S pritiskom gumbov navzgor in navzdol boste teleskop premaknili, ga poskušali poravnati, kazati desno, nato pritisniti gumb ok (na dnu).
Uporabnik bo nato pozvan, da prilagodi vrtenje, z gumbi zavrtite teleskop, dokler ne pokaže proti severu glede na majhen kompas, nato pritisnite ok.
Sedaj lahko premikate planete z gumbi gor/dol in s tipko v redu izberete tistega, ki ga želite najti. Prikazal bo nadmorsko višino in azimut planeta, nato pojdite in pokažite nanj nekaj sekund, preden se obrnete nazaj proti severu.
Korak 14: Končano
Končano!
Uživajte, če veste, kje so vsi planeti:)
Prva nagrada v vesoljskem izzivu
Priporočena:
Iskalnik obeskov za ključe IoT z uporabo ESP8266-01: 11 korakov (s slikami)
Iskalnik obeskov za ključe IoT z uporabo ESP8266-01: Ali ste všeč, da vedno pozabim, kje ste hranili ključe? Nikoli ne najdem svojih ključev pravočasno! In zaradi te moje navade sem zamudil na fakulteto, v omejeno izdajo razprodaj dobrot iz zvezdnih vojn (še vedno grozljiv!), Na zmenek (nikoli ni izbrala
Arduino Zvok planetov: 4 koraki
Arduino Sound of the Planets: Viri: https://www.instructables.com/id/Arduino-Firef Ta projekt oblikujem, ker želim, da se ljudje pretvarjajo, da slišijo zvoke planeta. In to je zelo preprost način za začetek vašega prvega projekta Arduino, saj je enostavno, enostavno zgraditi
Digitalni iskalnik čepov: 6 korakov (s slikami)
Digitalni iskalnik žrebcev: Iskalniki žrebcev so preprost koncept. Dva kapacitivna senzorja: eden pošilja impulzni val, drugi sprejema in meri zmanjšanje napetosti na materialu med dvema ploščama. V poskusu pospeševanja te zasnove je bil ta projekt zastavljen tako, da
Ura notranjih planetov: 10 korakov
Ura Notranji planeti: V tem navodilu vam bom pokazal, kako običajno analogno stensko uro spremenite v tri edinstvene oblike. Tukaj imam datoteko z izvirno zasnovo TinkerCAD. Prva in glavna, ki jo bomo izdelali, je notranja planetarna ura, kjer čas teče
Iskalnik razdalje Attiny85: 4 koraki (s slikami)
Iskalnik razdalje Attiny85: Preden sem naredil to navodilo, sem pravkar dobil nekaj novih Attinyjev (Attinijev?) In hotel nekaj narediti z njimi. Takrat sem opazil, da je moj ultrazvočni daljinomer popolnoma sam neuporabljen. Ta ultrazvočni iskalnik razdalj Attiny poda razdaljo