Spisu treści:
- Krok 1: Czego potrzebujesz
- Krok 2: Współrzędne planetarne
- Krok 3: Dostęp do danych planety
- Krok 4: Kod
- Krok 5: Podłączanie sprzętu
- Krok 6: Projektowanie obudowy
- Krok 7: Testowanie wydruków
- Krok 8: Wydłużenie silnika krokowego
- Krok 9: Zamontuj przyciski i ekran LCD
- Krok 10: Dodawanie kołnierzy
- Krok 11: Uruchom przy starcie
- Krok 12: Sklej wszystko razem
- Krok 13: Użycie
- Krok 14: Zakończono
Wideo: Raspberry Pi Planet Finder: 14 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Na zewnątrz Centrum Nauki w moim mieście znajduje się duża metalowa konstrukcja, która może obracać się i wskazywać miejsca, w których znajdowały się planety na niebie. Nigdy nie widziałem, jak to działa, ale zawsze myślałem, że byłoby magiczne wiedzieć, gdzie tak naprawdę są te nieosiągalne inne światy w stosunku do mojego maleńkiego ja.
Kiedy niedawno przechodziłem obok tej dawno martwej wystawy, pomyślałem: „Założę się, że dam radę” i tak też zrobiłem!
To jest przewodnik, jak zrobić Wyszukiwarkę Planet (z Księżycem), abyś Ty również wiedział, gdzie szukać, gdy czujesz się zachwycony kosmosem.
Krok 1: Czego potrzebujesz
1 x Raspberry Pi (wersja 3 lub wyższa dla wbudowanego Wi-Fi)
1 x ekran LCD (16 x 2) (w ten sposób)
2 x silniki krokowe ze sterownikami (28-BYJ48) (jak te)
3 x przyciski (takie jak te)
2 x Łączniki kołnierzowe (takie jak te)
1 x kompas guzikowy (w ten sposób)
8 x śruby i nakrętki M3
Części drukowane w 3D do obudowy i teleskopu
Krok 2: Współrzędne planetarne
Istnieje kilka różnych sposobów opisywania położenia obiektów astronomicznych na niebie.
Dla nas najbardziej sensowny jest układ współrzędnych poziomych, jak pokazano na powyższym obrazku. Ten obraz pochodzi ze strony Wikipedii, do której link znajduje się tutaj:
en.wikipedia.org/wiki/Horizontal_coordinat…
Układ współrzędnych horyzontalnych podaje kąt od północy (azymut) i w górę od horyzontu (wysokość), więc różni się w zależności od tego, z którego miejsca na świecie patrzysz. Więc nasza wyszukiwarka planet musi brać pod uwagę lokalizację i mieć jakiś sposób na znalezienie północy, aby być punktem odniesienia.
Zamiast próbować obliczyć wysokość i azymut, które zmieniają się wraz z czasem i lokalizacją, użyjemy połączenia Wi-Fi na pokładzie Raspberry Pi, aby wyszukać te dane z NASA. Śledzą tego typu rzeczy, więc nie musimy;)
Krok 3: Dostęp do danych planety
Pobieramy nasze dane z NASA Jet Propulsion Laboratory (JPL) -
Aby uzyskać dostęp do tych danych, korzystamy z biblioteki AstroQuery, która jest zestawem narzędzi do przeszukiwania astronomicznych formularzy internetowych i baz danych. Dokumentację tej biblioteki można znaleźć tutaj:
Jeśli to Twój pierwszy projekt Raspberry Pi, zacznij od tego przewodnika konfiguracji:
Jeśli używasz Raspbian na swoim Raspberry Pi (będziesz, jeśli postępujesz zgodnie z powyższym przewodnikiem), to masz już zainstalowany python3, upewnij się, że masz zainstalowaną najnowszą wersję (używam wersji 3.7.3). Musimy to wykorzystać, aby uzyskać pip. Otwórz terminal i wpisz:
sudo apt zainstaluj python3-pip
Następnie możemy użyć pip do zainstalowania zaktualizowanej wersji astroquery.
pip3 install --pre --upgrade astroquery
Zanim przejdziesz do dalszej części tego projektu, spróbuj uzyskać dostęp do tych danych za pomocą prostego skryptu Pythona, aby upewnić się, że wszystkie właściwe zależności zostały poprawnie zainstalowane.
z astroquery.jplhorizons import Horizons
mars = Horizons(id=499, location='000', epochs=Brak, id_type='majorbody') eph = mars.ephemerides() print(eph)
Powinno to pokazać szczegóły lokalizacji Marsa!
Możesz sprawdzić, czy te dane są prawidłowe, korzystając z tej witryny, aby sprawdzić pozycje planet na żywo:
Aby nieco podzielić to zapytanie, id to liczba powiązana z Marsem w danych JPL, epoki to czas, z którego chcemy uzyskać dane (Brak oznacza teraz), a id_type pyta o główne ciała Układu Słonecznego. Lokalizacja jest obecnie ustawiona na Wielką Brytanię, ponieważ „000” to kod lokalizacji obserwatorium w Greenwich. Inne lokalizacje można znaleźć tutaj:
Rozwiązywanie problemów:
Jeśli pojawi się błąd: Brak modułu o nazwie „keyring.util.escape”
wypróbuj następujące polecenie w terminalu:
pip3 install --upgrade keyrings.alt
Krok 4: Kod
Do tego kroku dołączony jest pełny skrypt Pythona użyty w tym projekcie.
Aby znaleźć prawidłowe dane dla swojej lokalizacji, przejdź do funkcji getPlanetInfo i zmień lokalizację korzystając z listy obserwatoriów w poprzednim kroku.
def getPlanetInfo(planeta):
obj = Horizons(id=planeta, location='000', epoki=Brak, id_type='majorbody') eph = obj.ephemerides() return eph
Krok 5: Podłączanie sprzętu
Za pomocą płytek stykowych i przewodów połączeniowych połącz dwa silniki krokowe, ekran LCD i trzy przyciski, jak pokazano na schemacie powyżej.
Aby dowiedzieć się, jaki numer ma piny na twoim Raspberry Pi, przejdź do terminala i wpisz
pinout
Powinno to pokazać powyższy obrazek wraz z numerami GPIO i numerami płyt. Używamy numerów płytek, aby określić, które piny są używane w kodzie, więc będę odwoływał się do numerów w nawiasach.
Jako pomoc w schemacie obwodu, oto styki, które są połączone z każdą częścią:
1. silnik krokowy - 7, 11, 13, 15
Drugi silnik krokowy - 40, 38, 36, 32
Przycisk 1 - 33
Przycisk 2 - 37
Przycisk 3 - 35
Ekran LCD - 26, 24, 22, 18, 16, 12
Kiedy wszystko jest połączone, uruchom skrypt Pythona
python3 planetFinder.py
i powinieneś zobaczyć ekran pokazujący tekst konfiguracji, a przyciski powinny poruszać silnikami krokowymi.
Krok 6: Projektowanie obudowy
Etui zostało zaprojektowane do łatwego drukowania 3D. Rozpada się na oddzielne części, które są następnie sklejane po zabezpieczeniu elektroniki.
Otwory są dopasowane do przycisków, których użyłem i śrub M3.
Wydrukowałem teleskop w częściach i skleiłem je później, aby uniknąć zbyt dużej konstrukcji nośnej.
Do tego kroku dołączone są pliki STL.
Krok 7: Testowanie wydruków
Gdy wszystko zostanie wydrukowane, upewnij się, że wszystko dokładnie do siebie pasuje przed zakończeniem klejenia.
Dopasuj przyciski na miejscu i zabezpiecz ekran i silniki krokowe śrubami M3 i spraw, aby wszystko dobrze się poruszało. Spiłuj wszelkie szorstkie krawędzie, aby wszystko ponownie rozebrać przed następnym krokiem.
Krok 8: Wydłużenie silnika krokowego
Silnik krokowy, który będzie sterował kątem podniesienia teleskopu, będzie znajdował się nad obudową główną i potrzebuje trochę luzu na przewodach, aby się obracać. Przewody należy przedłużyć, przecinając je między stepperem a płytką sterowniczą i lutując między nimi nowy odcinek drutu.
Włożyłem nowy drut do wieży nośnej za pomocą kawałka nici, aby go przeciągnąć, ponieważ drut, którego używam, jest dość sztywny i ciągle się zacina. Po przejściu można go przylutować do silnika krokowego, upewniając się, który kolor jest podłączony, aby ponownie podłączyć właściwe na drugim końcu. Nie zapomnij o dodaniu koszulki termokurczliwej do przewodów!
Po przylutowaniu uruchom skrypt Pythona, aby sprawdzić, czy wszystko nadal działa, a następnie wepchnij przewody z powrotem w dół rury, aż silnik krokowy znajdzie się na swoim miejscu. Następnie można go przymocować do obudowy silnika krokowego za pomocą śrub i nakrętek M3 przed przyklejeniem tylnej części obudowy.
Krok 9: Zamontuj przyciski i ekran LCD
Włóż przyciski i dokręć nakrętki, aby zabezpieczyć je na miejscu przed lutowaniem. Lubię używać wspólnego przewodu uziemiającego, który biegnie między nimi, aby zachować porządek.
Zabezpiecz ekran LCD śrubami M3 i nakrętkami. LCD chce mieć potencjometr na jednym ze swoich pinów, który też na tym etapie wlutowałem.
Przetestuj kod ponownie! Upewnij się, że wszystko nadal działa, zanim wszystko skleimy, ponieważ na tym etapie jest to znacznie łatwiejsze do naprawienia.
Krok 10: Dodawanie kołnierzy
Aby połączyć drukowane części 3D z silnikami krokowymi, używamy sprzęgła kołnierzowego 5 mm, które jest mocowane na górze końca silnika krokowego i jest utrzymywane na miejscu za pomocą maleńkich śrub.
Jeden kołnierz jest przyklejony do podstawy obrotowej wieży, a drugi do teleskopu.
Mocowanie teleskopu do silnika na szczycie obrotowej wieży jest proste, ponieważ jest dużo miejsca, aby uzyskać dostęp do małych śrub mocujących go na miejscu. Drugi kołnierz jest trudniejszy do zamocowania, ale jest wystarczająco dużo szczeliny między główną obudową a podstawą obrotowej wieży, aby zmieścić mały klucz imbusowy i dokręcić śrubę.
Przetestuj ponownie!
Teraz wszystko powinno działać tak, jak będzie w stanie końcowym. Jeśli tak nie jest, nadszedł czas, aby naprawić błędy i upewnić się, że wszystkie połączenia są bezpieczne. Upewnij się, że odsłonięte przewody nie stykają się ze sobą, owiń taśmą elektryczną i załataj wszystkie miejsca, które mogą powodować problem.
Krok 11: Uruchom przy starcie
Zamiast uruchamiać kod ręcznie za każdym razem, gdy chcemy znaleźć planetę, chcemy, aby działał jako samodzielny eksponat, więc ustawimy go tak, aby uruchamiał nasz kod za każdym razem, gdy włącza się Raspberry Pi.
W terminalu wpisz
crontab -e
W pliku, który się otworzy, dodaj następujące na końcu pliku, a następnie nową linię.
@reboot python3 /home/pi/PlanetFinder/planetFinder.py &
Mam mój kod zapisany w folderze o nazwie PlanetFinder, więc /home/pi/PlanetFinder/planetFinder.py to lokalizacja mojego pliku. Jeśli twój jest zapisany w innym miejscu, zmień go tutaj.
Znak & na końcu jest ważny, ponieważ pozwala kodowi działać w tle, więc nie wstrzymuje innych procesów, które również zachodzą podczas rozruchu.
Krok 12: Sklej wszystko razem
Wszystko, co nie jest jeszcze przyklejone, powinno być teraz naprawione.
Na koniec dodaj mały kompas na środku obrotowej podstawy.
Krok 13: Użycie
Gdy Planet Finder włączy się, poprosi użytkownika o dostosowanie osi pionowej. Naciskanie przycisków góra i dół przesunie teleskop, spróbuj ustawić go w poziomie, wskazując w prawo, a następnie naciśnij przycisk ok (na dole).
Następnie użytkownik zostanie poproszony o dostosowanie obrotu, użyj przycisków, aby obrócić teleskop, aż będzie wskazywał północ zgodnie z małym kompasem, a następnie naciśnij OK.
Możesz teraz przełączać się między planetami za pomocą przycisków góra/dół i wybrać tę, którą chcesz znaleźć za pomocą przycisku OK. Wyświetli wysokość i azymut planety, a następnie skieruje się na nią przez kilka sekund, zanim odwróci się w stronę północy.
Krok 14: Zakończono
Wszystko gotowe!
Ciesz się wiedząc, gdzie są wszystkie planety:)
Pierwsza nagroda w kosmicznym wyzwaniu
Zalecana:
Licznik kroków - Micro:Bit: 12 kroków (ze zdjęciami)
Licznik kroków - Micro:Bit: Ten projekt będzie licznikiem kroków. Do pomiaru kroków użyjemy czujnika przyspieszenia wbudowanego w Micro:Bit. Za każdym razem, gdy Micro:Bit się trzęsie, dodamy 2 do licznika i wyświetlimy go na ekranie
Kitty Finder: 6 kroków
Kitty Finder: Jeśli czytasz ten Instruktaż, prawdopodobnie możesz być zmęczony, gdy twoje zwierzęta wychodzą co noc na zewnątrz. Dlatego wymyśliłem ten projekt o kompaktowym trackerze, który pozwoli ci łatwo znaleźć twoje szczenięta/kocięta na zewnątrz.Po prostu potrzebujesz
Arduino Dźwięk planet: 4 kroki
Arduino Sound of the Planets: Źródła: https://www.instructables.com/id/Arduino-Firef Projektuję ten projekt, ponieważ chcę, aby ludzie udawali, że słyszą dźwięki planety. A to bardzo prosty sposób na rozpoczęcie swojego pierwszego projektu Arduino, ponieważ jest łatwy, łatwy do zbudowania
Zegar planet wewnętrznych: 10 kroków
Zegar Inner Planets: W tej instrukcji pokażę, jak zamienić zwykły analogowy zegar ścienny w trzy unikalne projekty. Mam tutaj plik z oryginalnym projektem TinkerCAD. Pierwszym i głównym, który wykonamy, będzie wewnętrzny zegar planetarny, w którym w miarę upływu czasu
Molo 9: Smart Bone Fetch Finder™: 4 kroki (ze zdjęciami)
Pier 9: Smart Bone Fetch Finder™: Smart Bone Fetch Finder™, stworzony po raz pierwszy w roku 2027, umożliwia psom przejęcie kontroli nad tym, z kim są najlepszymi przyjaciółmi. W tej przyszłości psy będą podchodzić do ludzi w parkach i proponować zabawę w aportowanie jako usługę. Pierwsze pobranie jest bezpłatne, a