Sadržaj:

Raspberry Pi Planet Finder: 14 koraka (sa slikama)
Raspberry Pi Planet Finder: 14 koraka (sa slikama)

Video: Raspberry Pi Planet Finder: 14 koraka (sa slikama)

Video: Raspberry Pi Planet Finder: 14 koraka (sa slikama)
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Juli
Anonim
Image
Image
Sta ti treba
Sta ti treba

Izvan Naučnog centra u mom gradu postoji velika metalna konstrukcija koja se mogla okrenuti i usmjeriti na mjesto gdje su se planete nalazile na nebu. Nikada nisam vidio da to funkcionira, ali uvijek sam mislio da bi bilo čarobno znati gdje su zapravo ti nedostižni drugi svjetovi u odnosu na moje maleno ja.

Kad sam nedavno prošao pored ove davno mrtve izložbe, pomislio sam: "Kladim se da bih to mogao", pa sam to učinio!

Ovo je vodič o tome kako napraviti Planetar Finder (s Mjesecom) tako da i vi možete znati gdje gledati kada se osjećate zadivljeni svemirom.

Korak 1: Šta vam treba

Sta ti treba
Sta ti treba

1 x Raspberry Pi (verzija 3 ili novija za ugrađeni wifi)

1 x LCD ekran (16 x 2) (ovako)

2 x koračni motori s upravljačkim programima (28-BYJ48) (poput ovih)

3 x dugmad (poput ovih)

2 x prirubničke spojnice (poput ovih)

1 x Kompas sa dugmetom (ovako)

8 x M3 vijci i matice

3D štampani delovi za kućište i teleskop

Korak 2: Planetarne koordinate

Planetarne koordinate
Planetarne koordinate

Postoji nekoliko različitih načina opisivanja astronomskih objekata na nebu.

Za nas, onaj koji ima najviše smisla koristiti je Horizontalni koordinatni sistem kako je prikazano na gornjoj slici. Ova slika je sa stranice Wikipedia povezane ovdje:

en.wikipedia.org/wiki/Horizontal_coordinat…

Horizontalni koordinatni sistem daje vam ugao od sjevera (Azimut) i prema gore od horizonta (nadmorska visina), pa se razlikuje ovisno o tome odakle gledate u svijetu. Dakle, naš planetar mora uzeti u obzir lokaciju i imati neki način da pronađe Sjever kao referencu.

Umjesto da pokušamo izračunati visinu i azimut koji se mijenjaju s vremenom i lokacijom, koristit ćemo wifi vezu na brodu Raspberry Pi za traženje ovih podataka od NASA -e. Oni prate ovakve stvari pa ne moramo;)

Korak 3: Pristup podacima planete

Dobijamo naše podatke iz NASA -ine laboratorije za mlazni pogon (JPL) -

Za pristup tim podacima koristimo biblioteku pod nazivom AstroQuery koja je skup alata za postavljanje upita o astronomskim web obrascima i bazama podataka. Dokumentacija za ovu biblioteku nalazi se ovdje:

Ako je ovo vaš prvi projekt Raspberry Pi, počnite slijedeći ovaj vodič za postavljanje:

Ako koristite Raspbian na svom Raspberry Pi -u (bit ćete ako ste slijedili gornji vodič), tada već imate instaliran python3, provjerite imate li instaliranu najnoviju verziju (ja koristim verziju 3.7.3). Moramo ovo iskoristiti da dobijemo pip. Otvorite terminal i upišite sljedeće:

sudo apt install python3-pip

Zatim možemo koristiti pip za instaliranje nadograđene verzije astroqueryja.

pip3 install --pre --upgrade astroquery

Prije nego nastavite s ostatkom ovog projekta, pokušajte pristupiti tim podacima pomoću jednostavne Python skripte kako biste bili sigurni da su sve prave ovisnosti ispravno instalirane.

from astroquery.jplhorizons import Horizons

mars = Horizons (id = 499, location = '000', epochs = None, id_type = 'majorbody') eph = mars.ephemerides () print (eph)

Ovo bi vam trebalo pokazati detalje lokacije Marsa!

Možete provjeriti jesu li ovi podaci točni pomoću ove web stranice za traženje pozicija planeta uživo:

Da bismo malo razbili ovaj upit, id je broj povezan s Marsom u podacima JPL -a, epohe su vrijeme iz kojeg želimo podatke (Ništa trenutno ne znači), a id_type traži glavna tijela Sunčevog sistema. Lokacija je trenutno postavljena na UK jer je '000' kôd lokacije za zvjezdarnicu u Greenwichu. Ostale lokacije možete pronaći ovdje:

Rješavanje problema:

Ako dobijete grešku: Nema modula pod nazivom 'keyring.util.escape'

isprobajte sljedeću naredbu u terminalu:

pip3 install --upgrade keyrings.alt

Korak 4: Kodirajte

Ovom koraku je priložena cijela python skripta korištena u ovom projektu.

Da biste pronašli ispravne podatke za svoju lokaciju, idite na funkciju getPlanetInfo i promijenite lokaciju koristeći popis opservatorija u prethodnom koraku.

def getPlanetInfo (planet):

obj = Horizonti (id = planet, lokacija = '000', epochs = Ništa, id_type = 'majorbody') eph = obj.ephemerides () return eph

Korak 5: Povezivanje hardvera

Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera

Pomoću matičnih ploča i kratkospojnih žica povežite dva koračna motora, LCD ekran i tri gumba kako je prikazano na gornjoj shemi kola.

Da biste saznali koji broj pinova ima vaš Raspberry Pi, idite na terminal i upišite

pinout

Ovo bi vam trebalo pokazati gornju sliku zajedno s GPIO brojevima i brojevima ploča. Koristimo brojeve ploča da definiramo koji se pinovi koriste u kodu, pa ću referencirati brojeve u zagradama.

Kao pomoć u dijagramu kruga, ovdje su pinovi koji su spojeni na svaki dio:

1. koračni motor - 7, 11, 13, 15

2. koračni motor - 40, 38, 36, 32

Dugme1 - 33

Dugme2 - 37

Dugme3 - 35

LCD ekran - 26, 24, 22, 18, 16, 12

Kada je sve ovo povezano, pokrenite python skriptu

python3 planetFinder.py

i trebali biste vidjeti ekran koji prikazuje tekst postavljanja, a tipke bi trebale pomicati koračne motore.

Korak 6: Dizajniranje kućišta

Dizajniranje kućišta
Dizajniranje kućišta
Dizajniranje kućišta
Dizajniranje kućišta
Dizajniranje kućišta
Dizajniranje kućišta

Kućište je dizajnirano za jednostavno 3D štampanje. Raspada se na zasebne dijelove koji se zatim lijepe zajedno nakon što je elektronika pričvršćena na mjestu.

Rupe su veličine za dugmad koje sam koristio i zavrtnje M3.

Odštampao sam teleskop u dijelovima i kasnije ih zalijepio kako bih izbjegao previše potporne strukture.

STL datoteke su priložene ovom koraku.

Korak 7: Testiranje otisaka

Testiranje otisaka
Testiranje otisaka
Testiranje otisaka
Testiranje otisaka
Testiranje otisaka
Testiranje otisaka
Testiranje otisaka
Testiranje otisaka

Nakon što se sve odštampa, provjerite da li se dobro uklapa prije nego što počnete s lijepljenjem.

Postavite gumbe na mjesto i pričvrstite zaslon i koračne motore s vijcima M3 i dobro promiješajte sve. Zarežite sve grube rubove da biste sve razdvojili prije sljedećeg koraka.

Korak 8: Produženje koračnog motora

Produžavanje koračnog motora
Produžavanje koračnog motora
Produžavanje koračnog motora
Produžavanje koračnog motora
Produžavanje koračnog motora
Produžavanje koračnog motora

Koračni motor koji će kontrolirati kut nagiba teleskopa sjedit će iznad glavnog kućišta i potrebno mu je malo popuštanja žica kako bi se mogao okretati. Žice je potrebno produžiti presijecanjem između stepera i njegove upravljačke ploče i lemljenjem nove dužine žice između njih.

Umetnuo sam novu žicu u nosivi toranj pomoću komada niti kako bih je nagovorio da prođe jer je žica koju koristim prilično kruta i stalno se zaglavila. Nakon što se prođe, može se lemiti na koračni motor, pazeći da pripazite koja je boja spojena kako biste na drugi kraj ponovno pričvrstili desne. Ne zaboravite na žice dodati termoskupljanje!

Nakon lemljenja pokrenite python skriptu da provjerite radi li još uvijek, a zatim gurnite žice natrag niz cijev dok koračni motor ne dođe na svoje mjesto. Zatim se može pričvrstiti na kućište koračnog motora vijcima i maticama M3 prije nego što se stražnji dio kućišta zalijepi.

Korak 9: Dugmad za montiranje i LCD ekran

Dugmad za montiranje i LCD ekran
Dugmad za montiranje i LCD ekran
Dugmad za montiranje i LCD ekran
Dugmad za montiranje i LCD ekran
Dugmad za montiranje i LCD ekran
Dugmad za montiranje i LCD ekran
Dugmad za montiranje i LCD ekran
Dugmad za montiranje i LCD ekran

Umetnite dugmad i pritegnite matice da biste ih učvrstili prije lemljenja. Volim koristiti uobičajenu žicu za uzemljenje koja prolazi između njih radi urednosti.

Osigurajte LCD ekran vijcima i maticama M3. LCD želi potenciometar na jednom od svojih pinova koje sam također lemio u ovoj fazi.

Ponovo testirajte kôd! Uvjerite se da sve još radi prije nego što sve zalijepimo jer je u ovoj fazi mnogo lakše popraviti.

Korak 10: Dodavanje prirubnica

Dodavanje prirubnica
Dodavanje prirubnica
Dodavanje prirubnica
Dodavanje prirubnica
Dodavanje prirubnica
Dodavanje prirubnica
Dodavanje prirubnica
Dodavanje prirubnica

Za spajanje 3D ispisanih dijelova na koračne motore koristimo prirubničku spojnicu od 5 mm koja pristaje na vrh kraja koračnog motora i drži se na mjestu pomoću sitnih vijaka.

Jedna prirubnica je zalijepljena za podnožje rotirajućeg tornja, a druga za teleskop.

Pričvršćivanje teleskopa na motor na vrhu rotirajućeg tornja jednostavno je jer ima puno prostora za pristup malim vijcima koji ga drže na mjestu. Drugu prirubnicu je teže osigurati, ali postoji dovoljno razmaka između glavnog kućišta i osnove rotirajućeg tornja da stane mali imbus ključ i zategne vijak.

Testirajte ponovo!

Sada bi sve trebalo funkcionirati kako će biti u konačnom stanju. Ako nije, sada je vrijeme za ispravljanje grešaka i provjeru jesu li veze sve sigurne. Uvjerite se da se izložene žice ne dodiruju, obiđite električnom trakom i zakrpite mjesta koja bi mogla uzrokovati problem.

Korak 11: Pokrenite pri pokretanju

Umjesto da ručno pokrećemo kôd svaki put kad želimo pronaći planetu, želimo da ovo radi kao samostalna izložba, pa ćemo ga postaviti tako da pokreće naš kôd kad god se uključi Raspberry Pi.

U terminal unesite

crontab -e

U datoteci koja se otvori dodajte sljedeće na kraj datoteke, a zatim slijedi novi redak.

@reboot python3 /home/pi/PlanetFinder/planetFinder.py &

Imam svoj kôd spremljen u mapu pod nazivom PlanetFinder, tako da je /home/pi/PlanetFinder/planetFinder.py lokacija moje datoteke. Ako je vaš sačuvan na drugom mjestu, svakako ga promijenite ovdje.

& Na kraju je važno jer omogućava kodu da radi u pozadini, tako da ne zadržava druge procese koji se također događaju pri pokretanju.

Korak 12: Zalijepite sve zajedno

Zalijepite sve zajedno!
Zalijepite sve zajedno!
Zalijepite sve zajedno!
Zalijepite sve zajedno!

Sve što već nije zalijepljeno sada bi trebalo popraviti.

Na kraju, dodajte mali kompas u sredinu rotirajuće baze.

Korak 13: Upotreba

Upotreba
Upotreba

Kada se Planet Finder uključi, od korisnika će biti zatraženo da prilagodi okomitu os. Pritiskom na tipke za gore i dolje pomjerat ćete teleskop, pokušajte ga poravnati, pokazujući desno, zatim pritisnite gumb ok (pri dnu).

Od korisnika će se tada tražiti da prilagodi rotaciju, pomoću dugmadi okreće teleskop dok ne pokaže prema sjeveru prema malom kompasu, a zatim pritisnite ok.

Sada možete kružiti kroz planete pomoću tipki za gore/dolje i odabrati onu koju želite pronaći pomoću gumba ok. Prikazat će nadmorsku visinu i azimut planete, a zatim idite i pokažite na nju nekoliko sekundi prije nego što se okrenete natrag prema sjeveru.

Korak 14: Završeno

Finished
Finished

Sve završeno!

Uživajte u saznanju gdje se sve planete nalaze:)

Space Challenge
Space Challenge
Space Challenge
Space Challenge

Prva nagrada u svemirskom izazovu

Preporučuje se: