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, Srpanj
Anonim
Image
Image
Što trebaš
Što trebaš

Izvan Znanstvenog centra u mom gradu postoji velika metalna konstrukcija koja se mogla okrenuti i usmjeriti na mjesto na kojem su se nalazili planeti. 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 i učinio!

Ovo je vodič o tome kako napraviti Planet Finder (s Mjesecom) kako biste i vi mogli znati gdje gledati kad se osjećate zadivljeni svemirom.

Korak 1: Što vam treba

Što trebaš
Što 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 tipke (poput ovih)

2 x prirubničke spojnice (poput ovih)

1 x kompas s gumbima (ovako)

8 x M3 vijci i matice

3D ispisani dijelovi za kućište i teleskop

Korak 2: Planetarne koordinate

Planetarne koordinate
Planetarne koordinate

Postoji nekoliko različitih načina opisivanja gdje su astronomski objekti na nebu.

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

en.wikipedia.org/wiki/Horizontal_coordinat…

Sustav vodoravnih koordinata daje vam kut 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 nadmorsku visinu i azimut koji se mijenjaju s vremenom i lokacijom, koristit ćemo wifi vezu na brodu Raspberry Pi za traženje ovih podataka iz NASA -e. Oni prate ovakve stvari pa ne moramo;)

Korak 3: Pristup podacima planete

Dobivamo naše podatke iz NASA -inog laboratorija za mlazni pogon (JPL) -

Za pristup tim podacima koristimo knjižnicu 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 za dobivanje pipa. Otvorite terminal i upišite sljedeće:

sudo apt install python3-pip

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

pip3 install --pre --upgrade astroquery

Prije nego nastavite s ostatkom ovog projekta, pokušajte pristupiti tim podacima jednostavnom Python skriptom 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 pojedinosti o položaju Marsa!

Možete provjeriti jesu li ti 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 kojega želimo podatke (Ništa trenutno ne znači), a id_type traži glavna tijela Sunčevog sustava. 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 pogrešku: Nema modula pod nazivom 'keyring.util.escape'

pokušajte sljedeću naredbu u terminalu:

pip3 install --upgrade keyrings.alt

Korak 4: Kodirajte

U prilogu ovog koraka nalazi se cijela python skripta korištena u ovom projektu.

Da biste pronašli točne podatke za svoju lokaciju, idite na funkciju getPlanetInfo i promijenite lokaciju pomoću popisa zvjezdarnica u prethodnom koraku.

def getPlanetInfo (planet):

obj = Horizons (id = planet, location = '000', epochs = None, 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 spojite dva koračna motora, LCD zaslon i tri gumba kako je prikazano na gornjoj shemi.

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

prikaz izvoda

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 se pozivati na 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

Gumb1 - 33

Gumb 2 - 37

Gumb3 - 35

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

Kad je sve to povezano, pokrenite python skriptu

python3 planetFinder.py

i trebali biste vidjeti zaslon koji prikazuje tekst postavljanja, a gumbi bi trebali 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 ispisivanje. Raspada se na zasebne dijelove koji se nakon lijepljenja elektronike lijepe zajedno.

Rupe su veličine za gumbe koje sam koristio i vijke M3.

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

STL datoteke priložene su ovom koraku.

Korak 7: Testiranje ispisa

Testiranje ispisa
Testiranje ispisa
Testiranje ispisa
Testiranje ispisa
Testiranje ispisa
Testiranje ispisa
Testiranje ispisa
Testiranje ispisa

Nakon što je sve ispisano, pobrinite se da sve dobro pristaje prije bilo kakvog lijepljenja.

Postavite gumbe na mjesto i učvrstite zaslon i koračne motore vijcima M3 i dobro promiješajte sve. Zarežite sve grube rubove i sve rastavite 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 rezanjem između stepera i njegove upravljačke ploče i lemljenjem nove dužine žice između njih.

Umetnuo sam novu žicu u noseći 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 ponovno pričvrstili desne na drugom kraju. 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 sjedne na 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 na mjesto.

Korak 9: Gumbi za montiranje i LCD zaslon

Gumbi za montiranje i LCD zaslon
Gumbi za montiranje i LCD zaslon
Gumbi za montiranje i LCD zaslon
Gumbi za montiranje i LCD zaslon
Gumbi za montiranje i LCD zaslon
Gumbi za montiranje i LCD zaslon
Gumbi za montiranje i LCD zaslon
Gumbi za montiranje i LCD zaslon

Umetnite gumbe i pritegnite matice kako biste ih učvrstili prije lemljenja. Volim koristiti zajedničku žicu za uzemljenje koja prolazi između njih radi urednosti.

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

Ponovno testirajte kôd! Prije nego što sve zalijepimo, provjerite radi li još uvijek sve 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 povezivanje 3D ispisanih dijelova s koračnim motorima 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 pričvrstiti, ali postoji dovoljno razmaka između glavnog kućišta i podnožja 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. Pazite 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 planet, želimo da se on izvodi 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 &

Kôd imam spremljen u mapu pod nazivom PlanetFinder, pa je /home/pi/PlanetFinder/planetFinder.py mjesto moje datoteke. Ako je vaš spremljen na drugom mjestu, svakako ga promijenite ovdje.

& Na kraju je važno jer omogućuje da se kôd izvodi 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 maleni kompas u sredinu rotirajuće baze.

Korak 13: Upotreba

Upotreba
Upotreba

Kad se Planet Finder uključi, od korisnika će se zatražiti 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 gumba 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 planeta, zatim idite i pokažite na nju nekoliko sekundi prije nego što se okrenete natrag prema sjeveru.

Korak 14: Završeno

Završeno
Završeno

Sve gotovo!

Uživajte znajući gdje se sve planete nalaze:)

Svemirski izazov
Svemirski izazov
Svemirski izazov
Svemirski izazov

Prva nagrada u svemirskom izazovu

Preporučeni: