Cuprins:
- Pasul 1: De ce aveți nevoie
- Pasul 2: Coordonatele planetare
- Pasul 3: Accesarea datelor Planet
- Pasul 4: Cod
- Pasul 5: Conectarea hardware-ului
- Pasul 6: Proiectarea carcasei
- Pasul 7: Testarea tipăriturilor
- Pasul 8: Extinderea motorului pas cu pas
- Pasul 9: Montați butoanele și ecranul LCD
- Pasul 10: Adăugarea flanșelor
- Pasul 11: Rulați la pornire
- Pasul 12: lipiți totul împreună
- Pasul 13: utilizare
- Pasul 14: Finalizat
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
În afara Centrului de Științe din orașul meu există o structură metalică mare care ar putea să se întoarcă și să indice locul unde planetele erau pe cer. Nu l-am văzut niciodată funcționând, dar m-am gândit întotdeauna că ar fi magic să știu unde se află de fapt aceste alte lumi inaccesibile în raport cu sinele meu mic.
Când am trecut recent pe lângă această expoziție moartă de mult, m-am gândit „pariez că aș putea face asta” și așa am făcut!
Acesta este un ghid despre cum să faci Planet Finder (care prezintă Luna), astfel încât să știi și tu unde să te uiți când te simți uimit de spațiu.
Pasul 1: De ce aveți nevoie
1 x Raspberry Pi (versiunea 3 sau o versiune ulterioară pentru WiFi la bord)
1 x ecran LCD (16 x 2) (ca acesta)
2 x motoare pas cu pas cu drivere (28-BYJ48) (ca acestea)
3 x butoane push (ca acestea)
2 x cuplaje cu flanșă (ca acestea)
1 x busolă cu butoane (ca aceasta)
8 x șuruburi și piulițe M3
Piese imprimate 3D pentru carcasă și telescop
Pasul 2: Coordonatele planetare
Există câteva moduri diferite de a descrie unde se află obiectele astronomice pe cer.
Pentru noi, cel care are cel mai mult sens de utilizat este sistemul de coordonate orizontale, așa cum se arată în imaginea de mai sus. Această imagine este de pe pagina Wikipedia legată aici:
en.wikipedia.org/wiki/Horizontal_coordinat…
Sistemul de coordonate orizontale vă oferă un unghi față de nord (azimut) și în sus față de orizont (altitudine), deci este diferit în funcție de locul în care vă uitați în lume. Așadar, căutătorul nostru de planete trebuie să țină cont de locație și să aibă o modalitate de a găsi Nordul pentru a fi o referință.
În loc să încercăm să calculăm altitudinea și azimutul care se schimbă cu timpul și locația, vom folosi conexiunea wifi de la bordul Raspberry Pi pentru a căuta aceste date de la NASA. Ei țin evidența acestui tip de lucruri, astfel încât să nu avem nevoie;)
Pasul 3: Accesarea datelor Planet
Primim datele noastre de la NASA Jet Propulsion Laboratory (JPL) -
Pentru a accesa aceste date, utilizăm o bibliotecă numită AstroQuery, care este un set de instrumente pentru interogarea formularelor web astronomice și a bazelor de date. Documentația pentru această bibliotecă se găsește aici:
Dacă acesta este primul dvs. proiect Raspberry Pi, începeți urmând acest ghid de configurare:
Dacă utilizați Raspbian pe Raspberry Pi (veți fi dacă ați urmat ghidul de mai sus), atunci aveți deja instalat python3, asigurați-vă că aveți instalată cea mai recentă versiune (folosesc versiunea 3.7.3). Trebuie să folosim acest lucru pentru a obține pip. Deschideți un terminal și tastați următoarele:
sudo apt instalează python3-pip
Putem apoi folosi pip pentru a instala versiunea actualizată a astroquery.
pip3 install --pre --upgrade astroquery
Înainte de a continua cu restul acestui proiect, încercați să accesați aceste date cu un script Python simplu pentru a vă asigura că toate dependențele potrivite au fost instalate corect.
din astroquery.jplhorizons import Horizons
mars = Horizons (id = 499, location = '000', epochs = None, id_type = 'majorbody') eph = mars.ephemerides () print (eph)
Acest lucru ar trebui să vă arate detaliile locației Marte!
Puteți verifica dacă aceste date sunt corecte folosind acest site pentru a căuta pozițiile planetei în direct:
Pentru a descompune puțin această interogare, ID-ul este numărul asociat cu Marte în datele JPL, epocile sunt timpul din care dorim datele (Niciuna nu înseamnă acum) și id_type cere corpurile majore ale sistemului solar. Locația este în prezent setată la Marea Britanie, deoarece „000” este codul de locație pentru observatorul din Greenwich. Alte locații pot fi găsite aici:
Depanare:
Dacă primiți eroarea: Niciun modul numit „keyring.util.escape”
încercați următoarea comandă în terminal:
pip3 install --upgrade keyrings.alt
Pasul 4: Cod
La acest pas este atașat scriptul complet Python utilizat în acest proiect.
Pentru a găsi datele corecte pentru locația dvs., accesați funcția getPlanetInfo și modificați locația utilizând lista de observatoare din pasul anterior.
def getPlanetInfo (planeta):
obj = Horizons (id = planet, location = '000', epochs = None, id_type = 'majorbody') eph = obj.ephemerides () return eph
Pasul 5: Conectarea hardware-ului
Utilizând panouri și fire jumper, conectați două motoare pas cu pas, ecranul LCD și trei butoane așa cum se arată în schema de circuit de mai sus.
Pentru a afla ce număr sunt pinii de pe Raspberry Pi, accesați terminalul și tastați
pinout
Aceasta ar trebui să vă arate imaginea de mai sus, completată cu numerele GPIO și numerele de bord. Folosim numerele de bord pentru a defini care sunt pinii utilizați în cod, așa că voi face referință la numerele dintre paranteze.
Ca un ajutor pentru schema circuitului, iată pinii care sunt conectați la fiecare parte:
Primul motor pas cu pas - 7, 11, 13, 15
Al doilea motor pas cu pas - 40, 38, 36, 32
Butonul 1 - 33
Buton2 - 37
Butonul 3 - 35
Ecran LCD - 26, 24, 22, 18, 16, 12
Când totul este conectat, rulați scriptul python
python3 planetFinder.py
și ar trebui să vedeți ecranul afișând textul de configurare și butoanele ar trebui să deplaseze motoarele pas cu pas.
Pasul 6: Proiectarea carcasei
Carcasa a fost concepută pentru a fi imprimată 3D cu ușurință. Se descompune în părți separate care sunt apoi lipite împreună odată ce dispozitivele electronice au fost fixate în poziție.
Găurile sunt dimensionate pentru butoanele pe care le-am folosit și șuruburile M3.
Am tipărit telescopul în părți și le-am lipit mai târziu pentru a evita o structură de sprijin prea mare.
Fișierele STL sunt atașate la acest pas.
Pasul 7: Testarea tipăriturilor
Odată ce totul este tipărit, asigurați-vă că totul se potrivește strâns înainte de a face orice lipire.
Puneți butoanele în poziție și fixați ecranul și motoarele pas cu pas cu șuruburi M3 și dați totul la o mișcare bună. Îndepărtați orice margini aspre îndepărtați totul din nou înainte de pasul următor.
Pasul 8: Extinderea motorului pas cu pas
Motorul pas cu pas care va controla unghiul de înălțare al telescopului va sta deasupra carcasei principale și are nevoie de o slăbire a firelor pentru a se roti. Sârmele trebuie extinse prin tăierea acestora între trepte și placa driverului și lipirea unei noi lungimi de sârmă între ele.
Am introdus noul fir în turnul de susținere folosind o bucată de fir pentru a-l ajuta să-l coaxionez, deoarece firul pe care îl folosesc este destul de rigid și s-a blocat în continuare. Odată trecut, acesta poate fi lipit la motorul pas cu pas, asigurându-vă că țineți evidența culorii conectate pentru a le reatașa pe cele potrivite la celălalt capăt. Nu uitați să adăugați termocontractor la fire!
Odată lipit, rulați scriptul Python pentru a verifica dacă tot funcționează, apoi împingeți firele înapoi în jos până când motorul pas cu pas este în poziție. Apoi poate fi atașat la carcasa motorului pas cu pas cu șuruburi și piulițe M3 înainte ca partea din spate a carcasei să fie lipită în poziție.
Pasul 9: Montați butoanele și ecranul LCD
Introduceți butoanele și strângeți piulițele pentru a le fixa înainte de lipire. Îmi place să folosesc un fir comun de masă care rulează între ele pentru a fi îngrijit.
Fixați ecranul LCD cu șuruburi și piulițe M3. LCD-ul dorește un potențiometru pe unul dintre acei pini pe care i-am lipit și în această etapă.
Testați din nou codul! Asigurați-vă că totul funcționează încă înainte de a lipi totul împreună, deoarece este mult mai ușor de remediat în acest stadiu.
Pasul 10: Adăugarea flanșelor
Pentru a conecta piesele imprimate 3D la motoarele pas cu pas, folosim un cuplaj cu flanșă de 5 mm care se potrivește deasupra capătului motorului pas cu pas și este ținut în poziție de șuruburi mici.
O flanșă este lipită de baza turnului rotativ și cealaltă de telescop.
Atașarea telescopului la motorul de deasupra turnului rotativ este simplă, deoarece există mult spațiu pentru a accesa șuruburile mici care îl țin în poziție. Cealaltă flanșă este mai greu de fixat, dar există suficient spațiu între carcasa principală și baza turnului rotativ pentru a se potrivi cu o mică cheie Allen și a strânge șurubul.
Testează din nou!
Acum totul ar trebui să funcționeze așa cum va fi în starea sa finală. În caz contrar, este momentul să remediați erorile și să vă asigurați că conexiunile sunt sigure. Asigurați-vă că firele expuse nu se ating unul de celălalt, rotiți cu bandă electrică și fixați orice locuri care ar putea cauza o problemă.
Pasul 11: Rulați la pornire
În loc să rulăm manual codul de fiecare dată când dorim să găsim o planetă, dorim ca aceasta să ruleze ca o expoziție autonomă, așa că o vom configura pentru a rula codul nostru ori de câte ori Raspberry Pi pornește.
În terminal, tastați
crontab -e
În fișierul care se deschide, adăugați următoarele la sfârșitul fișierului, urmat de o nouă linie.
@reboot python3 /home/pi/PlanetFinder/planetFinder.py &
Am codul salvat într-un folder numit PlanetFinder, deci /home/pi/PlanetFinder/planetFinder.py este locația fișierului meu. Dacă a ta este salvată în altă parte, asigură-te că o schimbi aici.
& La sfârșit este important deoarece lasă codul să ruleze în fundal, deci nu reține alte procese care se întâmplă și în boot.
Pasul 12: lipiți totul împreună
Tot ceea ce nu este deja lipit pe loc ar trebui acum fixat.
În cele din urmă, adăugați compasul mic la mijlocul bazei rotative.
Pasul 13: utilizare
Când Planet Finder pornește, acesta va solicita utilizatorului să regleze axa verticală. Apăsând butoanele în sus și în jos va muta telescopul, încercați să îl atingeți la nivel, arătând spre dreapta, apoi apăsați butonul ok (în partea de jos).
Utilizatorul va fi apoi rugat să regleze rotația, să utilizeze butoanele pentru a roti telescopul până când acesta indică spre nord în funcție de busola mică, apoi apăsați ok.
Acum puteți parcurge planetele folosind butoanele sus / jos și selectați una pe care doriți să o găsiți cu butonul ok. Acesta va afișa altitudinea și azimutul planetei, apoi se va îndrepta spre ea pentru câteva secunde înainte de a se întoarce cu fața spre nord.
Pasul 14: Finalizat
Totul este gata!
Bucurați-vă să știți unde sunt toate planetele:)
Premiul I în Challenge Spațial
Recomandat:
Cum: Instalarea Raspberry PI 4 Headless (VNC) cu Rpi-imager și imagini: 7 pași (cu imagini)
Cum: Instalarea Raspberry PI 4 Headless (VNC) cu Rpi-imager și Pictures: Plănuiesc să folosesc acest Rapsberry PI într-o grămadă de proiecte distractive din blogul meu. Simțiți-vă liber să o verificați. Am vrut să mă întorc să folosesc Raspberry PI, dar nu aveam tastatură sau mouse în noua mea locație. A trecut ceva timp de când am configurat un Raspberry
Robot LEGO Gripper / Finder Ev3: 7 pași
Robot Ev3 Lego Gripper / Finder: Bună ziua! GrabBot este un robot multifuncțional căruia îi place să se rostogolească … Când dă peste un obiect mic, îl ridică și îl readuce la poziția sa inițială
Digital Stud Finder: 6 pași (cu imagini)
Digital Stud Finder: Stud Finders sunt un concept simplu. Doi senzori capacitivi: unul care trimite o undă de impuls, al doilea recepționează și măsoară scăderea tensiunii pe material între cele două plăci. În încercarea de a avansa acest design, acest proiect a fost propus să
Cum să dezasamblați un computer cu pași și imagini ușoare: 13 pași (cu imagini)
Cum să dezasamblați un computer cu pași și imagini ușoare: Aceasta este o instrucțiune despre cum să dezasamblați un computer. Majoritatea componentelor de bază sunt modulare și ușor de îndepărtat. Cu toate acestea, este important să fiți organizat în acest sens. Acest lucru vă va ajuta să nu vă pierdeți piese și, de asemenea, să faceți reasamblarea
Pier 9: Smart Bone Fetch Finder ™: 4 pași (cu imagini)
Pier 9: Smart Bone Fetch Finder ™: Smart Bone Fetch Finder ™ creat pentru prima dată în anul 2027, împuternicește câinii să preia controlul cu cine sunt cei mai buni prieteni. În acest viitor, câinii se vor apropia de oameni în parcuri și se vor oferi să se joace să aducă ca serviciu. Prima preluare este gratuită, un