Obsah:

Hľadač planét Raspberry Pi: 14 krokov (s obrázkami)
Hľadač planét Raspberry Pi: 14 krokov (s obrázkami)

Video: Hľadač planét Raspberry Pi: 14 krokov (s obrázkami)

Video: Hľadač planét Raspberry Pi: 14 krokov (s obrázkami)
Video: Как штукатурить откосы на окнах СВОИМИ РУКАМИ 2024, November
Anonim
Image
Image
Čo potrebuješ
Čo potrebuješ

Mimo Vedeckého centra v mojom meste je veľká kovová konštrukcia, ktorá sa mohla otáčať a ukazovať na miesto, kde boli planéty na oblohe. Nikdy som to nevidel fungovať, ale vždy som si myslel, že by bolo kúzelné vedieť, kde tieto nedosiahnuteľné iné svety v skutočnosti sú vo vzťahu k môjmu malému ja.

Keď som nedávno prechádzal okolo tohto dávno mŕtveho exponátu, pomyslel som si „Stavím sa, že to zvládnem“a tak som aj urobil!

Toto je návod, ako vytvoriť Vyhľadávač planét (s Mesiacom), aby ste aj vy vedeli, kam sa pozrieť, keď vás priestor zaskočí.

Krok 1: Čo potrebujete

Čo potrebuješ
Čo potrebuješ

1 x Raspberry Pi (verzia 3 alebo vyššia pre integrované Wi -Fi)

1 x LCD displej (16 x 2) (takto)

2 x krokové motory s ovládačmi (28-BYJ48) (ako tieto)

3 x tlačidlá (ako tieto)

2 x prírubové spojky (ako tieto)

1 x Gombíkový kompas (takto)

8 x skrutiek a matíc M3

3D tlačené diely pre puzdro a ďalekohľad

Krok 2: Planetárne súradnice

Planetárne súradnice
Planetárne súradnice

Existuje niekoľko rôznych spôsobov, ako popísať, kde sú astronomické objekty na oblohe.

Pre nás má najväčší zmysel používať horizontálny súradnicový systém, ako je znázornené na obrázku vyššie. Tento obrázok je zo stránky Wikipedia, ktorá je prepojená tu:

en.wikipedia.org/wiki/Horizontal_coordinat…

Systém horizontálnych súradníc vám poskytuje uhol od severu (azimut) a nahor od horizontu (nadmorská výška), takže sa líši v závislosti od toho, odkiaľ sa na svet pozeráte. Náš vyhľadávač planét teda musí vziať do úvahy polohu a nájsť spôsob, ako nájsť sever ako referenciu.

Namiesto toho, aby sme sa pokúšali vypočítať nadmorskú výšku a azimut, ktoré sa menia s časom a polohou, použijeme na vyhľadanie týchto údajov od NASA wifi pripojenie na palube Raspberry Pi. Sledujú tieto veci, aby sme nemuseli;)

Krok 3: Prístup k údajom planéty

Naše údaje získavame z NASA Jet Propulsion Laboratory (JPL) -

Na prístup k týmto údajom používame knižnicu AstroQuery, čo je sada nástrojov na dopytovanie astronomických webových formulárov a databáz. Dokumentáciu k tejto knižnici nájdete tu:

Ak je to váš prvý projekt Raspberry Pi, začnite podľa tohto sprievodcu nastavením:

Ak na Raspberry Pi používate Raspbian (budete, ak ste postupovali podľa vyššie uvedeného návodu), tak už máte nainštalovaný python3, uistite sa, že máte nainštalovanú najnovšiu verziu (ja používam verziu 3.7.3). Musíme to použiť na získanie pipu. Otvorte terminál a zadajte nasledujúci príkaz:

sudo apt install python3-pip

Potom môžeme použiť pip na inštaláciu aktualizovanej verzie astroquery.

pip3 install --pre --upgrade astroquery

Pred pokračovaním zvyšku tohto projektu skúste získať prístup k týmto údajom pomocou jednoduchého skriptu Python, aby ste sa presvedčili, že všetky správne závislosti boli nainštalované správne.

z astroquery.jplhorizons importujú Horizons

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

To by vám malo ukázať podrobnosti o polohe Marsu!

Na tejto stránke môžete skontrolovať, či sú tieto údaje správne, a vyhľadať si aktuálne polohy planét:

Aby sme tento dotaz trocha rozobrali, id je číslo priradené k Marsu v dátach JPL, epochy je čas, z ktorého chceme údaje (None práve znamená) a id_type požaduje hlavné telesá slnečnej sústavy. Poloha je v súčasnosti nastavená na Spojené kráľovstvo, pretože „000“je kód polohy observatória v Greenwichi. Ďalšie umiestnenia nájdete tu:

Riešenie problémov:

Ak sa zobrazí chyba: Žiadny modul s názvom „keyring.util.escape“

Skúste nasledujúci príkaz v termináli:

pip3 install --upgrade keyrings.alt

Krok 4: Kód

K tomuto kroku je pripojený úplný skript pythonu použitý v tomto projekte.

Ak chcete nájsť správne údaje pre vašu polohu, prejdite na funkciu getPlanetInfo a zmeňte polohu pomocou zoznamu observatórií v predchádzajúcom kroku.

def getPlanetInfo (planéta):

obj = Horizons (id = planet, location = '000', epochs = None, id_type = 'majorbody') eph = obj.ephemerides () return eph

Krok 5: Pripojenie hardvéru

Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru

Pomocou prepojovacích panelov a prepojovacích káblov prepojte dva krokové motory, obrazovku LCD a tri tlačidlá, ako je znázornené na schéme zapojenia vyššie.

Ak chcete zistiť, aké číslo sú piny na vašom Raspberry Pi, prejdite na terminál a zadajte

pinout

To by vám malo ukázať vyššie uvedený obrázok s číslami GPIO a číslami dosiek. Čísla dosiek používame na definovanie, ktoré piny sa používajú v kóde, takže na čísla budem odkazovať v zátvorkách.

Ako pomôcka pre schému zapojenia uvádzame piny, ktoré sú spojené s každou časťou:

1. krokový motor - 7, 11, 13, 15

2. krokový motor - 40, 38, 36, 32

Tlačidlo 1 - 33

Tlačidlo 2 - 37

Tlačidlo 3 - 35

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

Keď je toto všetko prepojené, spustite skript python

python3 planetFinder.py

a na obrazovke by ste mali vidieť text nastavenia a tlačidlá by mali pohybovať krokovými motormi.

Krok 6: Navrhovanie puzdra

Navrhovanie puzdra
Navrhovanie puzdra
Navrhovanie puzdra
Navrhovanie puzdra
Navrhovanie puzdra
Navrhovanie puzdra

Puzdro bolo navrhnuté tak, aby sa dalo ľahko vytlačiť 3D. Rozdeľuje sa na samostatné časti, ktoré sú potom zlepené, keď je elektronika zaistená na svojom mieste.

Otvory sú dimenzované na tlačidlá, ktoré som použil, a skrutky M3.

Teleskop som vytlačil po častiach a neskôr som ich zlepil, aby som sa vyhol príliš veľkej podpornej štruktúre.

K tomuto kroku sú pripojené súbory STL.

Krok 7: Testovanie výtlačkov

Testovanie výtlačkov
Testovanie výtlačkov
Testovanie výtlačkov
Testovanie výtlačkov
Testovanie výtlačkov
Testovanie výtlačkov
Testovanie výtlačkov
Testovanie výtlačkov

Akonáhle je všetko vytlačené, pred začatím akéhokoľvek lepenia sa uistite, že všetko do seba dobre zapadá.

Nasaďte tlačidlá na svoje miesto a zaistite skrutkami M3 obrazovku a krokové motory a dajte všetkému poriadne zabrať. Pred ďalším krokom všetky hrubé hrany zaneste.

Krok 8: Rozšírenie krokového motora

Predĺženie krokového motora
Predĺženie krokového motora
Predĺženie krokového motora
Predĺženie krokového motora
Predĺženie krokového motora
Predĺženie krokového motora

Krokový motor, ktorý bude ovládať výškový uhol ďalekohľadu, bude umiestnený nad hlavným puzdrom a na jeho otáčanie bude potrebné trochu uvoľniť drôty. Káble je potrebné predĺžiť tak, že ich prestrihnete medzi stepperom a jeho doskou vodiča a medzi nimi spájkujete novú dĺžku drôtu.

Nový drôt som vložil do nosnej veže pomocou kusu závitu, aby som ho mohol previesť, pretože drôt, ktorý používam, je dosť tuhý a stále sa zasekáva. Akonáhle to bude možné, môže byť spájkované s krokovým motorom, pričom nezabudnite sledovať, ktorá farba je pripojená, aby ste na druhý koniec znova pripevnili tie správne. Nezabudnite na drôty pridať zmršťovanie!

Po spájkovaní spustite skript pythonu, aby ste skontrolovali, či všetko funguje, a potom zatlačte drôty späť do trubice, kým nebude krokový motor na svojom mieste. Potom môže byť pripevnený k puzdru krokového motora pomocou skrutiek a matíc M3 predtým, ako je zadná strana puzdra prilepená.

Krok 9: Namontujte tlačidlá a obrazovku LCD

Montáž tlačidiel a obrazovky LCD
Montáž tlačidiel a obrazovky LCD
Montáž tlačidiel a obrazovky LCD
Montáž tlačidiel a obrazovky LCD
Montáž tlačidiel a obrazovky LCD
Montáž tlačidiel a obrazovky LCD
Montáž tlačidiel a obrazovky LCD
Montáž tlačidiel a obrazovky LCD

Pred spájkovaním vložte gombíky a utiahnite matice, aby ste ich zaistili na mieste. Rád používam spoločný uzemňovací drôt, ktorý medzi nimi prebieha pre úhľadnosť.

Zaistite LCD obrazovku skrutkami a maticami M3. Displej LCD chce na jednom zo svojich pinov potenciometer, ktorý som v tejto fáze tiež spájkoval.

Skúste kód znova! Predtým, ako všetko zlepíme, sa uistite, že všetko funguje, pretože v tejto fáze je to oveľa jednoduchšie opraviť.

Krok 10: Pridanie prírub

Pridanie prírub
Pridanie prírub
Pridanie prírub
Pridanie prírub
Pridanie prírub
Pridanie prírub
Pridanie prírub
Pridanie prírub

Na pripojenie 3D tlačených dielov k krokovým motorom používame 5 mm prírubovú spojku, ktorá sa hodí na koniec konca krokového motora a drží na mieste pomocou malých skrutiek.

Jedna príruba je prilepená k základni rotujúcej veže a druhá k ďalekohľadu.

Pripojenie teleskopu k motoru na vrchu rotujúcej veže je jednoduché, pretože je tu veľa priestoru na prístup k malým skrutkám, ktoré ho držia na svojom mieste. Druhá príruba je ťažšie zaistiť, ale medzi hlavným puzdrom a základňou rotujúcej veže je dostatok medzery na to, aby sa do nej zmestil malý imbusový kľúč a utiahla skrutka.

Skúste znova!

Teraz by všetko malo fungovať tak, ako bude v konečnom stave. Ak nie, teraz je načase opraviť chyby a uistiť sa, že sú všetky pripojenia bezpečné. Uistite sa, že sa odhalené vodiče navzájom nedotýkajú, oblepte ich elektrickou páskou a zalepte všetky miesta, ktoré by mohli spôsobiť problém.

Krok 11: Spustite pri spustení

Namiesto toho, aby sme kód spúšťali ručne vždy, keď chceme nájsť planétu, chceme, aby fungoval ako samostatná výstava, a preto ho nastavíme tak, aby spúšťal náš kód vždy, keď sa Raspberry Pi zapne.

Do terminálu napíšte

crontab -e

V otváranom súbore pridajte na koniec súboru nasledujúci text a za ním nový riadok.

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

Mám svoj kód uložený v priečinku s názvom PlanetFinder, takže /home/pi/PlanetFinder/planetFinder.py je umiestnenie môjho súboru. Ak je ten váš uložený niekde inde, zmeňte ho tu.

& Na konci je dôležité, pretože umožňuje spustenie kódu na pozadí, takže nezdržiava ďalšie procesy, ktoré sa vyskytujú aj pri zavádzaní.

Krok 12: Zlepte všetko dohromady

Zlepte to všetko dohromady!
Zlepte to všetko dohromady!
Zlepte to všetko dohromady!
Zlepte to všetko dohromady!

Všetko, čo ešte nie je nalepené na mieste, by malo byť teraz opravené.

Nakoniec pridajte malý kompas do stredu rotujúcej základne.

Krok 13: Použitie

Použitie
Použitie

Keď sa vyhľadávač planét zapne, vyzve používateľa, aby upravil zvislú os. Stlačením tlačidiel hore a dole sa teleskop pohne, pokúste sa ho vyrovnať, ukážte doprava a potom stlačte tlačidlo ok (v spodnej časti).

Užívateľ bude potom požiadaný o nastavenie rotácie, pomocou tlačidiel otáčajte teleskopom, kým neukáže na sever podľa malého kompasu, potom stlačte ok.

Teraz môžete cyklicky prechádzať planétami pomocou tlačidiel hore/dole a pomocou tlačidla ok vybrať tú, ktorú chcete nájsť. Zobrazí nadmorskú výšku a azimut planéty, potom na niekoľko sekúnd na ňu ukážte a potom sa otočte späť na sever.

Krok 14: Hotovo

Hotovo
Hotovo

Všetko hotové!

Užite si vedieť, kde sú všetky planéty:)

Vesmírna výzva
Vesmírna výzva
Vesmírna výzva
Vesmírna výzva

Prvá cena vo vesmírnej výzve

Odporúča: