Obsah:

Vyhledávač planet Raspberry Pi: 14 kroků (s obrázky)
Vyhledávač planet Raspberry Pi: 14 kroků (s obrázky)

Video: Vyhledávač planet Raspberry Pi: 14 kroků (s obrázky)

Video: Vyhledávač planet Raspberry Pi: 14 kroků (s obrázky)
Video: ÓeFko bude v prosinci za půlku když budou ty Vánoce tak kdo váhal tak šup . Platí pro prvních 100 2024, Červenec
Anonim
Image
Image
Co potřebuješ
Co potřebuješ

Mimo centrum vědy v mém městě je velká kovová konstrukce, která se může otáčet a ukazovat na místo, kde byly planety na obloze. Nikdy jsem to neviděl fungovat, ale vždy jsem si myslel, že by bylo kouzelné vědět, kde tyto nedosažitelné jiné světy ve skutečnosti jsou ve vztahu k mému malému já.

Když jsem nedávno procházel kolem této dávno mrtvé expozice, napadlo mě „Vsadím se, že to zvládnu“a tak jsem také udělal!

Toto je průvodce, jak vytvořit vyhledávač planet (s Měsícem), abyste i vy věděli, kam se dívat, když vás prostor zaskočí.

Krok 1: Co potřebujete

Co potřebuješ
Co potřebuješ

1 x Raspberry Pi (verze 3 nebo vyšší pro integrovanou wifi)

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

2 x krokové motory s ovladači (28-BYJ48) (jako tyto)

3 x tlačítka (jako tato)

2 x přírubové spojky (jako tyto)

1 x Tlačítko kompas (takhle)

8 x šroubů a matic M3

3D tištěné díly pro pouzdro a dalekohled

Krok 2: Planetární souřadnice

Planetární souřadnice
Planetární souřadnice

Existuje několik různých způsobů, jak popsat, kde jsou astronomické objekty na obloze.

Pro nás je nejvhodnější použít horizontální souřadnicový systém, jak je znázorněno na obrázku výše. Tento obrázek je ze zde odkazované stránky Wikipedie:

en.wikipedia.org/wiki/Horizontal_coordinat…

Systém horizontálních souřadnic vám poskytuje úhel od severu (azimut) a nahoru od horizontu (nadmořská výška), takže se liší podle toho, odkud se na svět díváte. Náš vyhledávač planet tedy musí vzít v úvahu polohu a určitým způsobem najít sever jako referenci.

Spíše než zkoušet vypočítat nadmořskou výšku a azimut, které se mění s časem a místem, použijeme k vyhledání těchto údajů od NASA wifi připojení na palubě Raspberry Pi. Sledují tento druh věcí, abychom nemuseli;)

Krok 3: Přístup k datům planety

Data získáváme z NASA Jet Propulsion Laboratory (JPL) -

K přístupu k těmto datům používáme knihovnu AstroQuery, což je sada nástrojů pro dotazování astronomických webových formulářů a databází. Dokumentaci k této knihovně naleznete zde:

Pokud se jedná o váš první projekt Raspberry Pi, začněte podle tohoto průvodce nastavením:

Pokud na svém Raspberry Pi používáte Raspbian (budete, pokud jste postupovali podle výše uvedeného průvodce), pak již máte nainstalovaný python3, ujistěte se, že máte nainstalovanou nejnovější verzi (já používám verzi 3.7.3). Musíme to použít k získání pipu. Otevřete terminál a zadejte následující:

sudo apt install python3-pip

Můžeme pak použít pip k instalaci upgradované verze astroquery.

pip3 install --pre --upgrade astroquery

Než budete pokračovat ve zbytku tohoto projektu, zkuste k těmto datům přistupovat pomocí jednoduchého skriptu Pythonu, abyste se ujistili, že všechny správné závislosti byly nainstalovány správně.

z astroquery.jplhorizons importujte Horizons

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

To by vám mělo ukázat podrobnosti o poloze Marsu!

Pomocí těchto stránek můžete zkontrolovat, zda jsou tato data správná, a vyhledat pozice živých planet:

Abychom tento dotaz trochu rozdělili, id je číslo přidružené k Marsu v datech JPL, epocha je čas, ze kterého chceme data (None znamená právě teď) a id_type žádá o hlavní tělesa sluneční soustavy. Poloha je v současné době nastavena na Spojené království, protože „000“je kód polohy pro observatoř v Greenwichi. Další místa najdete zde:

Odstraňování problémů:

Pokud se zobrazí chyba: Žádný modul s názvem 'keyring.util.escape'

zkuste v terminálu následující příkaz:

pip3 install --upgrade keyrings.alt

Krok 4: Kód

K tomuto kroku je připojen úplný skript pythonu použitý v tomto projektu.

Chcete -li najít správná data pro vaši polohu, přejděte na funkci getPlanetInfo a změňte umístění pomocí seznamu observatoří v předchozím kroku.

def getPlanetInfo (planeta):

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

Krok 5: Připojení hardwaru

Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru

Pomocí propojovacích vodičů a propojovacích kabelů propojte dva krokové motory, obrazovku LCD a tři tlačítka, jak je znázorněno na schématu zapojení výše.

Chcete -li zjistit, jaké číslo jsou piny na vašem Raspberry Pi, přejděte na terminál a zadejte

pinout

To by vám mělo ukázat výše uvedený obrázek s čísly GPIO a čísly desek. Čísla desek používáme k definování, které piny jsou použity v kódu, takže na čísla budu odkazovat v závorkách.

Jako pomůcka pro schéma zapojení jsou zde piny, které jsou připojeny ke každé části:

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

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

Tlačítko 1 - 33

Tlačítko 2 - 37

Tlačítko 3 - 35

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

Když je toto vše připojeno, spusťte skript python

python3 planetFinder.py

a na obrazovce byste měli vidět text nastavení a tlačítka by měla pohybovat krokovými motory.

Krok 6: Navrhování pouzdra

Navrhování pouzdra
Navrhování pouzdra
Navrhování pouzdra
Navrhování pouzdra
Navrhování pouzdra
Navrhování pouzdra

Pouzdro bylo navrženo tak, aby bylo možné jej snadno vytisknout 3D. Rozpadá se na samostatné části, které jsou poté slepeny, jakmile je elektronika zajištěna na svém místě.

Otvory jsou dimenzovány pro tlačítka, která jsem použil, a šrouby M3.

Dalekohled jsem vytiskl po částech a později jsem je slepil, abych se vyhnul přílišné podpůrné struktuře.

K tomuto kroku jsou připojeny soubory STL.

Krok 7: Testování výtisků

Testování výtisků
Testování výtisků
Testování výtisků
Testování výtisků
Testování výtisků
Testování výtisků
Testování výtisků
Testování výtisků

Jakmile je vše vytištěno, ujistěte se, že vše těsně přiléhá k sobě, než je provedeno jakékoli lepení.

Nasaďte tlačítka na místo a zajistěte obrazovku a krokové motory pomocí šroubů M3 a dejte všemu pořádně zabrat. Před dalším krokem zapište všechny hrubé hrany a vše rozeberte.

Krok 8: Rozšíření krokového motoru

Rozšíření krokového motoru
Rozšíření krokového motoru
Rozšíření krokového motoru
Rozšíření krokového motoru
Rozšíření krokového motoru
Rozšíření krokového motoru

Krokový motor, který bude ovládat výškový úhel dalekohledu, bude umístěn nad hlavním pouzdrem a potřebuje nějaké vůle v drátech, aby se mohl otáčet. Dráty je třeba prodloužit oříznutím mezi stepperem a jeho deskou řidiče a pájením nové délky drátu mezi nimi.

Nový drát jsem vložil do podpůrné věže pomocí kusu závitu, abych ho pomohl přemístit, protože drát, který používám, je docela tuhý a stále se zasekává. Jakmile to projde, může být připájeno k krokovému motoru, ujistěte se, že budete sledovat, která barva je připojena, abyste znovu připojili ty správné na druhém konci. Nezapomeňte do vodičů přidat smršťování!

Po pájení spusťte skript pythonu, abyste zkontrolovali, zda vše stále funguje, a poté zatlačte vodiče zpět do trubice, dokud nebude krokový motor na svém místě. Poté může být připevněn ke skříni krokového motoru pomocí šroubů a matic M3, než se zadní část skříně nalepí na místo.

Krok 9: Namontujte tlačítka a obrazovku LCD

Připevněte tlačítka a LCD obrazovku
Připevněte tlačítka a LCD obrazovku
Připevněte tlačítka a obrazovku LCD
Připevněte tlačítka a obrazovku LCD
Připevněte tlačítka a obrazovku LCD
Připevněte tlačítka a obrazovku LCD
Připevněte tlačítka a obrazovku LCD
Připevněte tlačítka a obrazovku LCD

Před pájením vložte knoflíky a utáhněte matice, abyste je zajistili na místě. Rád používám společný zemnící vodič, který mezi nimi vede pro úhlednost.

Zajistěte obrazovku LCD šrouby a maticemi M3. LCD chce potenciometr na jednom ze svých kolíků, které jsem v této fázi také připájel.

Otestujte kód znovu! Než vše slepíme, ujistěte se, že vše stále funguje, protože v této fázi je oprava mnohem snazší.

Krok 10: Přidání přírub

Přidání přírub
Přidání přírub
Přidání přírub
Přidání přírub
Přidání přírub
Přidání přírub
Přidání přírub
Přidání přírub

Pro připojení 3D tištěných dílů k krokovým motorům používáme 5mm přírubu, která se vejde na konec konce krokového motoru a drží na místě pomocí malých šroubů.

Jedna příruba je přilepená k základně otočné věže a druhá k dalekohledu.

Připevnění dalekohledu k motoru na vrcholu otočné věže je jednoduché, protože je zde spousta prostoru pro přístup k malým šroubům, které jej drží na místě. Druhou přírubu je těžší zajistit, ale mezi hlavním pouzdrem a základnou otočné věže je dostatečná mezera, aby se vešel malý imbusový klíč a utáhl šroub.

Otestujte znovu!

Nyní by vše mělo fungovat tak, jak bude v konečném stavu. Pokud tomu tak není, je načase opravit chyby a ujistit se, že jsou všechna připojení zabezpečená. Ujistěte se, že se odkryté vodiče navzájem nedotýkají, obejděte elektrickou páskou a zalepte všechna místa, která by mohla způsobit problém.

Krok 11: Spusťte při spuštění

Spíše než spouštět kód ručně pokaždé, když chceme najít planetu, chceme, aby to běželo jako samostatná výstava, takže to nastavíme tak, aby náš kód běžel vždy, když se Raspberry Pi zapne.

Do terminálu napište

crontab -e

V souboru, který se otevře, přidejte na konec souboru následující a za ním nový řádek.

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

Mám svůj kód uložen ve složce s názvem PlanetFinder, takže /home/pi/PlanetFinder/planetFinder.py je umístění mého souboru. Pokud je váš uložen někde jinde, změňte jej zde.

Důležitý je znak & na konci, protože umožňuje spuštění kódu na pozadí, takže nezdržuje další procesy, které se také vyskytují při spouštění.

Krok 12: Lepte to všechno dohromady

Lepte to všechno dohromady!
Lepte to všechno dohromady!
Lepte to všechno dohromady!
Lepte to všechno dohromady!

Vše, co již není nalepeno na místě, by nyní mělo být opraveno.

Nakonec přidejte malý kompas doprostřed rotující základny.

Krok 13: Použití

Používání
Používání

Když se vyhledávač planet zapne, vyzve uživatele k nastavení svislé osy. Stisknutím tlačítek nahoru a dolů se teleskop pohne, zkuste jej vyrovnat, směřujte doprava a poté stiskněte tlačítko ok (dole).

Uživatel bude poté požádán o nastavení rotace, pomocí tlačítek otáčejte dalekohledem, dokud neukáže na sever podle malého kompasu, poté stiskněte ok.

Nyní můžete procházet planetami pomocí tlačítek nahoru/dolů a pomocí tlačítka ok vyberte tu, kterou chcete najít. Zobrazí nadmořskou výšku a azimut planety, poté na ni na několik sekund ukážte a poté se otočte zpět na sever.

Krok 14: Hotovo

Hotovo
Hotovo

Vše hotovo!

Užijte si vědět, kde jsou všechny planety:)

Vesmírná výzva
Vesmírná výzva
Vesmírná výzva
Vesmírná výzva

První cena ve vesmírné výzvě

Doporučuje: