Innehållsförteckning:

Raspberry Pi Planet Finder: 14 steg (med bilder)
Raspberry Pi Planet Finder: 14 steg (med bilder)

Video: Raspberry Pi Planet Finder: 14 steg (med bilder)

Video: Raspberry Pi Planet Finder: 14 steg (med bilder)
Video: Маленький лисенок вышел к людям за помощью 2024, November
Anonim
Image
Image
Vad du behöver
Vad du behöver

Utanför Science Center i min stad finns en stor metallstruktur som kan vända och peka på var planeterna var på himlen. Jag såg det aldrig fungera, men jag trodde alltid att det skulle vara magiskt att veta var dessa ouppnåeliga andra världar faktiskt befann sig i förhållande till mitt lilla jag.

När jag gick förbi denna för länge sedan döda utställning nyligen tänkte jag "jag slår vad om att jag kunde göra det" och det gjorde jag!

Detta är en guide om hur du gör Planet Finder (med månen) så att du också kan veta var du ska leta när du känner dig förvirrad av rymden.

Steg 1: Vad du behöver

Vad du behöver
Vad du behöver

1 x Raspberry Pi (version 3 eller högre för inbyggt wifi)

1 x LCD -skärm (16 x 2) (så här)

2 x Stegmotorer med drivrutiner (28-BYJ48) (som dessa)

3 x tryckknappar (som dessa)

2 x flänskopplingar (som dessa)

1 x knappkompass (så här)

8 x M3 bultar och muttrar

3D -tryckta delar för fodralet och teleskopet

Steg 2: Planetära koordinater

Planetära koordinater
Planetära koordinater

Det finns några olika sätt att beskriva var astronomiska föremål finns på himlen.

För oss är det som är mest meningsfullt att använda det horisontella koordinatsystemet som visas på bilden ovan. Den här bilden är från Wikipedia -sidan länkad här:

en.wikipedia.org/wiki/Horizontal_coordinat…

Det horisontella koordinatsystemet ger dig en vinkel från norr (Azimuth) och uppåt från horisonten (höjden), så det är olika beroende på var du tittar från i världen. Så vår planetfinder måste ta hänsyn till platsen och ha något sätt att hitta norr för att vara en referens.

Istället för att försöka beräkna höjden och Azimuth som ändras med tid och plats, kommer vi att använda wifi -anslutningen ombord på Raspberry Pi för att leta upp dessa data från NASA. De håller koll på sånt här så att vi inte behöver;)

Steg 3: Åtkomst till Planet Data

Vi får våra data från NASA Jet Propulsion Laboratory (JPL) -

För att komma åt dessa data använder vi ett bibliotek som heter AstroQuery som är en uppsättning verktyg för att söka efter astronomiska webbformulär och databaser. Dokumentationen för detta bibliotek finns här:

Om detta är ditt första Raspberry Pi -projekt, börja med att följa denna installationsguide:

Om du använder Raspbian på din Raspberry Pi (du kommer att vara om du följde guiden ovan), då har du redan installerat python3, se till att du har den senaste versionen installerad (jag använder version 3.7.3). Vi måste använda detta för att få pip. Öppna en terminal och skriv följande:

sudo apt installera python3-pip

Vi kan sedan använda pip för att installera den uppgraderade versionen av astroquery.

pip3 installera -före -uppgradera astroquery

Innan du fortsätter med resten av det här projektet, försök komma åt dessa data med ett enkelt Python -skript för att se till att alla rätt beroenden har installerats korrekt.

från astroquery.jplhorizons importera Horisonter

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

Detta bör visa dig detaljer om platsen för Mars!

Du kan kontrollera om dessa uppgifter stämmer genom att använda denna webbplats för att leta upp positioner på levande planeter:

För att bryta ner den här frågan lite är id: n antalet som är associerat med Mars i JPL: s data, epoker är den tid vi vill ha data från (Ingen betyder just nu) och id_type frågar efter solsystemets stora kroppar. Platsen är för närvarande inställd på Storbritannien eftersom '000' är platskoden för observatoriet i Greenwich. Andra platser hittar du här:

Felsökning:

Om du får felet: Ingen modul som heter 'keyring.util.escape'

prova följande kommando i terminalen:

pip3 installera -uppgradera nyckelringar.alt

Steg 4: Kod

Bifogat till detta steg är hela python -skriptet som används i detta projekt.

För att hitta rätt data för din plats, gå till funktionen getPlanetInfo och ändra platsen med hjälp av listan över observatorier i föregående steg.

def getPlanetInfo (planet):

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

Steg 5: Anslutning av hårdvara

Anslutning av hårdvara
Anslutning av hårdvara
Anslutning av hårdvara
Anslutning av hårdvara
Anslutning av hårdvara
Anslutning av hårdvara

Anslut två stegmotorer, LCD -skärmen och tre knappar enligt kretsschemat ovan med hjälp av brödbrädor och bygeltrådar.

För att ta reda på vilket nummer stiften är på din Raspberry Pi, gå till terminalen och skriv

pinout

Detta bör visa dig bilden ovan komplett med GPIO -nummer och kortnummer. Vi använder kortnummer för att definiera vilka stift som används i koden, så jag kommer att referera till siffrorna inom parentes.

Som ett hjälpmedel för kretsschemat är här stiften som är anslutna till varje del:

Första stegmotorn - 7, 11, 13, 15

2: a stegmotorn - 40, 38, 36, 32

Knapp 1 - 33

Knapp 2 - 37

Knapp 3 - 35

LCD -skärm - 26, 24, 22, 18, 16, 12

När allt är anslutet kör du python -skriptet

python3 planetFinder.py

och du bör se skärmen visa inställningstext och knapparna ska flytta stegmotorerna.

Steg 6: Designa fodralet

Design av fodralet
Design av fodralet
Design av fodralet
Design av fodralet
Design av fodralet
Design av fodralet

Fodralet är utformat för att enkelt skrivas ut i 3D. Den bryts ner i separata delar som sedan limmas ihop när elektroniken har säkrats på plats.

Hålen är dimensionerade för knapparna jag använde och M3 -bultar.

Jag tryckte ut teleskopet i delar och limmade ihop dem senare för att undvika för mycket stödstruktur.

STL -filer bifogas detta steg.

Steg 7: Testa utskrifterna

Testa utskrifterna
Testa utskrifterna
Testa utskrifterna
Testa utskrifterna
Testa utskrifterna
Testa utskrifterna
Testa utskrifterna
Testa utskrifterna

När allt är tryckt, se till att allt passar ihop innan någon limning görs.

Montera knapparna på plats och säkra skärmen och stegmotorerna med M3 -bultar och ge allt en bra vinkling. Arkivera alla grova kanter och ta isär allt igen innan nästa steg.

Steg 8: Förlängning av stegmotorn

Förlängning av stegmotorn
Förlängning av stegmotorn
Förlängning av stegmotorn
Förlängning av stegmotorn
Förlängning av stegmotorn
Förlängning av stegmotorn

Stegmotorn som kommer att styra teleskopets höjdvinkel kommer att sitta ovanför huvudhuset och behöver lite slack i trådarna för att rotera. Trådarna måste förlängas genom att klippa dem mellan steget och dess drivbräda och löda en ny trådlängd däremellan.

Jag satte in den nya tråden i stödtornet med en bit tråd för att hjälpa till att locka igenom den eftersom tråden jag använder är ganska stel och fastnade. En gång genom kan den lödas till stegmotorn, och se till att hålla reda på vilken färg som är ansluten för att åter fästa de rätta i andra änden. Glöm inte att lägga värmekrympning till ledningarna!

När du har lödt kör du python -skriptet för att kontrollera att allt fortfarande fungerar och skjut sedan tillbaka ledningarna ner i röret tills stegmotorn är på plats. Den kan sedan fästas på stegmotorhuset med M3 -bultar och muttrar innan husets baksida limmas på plats.

Steg 9: Montera knappar och LCD -skärm

Monteringsknappar och LCD -skärm
Monteringsknappar och LCD -skärm
Monteringsknappar och LCD -skärm
Monteringsknappar och LCD -skärm
Monteringsknappar och LCD -skärm
Monteringsknappar och LCD -skärm
Monteringsknappar och LCD -skärm
Monteringsknappar och LCD -skärm

Sätt i knapparna och dra åt muttrarna för att säkra dem på plats före lödning. Jag gillar att använda en vanlig jordledning som går mellan dem för att vara snygg.

Säkra LCD -skärmen med M3 -bultar och muttrar. LCD -skärmen vill ha en potentiometer på en av dess stift som jag också lödde i detta skede.

Testa koden igen! Se till att allt fortfarande fungerar innan vi limmar ihop allt eftersom det är mycket lättare att fixa i detta skede.

Steg 10: Lägga till flänsar

Lägga till flänsar
Lägga till flänsar
Lägga till flänsar
Lägga till flänsar
Lägga till flänsar
Lägga till flänsar
Lägga till flänsar
Lägga till flänsar

För att ansluta de 3D -tryckta delarna till stegmotorerna använder vi en 5 mm flänskoppling som passar ovanpå stegmotorns ände och hålls på plats med små skruvar.

Den ena flänsen är limmad på basen av det roterande tornet och den andra på teleskopet.

Att fästa teleskopet på motorn ovanpå det roterande tornet är enkelt eftersom det finns gott om plats att komma åt de små skruvarna som håller det på plats. Den andra flänsen är svårare att säkra, men det finns tillräckligt med mellanrum mellan huvudhuset och basen på det roterande tornet för att passa en liten insexnyckel och dra åt skruven.

Testa igen!

Nu borde allt fungera som det kommer att vara i sitt slutliga tillstånd. Om det inte är det nu är det dags att buggfixa och se till att alla anslutningar är säkra. Se till att exponerade ledningar inte vidrör varandra, gå runt med eltejp och lappa upp platser som kan orsaka problem.

Steg 11: Kör vid start

Istället för att köra koden manuellt varje gång vi vill hitta en planet, vill vi att den ska köras som en fristående utställning, så vi kommer att ställa in den för att köra vår kod när Raspberry Pi startar.

Skriv i terminalen

crontab -e

I filen som öppnas lägger du till följande i slutet av filen, följt av en ny rad.

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

Jag har min kod sparad i en mapp som heter PlanetFinder, så /home/pi/PlanetFinder/planetFinder.py är platsen för min fil. Om din är sparad någon annanstans, se till att ändra den här.

& I slutet är viktigt eftersom det låter koden köras i bakgrunden, så den håller inte andra processer som också händer i start.

Steg 12: Limma ihop allt

Limma ihop allt!
Limma ihop allt!
Limma ihop allt!
Limma ihop allt!

Allt som inte redan är limmat ska nu fixas.

Lägg till sist den lilla kompassen till mitten av den roterande basen.

Steg 13: Användning

Användande
Användande

När Planet Finder slås på kommer den att uppmana användaren att justera den vertikala axeln. Genom att trycka på upp- och nedknapparna flyttas teleskopet, försök att få det att vara jämnt, pekar åt höger och tryck sedan på ok -knappen (längst ner).

Användaren kommer sedan att bli ombedd att justera rotationen, använd knapparna för att snurra teleskopet tills det pekar norrut enligt den lilla kompassen, tryck sedan på ok.

Du kan nu cykla genom planeter med hjälp av upp/ner -knapparna och välja en du vill hitta med ok -knappen. Den kommer att visa planetens höjd och azimut och sedan gå och peka på den i några sekunder innan den vänder tillbaka mot norr.

Steg 14: Avslutad

Färdiga
Färdiga

Klart!

Njut av att veta var alla planeterna är:)

Space Challenge
Space Challenge
Space Challenge
Space Challenge

Första pris i rymdutmaningen

Rekommenderad: