Innholdsfortegnelse:

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

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

Video: Raspberry Pi Planet Finder: 14 trinn (med bilder)
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Juli
Anonim
Image
Image
Hva trenger du
Hva trenger du

Utenfor Science Center i byen min er det en stor metallkonstruksjon som kan snu og peke på hvor planetene var på himmelen. Jeg har aldri sett det fungere, men jeg har alltid tenkt at det ville være magisk å vite hvor disse utilgjengelige andre verdenene faktisk var i forhold til mitt lille jeg.

Da jeg gikk forbi denne lenge døde utstillingen nylig tenkte jeg "jeg vedder på at jeg kunne klare det", og det gjorde jeg!

Dette er en guide for hvordan du lager Planet Finder (med månen), slik at du også kan vite hvor du skal lete når du føler deg overveldet av verdensrommet.

Trinn 1: Det du trenger

Hva trenger du
Hva trenger du

1 x Raspberry Pi (versjon 3 eller høyere for innebygd wifi)

1 x LCD -skjerm (16 x 2) (som denne)

2 x Steppermotorer med drivere (28-BYJ48) (som disse)

3 x trykknapper (som disse)

2 x flenskoblinger (som disse)

1 x knappekompass (som dette)

8 x M3 bolter og muttere

3D -trykte deler til saken og teleskopet

Trinn 2: Planetære koordinater

Planetære koordinater
Planetære koordinater

Det er noen forskjellige måter å beskrive hvor astronomiske objekter er på himmelen.

For oss er det som er mest fornuftig å bruke, det horisontale koordinatsystemet som vist på bildet ovenfor. Dette bildet er fra Wikipedia -siden lenket her:

en.wikipedia.org/wiki/Horizontal_coordinat…

Det horisontale koordinatsystemet gir deg en vinkel fra nord (Azimuth) og oppover fra horisonten (høyden), så det er forskjellig avhengig av hvor du ser fra i verden. Så vår planetfinner må ta hensyn til plasseringen og ha en måte å finne Nord for å være en referanse.

I stedet for å prøve å beregne høyden og Azimuth som endres med tid og plassering, bruker vi wifi -tilkoblingen ombord på Raspberry Pi for å slå opp disse dataene fra NASA. De holder styr på denne typen ting, så vi slipper det;)

Trinn 3: Få tilgang til Planet Data

Vi henter dataene våre fra NASA Jet Propulsion Laboratory (JPL) -

For å få tilgang til disse dataene bruker vi et bibliotek kalt AstroQuery som er et sett med verktøy for å spørre etter astronomiske webskjemaer og databaser. Dokumentasjonen for dette biblioteket finnes her:

Hvis dette er ditt første Raspberry Pi -prosjekt, starter du med å følge denne oppsettguiden:

Hvis du bruker Raspbian på Raspberry Pi (det vil du gjøre hvis du fulgte guiden ovenfor), så har du allerede installert python3, sørg for at du har den siste versjonen installert (jeg bruker versjon 3.7.3). Vi må bruke dette for å få pip. Åpne en terminal og skriv inn følgende:

sudo apt installer python3-pip

Vi kan deretter bruke pip til å installere den oppgraderte versjonen av astroquery.

pip3 installere -før -oppgradere astroquery

Før du fortsetter med resten av dette prosjektet, kan du prøve å få tilgang til disse dataene med et enkelt Python -skript for å sikre at alle de riktige avhengighetene er installert riktig.

fra astroquery.jplhorizons importerer Horisonter

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

Dette skulle vise deg detaljene om plasseringen av Mars!

Du kan sjekke om disse dataene er riktige ved å bruke dette nettstedet til å finne posisjoner på levende planeter:

For å bryte ned denne spørringen litt, er id nummeret som er knyttet til Mars i JPLs data, epoker er tiden vi ønsker dataene fra (Ingen betyr akkurat nå) og id_type ber om de store kroppene i solsystemet. Stedet er for øyeblikket satt til Storbritannia som '000' er posisjonskoden for observatoriet i Greenwich. Andre steder finner du her:

Feilsøking:

Hvis du får feilen: Ingen modul som heter 'keyring.util.escape'

prøv følgende kommando i terminalen:

pip3 install -oppgrader nøkkelringer.alt

Trinn 4: Kode

Vedlagt dette trinnet er hele python -skriptet som ble brukt i dette prosjektet.

For å finne riktige data for posisjonen din, gå til funksjonen getPlanetInfo og endre plasseringen ved hjelp av listen over observatorier i forrige trinn.

def getPlanetInfo (planet):

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

Trinn 5: Koble til maskinvare

Koble til maskinvare
Koble til maskinvare
Koble til maskinvare
Koble til maskinvare
Koble til maskinvare
Koble til maskinvare

Koble sammen to trinnmotorer, LCD -skjermen og tre knapper som vist i kretsdiagrammet ovenfor ved hjelp av brødbrett og jumperkabler.

For å finne ut hvilket nummer pinnene er på din Raspberry Pi, gå til terminalen og skriv

pinout

Dette skal vise deg bildet ovenfor komplett med GPIO -tall og tavlenumre. Vi bruker tavlenumre for å definere hvilke pinner som brukes i koden, så jeg vil referere til tallene i parentes.

Som et hjelpemiddel for kretsdiagrammet, her er pinnene som er koblet til hver del:

Første trinnmotor - 7, 11, 13, 15

2. trinnmotor - 40, 38, 36, 32

Knapp 1 - 33

Knapp 2 - 37

Knapp 3 - 35

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

Når alt dette er tilkoblet, kjører du python -skriptet

python3 planetFinder.py

og du bør se skjermen vise oppsetttekst og knappene skal flytte trinnmotorene.

Trinn 6: Designe saken

Design av saken
Design av saken
Design av saken
Design av saken
Design av saken
Design av saken

Etuiet er designet for å enkelt kunne skrives ut i 3D. Den brytes ned i separate deler som deretter limes sammen når elektronikken er festet på plass.

Hullene er dimensjonert for knappene jeg brukte og M3 bolter.

Jeg trykte teleskopet i deler og limte dem sammen senere for å unngå for mye støttestruktur.

STL -filer er vedlagt dette trinnet.

Trinn 7: Test utskriftene

Test av utskriftene
Test av utskriftene
Test av utskriftene
Test av utskriftene
Test av utskriftene
Test av utskriftene
Test av utskriftene
Test av utskriftene

Når alt er skrevet ut, må du kontrollere at alt passer godt sammen før limingen utføres.

Sett knappene på plass og fest skjermen og trinnmotorene med M3 -bolter og gi alt en god vrik. Fil ned eventuelle grove kanter ta alt fra hverandre igjen før neste trinn.

Trinn 8: Forlengelse av trinnmotoren

Forlengelse av trinnmotoren
Forlengelse av trinnmotoren
Forlengelse av trinnmotoren
Forlengelse av trinnmotoren
Forlengelse av trinnmotoren
Forlengelse av trinnmotoren

Steppermotoren som styrer teleskopets høydevinkel vil sitte over hovedhuset og trenger litt slakk i ledningene for å rotere. Ledningene må forlenges ved å kutte dem mellom stepper og driverbordet og lodde en ny trådlengde i mellom.

Jeg satte den nye ledningen inn i støttetårnet ved hjelp av et stykke tråd for å hjelpe til med å lokke den gjennom, da ledningen jeg bruker er ganske stiv og ble sittende fast. En gang gjennom kan den loddes til trinnmotoren, og sørg for å holde oversikt over hvilken farge som er koblet til for å feste de riktige i den andre enden. Ikke glem å legge til varmekrymping på ledningene!

Når du er loddet, kjører du python -skriptet for å kontrollere at alt fortsatt fungerer, og skyver deretter ledningene tilbake nedover røret til trinnmotoren er på plass. Den kan deretter festes til trinnmotorhuset med M3 -bolter og muttere før baksiden av huset limes på plass.

Trinn 9: Monter knapper og LCD -skjerm

Monteringsknapper og LCD -skjerm
Monteringsknapper og LCD -skjerm
Monteringsknapper og LCD -skjerm
Monteringsknapper og LCD -skjerm
Monteringsknapper og LCD -skjerm
Monteringsknapper og LCD -skjerm
Monteringsknapper og LCD -skjerm
Monteringsknapper og LCD -skjerm

Sett inn knappene og stram mutrene for å feste dem på plass før lodding. Jeg liker å bruke en vanlig jordledning som går mellom dem for ryddighet.

Fest LCD -skjermen med M3 bolter og muttere. LCD -skjermen ønsker et potensiometer på en av pinnene, som jeg også loddet på i dette stadiet.

Test koden igjen! Sørg for at alt fortsatt fungerer før vi limer alt sammen, da det er mye lettere å fikse på dette stadiet.

Trinn 10: Legge til flenser

Legge til flenser
Legge til flenser
Legge til flenser
Legge til flenser
Legge til flenser
Legge til flenser
Legge til flenser
Legge til flenser

For å koble de 3D -trykte delene til trinnmotorene bruker vi en 5 mm flenskobling som passer på toppen av enden av trinnmotoren og holdes på plass med små skruer.

Den ene flensen limes til bunnen av det roterende tårnet og den andre til teleskopet.

Det er enkelt å feste teleskopet til motoren på toppen av det roterende tårnet, da det er god plass til de små skruene som holder det på plass. Den andre flensen er vanskeligere å sikre, men det er nok mellomrom mellom hovedhuset og bunnen av det roterende tårnet for å passe til en liten unbrakonøkkel og stramme skruen.

Test igjen!

Nå burde alt fungere som det vil være i sin endelige tilstand. Hvis det ikke er det, er det på tide å feilsøke og sørge for at alle tilkoblinger er sikre. Sørg for at ledninger som ikke er utsatt for berøring av hverandre, gå rundt med elektrisk tape og lapp opp steder som kan forårsake et problem.

Trinn 11: Kjør ved oppstart

I stedet for å kjøre koden manuelt hver gang vi ønsker å finne en planet, vil vi at denne skal kjøres som en frittstående utstilling, så vi skal sette den opp for å kjøre koden vår når Raspberry Pi slås på.

I terminalen skriver du inn

crontab -e

I filen som åpnes, legger du til følgende i slutten av filen, etterfulgt av en ny linje.

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

Jeg har koden min lagret i en mappe som heter PlanetFinder, så /home/pi/PlanetFinder/planetFinder.py er plasseringen av filen min. Hvis din er lagret et annet sted, må du endre den her.

& På slutten er viktig da den lar koden kjøre i bakgrunnen, så den holder ikke andre prosesser som også skjer i oppstart.

Trinn 12: Lim alt sammen

Lim alt sammen!
Lim alt sammen!
Lim alt sammen!
Lim alt sammen!

Alt som ikke allerede er limt på plass, bør nå fikses.

Til slutt legger du det lille kompasset til midten av den roterende basen.

Trinn 13: Bruk

Bruk
Bruk

Når Planet Finder slås på, vil den be brukeren om å justere den vertikale aksen. Ved å trykke på opp- og nedknappene vil du flytte teleskopet, prøve å få det til å være i vater, peke til høyre, og trykk deretter på ok -knappen (nederst).

Brukeren blir deretter bedt om å justere rotasjonen, bruk knappene til å snu teleskopet til det peker nordover i henhold til det lille kompasset, og trykk deretter på ok.

Du kan nå bla gjennom planeter ved å bruke opp/ned -knappene og velge en du vil finne med ok -knappen. Den vil vise planetens høyde og azimut og deretter gå og peke på den i noen sekunder før den vender tilbake til nord.

Trinn 14: Ferdig

Ferdig
Ferdig

Ferdig!

Kos deg med å vite hvor alle planetene er:)

Space Challenge
Space Challenge
Space Challenge
Space Challenge

Førstepremie i Space Challenge

Anbefalt: