Innehållsförteckning:
- Steg 1: Vad du behöver
- Steg 2: Planetära koordinater
- Steg 3: Åtkomst till Planet Data
- Steg 4: Kod
- Steg 5: Anslutning av hårdvara
- Steg 6: Designa fodralet
- Steg 7: Testa utskrifterna
- Steg 8: Förlängning av stegmotorn
- Steg 9: Montera knappar och LCD -skärm
- Steg 10: Lägga till flänsar
- Steg 11: Kör vid start
- Steg 12: Limma ihop allt
- Steg 13: Användning
- Steg 14: Avslutad
Video: Raspberry Pi Planet Finder: 14 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:39
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
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
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
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
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
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
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
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
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
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
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
Klart!
Njut av att veta var alla planeterna är:)
Första pris i rymdutmaningen
Rekommenderad:
IoT Keychain Finder Using ESP8266-01: 11 Steg (med bilder)
IoT Keychain Finder Använda ESP8266-01: Glömmer du som jag alltid att glömma var du förvarade dina nycklar? Jag hittar aldrig mina nycklar i tid! Och på grund av min vana har jag varit sen till mitt college, den där begränsade upplagan star wars försäljning (fortfarande oroande!), Ett datum (hon valde aldrig
Apple TV Siri fjärrhårt fodral med Bluetooth Tile Finder: 7 steg (med bilder)
Apple TV Siri fjärrhårt fodral med Bluetooth Tile Finder: Jag läste en gång en beskrivning av iPhone som en "smörsticka dränkt i olja och spritsad med WD40 för gott!" Jag tror att det var när modellen 6 kom ut och alla tappade sina dyra nya telefoner och krossade glaset.
AUTOMATISKT Sopor KAN ELLER BINK. ATT SPARA PLANET .: 19 steg (med bilder)
AUTOMATISKT Sopor KAN ELLER BINK. ATT SPARA PLANET .: Innan vi sätter igång skulle jag rekommendera dig att titta på den första videon innan du läser den här eftersom den är mycket användbar. Hej, jag heter Jacob och jag bor i Storbritannien. Återvinning är ett stort problem där jag bor. Jag ser mycket skräp på åkrarna och det kan vara skadligt. Det
Digital Stud Finder: 6 steg (med bilder)
Digital Stud Finder: Stud Finders är ett enkelt koncept. Två kapacitiva sensorer: en som skickar en pulsvåg den andra tar emot och mäter spänningsminskningen över material mellan de två plattorna
Attiny85 Distance Finder: 4 steg (med bilder)
Attiny85 Distance Finder: Innan jag gjorde den här instruerbara hade jag precis skaffat några nya Attinys (Attinies?) Och ville göra något med dem. Det var då jag märkte att min ultraljudsmätare ensam var oanvänd. Denna ultraljud Attiny avståndssökare ger avståndet