Indholdsfortegnelse:

Raspberry Pi Planet Finder: 14 trin (med billeder)
Raspberry Pi Planet Finder: 14 trin (med billeder)

Video: Raspberry Pi Planet Finder: 14 trin (med billeder)

Video: Raspberry Pi Planet Finder: 14 trin (med billeder)
Video: Необычный случай с Алексом Льюисом (документальный фильм о чудесном чуде) - Реальные истории 2024, Juli
Anonim
Image
Image
Hvad du har brug for
Hvad du har brug for

Uden for Science Center i min by er der en stor metalkonstruktion, som kunne dreje og pege på, hvor planeterne var på himlen. Jeg har aldrig set det virke, men jeg har altid tænkt, at det ville være magisk at vide, hvor disse utilgængelige andre verdener faktisk befandt sig i forhold til mit lille selv.

Da jeg for nylig gik forbi denne længe døde udstilling, tænkte jeg "jeg vedder på, at jeg kunne klare det", og det gjorde jeg!

Dette er en guide til, hvordan du laver Planet Finder (med månen), så du også kan vide, hvor du skal kigge, når du føler dig overvældet af rummet.

Trin 1: Hvad du har brug for

Hvad du har brug for
Hvad du har brug for

1 x Raspberry Pi (version 3 eller højere til indbygget wifi)

1 x LCD -skærm (16 x 2) (som denne)

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

3 x trykknapper (som disse)

2 x flangekoblinger (som disse)

1 x Knapkompas (som dette)

8 x M3 bolte og møtrikker

3D -printede dele til kabinettet og teleskopet

Trin 2: Planetære koordinater

Planetære koordinater
Planetære koordinater

Der er et par forskellige måder at beskrive, hvor astronomiske objekter er på himlen.

For os er den mest fornuftige at bruge det horisontale koordinatsystem som vist på billedet ovenfor. Dette billede er fra Wikipedia -siden linket her:

da.wikipedia.org/wiki/Horizontal_coordinat…

Det vandrette koordinatsystem giver dig en vinkel fra nord (Azimuth) og opad fra horisonten (højden), så det er forskelligt afhængigt af, hvor du ser fra i verden. Så vores planetfinder skal tage hensyn til placeringen og have en eller anden måde at finde Nord for at være en reference.

I stedet for at prøve at beregne højden og Azimuth, som ændrer sig med tid og placering, vil vi bruge wifi -forbindelsen ombord på Raspberry Pi til at slå disse data op fra NASA. De holder styr på den slags, så vi ikke behøver;)

Trin 3: Adgang til Planet Data

Vi får vores data fra NASA Jet Propulsion Laboratory (JPL) -

For at få adgang til disse data bruger vi et bibliotek kaldet AstroQuery, som er et sæt værktøjer til forespørgsel på astronomiske webformularer og databaser. Dokumentationen til dette bibliotek findes her:

Hvis dette er dit første Raspberry Pi -projekt, skal du starte med at følge denne opsætningsguide:

Hvis du bruger Raspbian på din Raspberry Pi (det vil du være, hvis du fulgte guiden ovenfor), så har du allerede installeret python3, sørg for at have den seneste version installeret (jeg bruger version 3.7.3). Vi skal bruge dette til at få pip. Åbn en terminal, og skriv følgende:

sudo apt installer python3-pip

Vi kan derefter bruge pip til at installere den opgraderede version af astroquery.

pip3 installer -før -opgrader astroquery

Inden du fortsætter med resten af dette projekt, skal du prøve at få adgang til disse data med et simpelt Python -script for at sikre, at alle de rigtige afhængigheder er blevet installeret korrekt.

fra astroquery.jplhorizons importerer Horisonter

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

Dette skulle vise dig detaljerne om Mars 'placering!

Du kan kontrollere, om disse data er rigtige ved hjælp af dette websted til at slå live planet -positioner op:

For at nedbryde denne forespørgsel lidt, er id'et det nummer, der er forbundet med Mars i JPL's data, epoker er den tid, vi ønsker dataene fra (Ingen betyder lige nu) og id_type beder om solsystemets store organer. Placeringen er i øjeblikket indstillet til Storbritannien, da '000' er stedskoden for observatoriet i Greenwich. Andre steder kan findes her:

Fejlfinding:

Hvis du får fejlen: Intet modul med navnet 'keyring.util.escape'

prøv følgende kommando i terminalen:

pip3 install -opgrader nøgleringe.alt

Trin 4: Kode

Vedhæftet dette trin er det fulde python -script, der bruges i dette projekt.

For at finde de korrekte data til din placering skal du gå til funktionen getPlanetInfo og ændre placeringen ved hjælp af listen over observatorier i det foregående trin.

def getPlanetInfo (planet):

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

Trin 5: Tilslutning af hardware

Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware

Ved hjælp af brødbrætter og jumperwires skal du tilslutte to trinmotorer, LCD -skærmen og tre knapper som vist i kredsløbsdiagrammet ovenfor.

For at finde ud af, hvilket nummer benene er på din Raspberry Pi, skal du gå til terminalen og skrive

pinout

Dette skulle vise dig billedet ovenfor komplet med GPIO -numre og tavlenumre. Vi bruger tavlenumre til at definere, hvilke ben der bruges i koden, så jeg vil referere til tallene i parentes.

Som en hjælp til kredsløbsdiagrammet er her stifterne, der er forbundet til hver del:

1. trinmotor - 7, 11, 13, 15

2. trinmotor - 40, 38, 36, 32

Knap1 - 33

Knap2 - 37

Knap3 - 35

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

Når alt dette er forbundet, skal du køre python -scriptet

python3 planetFinder.py

og du skal se skærmen vise opsætningstekst, og knapperne skal flytte trinmotorerne.

Trin 6: Design af sagen

Design af sagen
Design af sagen
Design af sagen
Design af sagen
Design af sagen
Design af sagen

Etuiet er designet til at blive printet let i 3D. Det brydes ned i separate dele, som derefter limes sammen, når elektronikken er fastgjort på plads.

Huller er dimensioneret til knapperne jeg brugte og M3 bolte.

Jeg printede teleskopet i dele og limede dem sammen senere for at undgå for meget understøtningsstruktur.

STL -filer er knyttet til dette trin.

Trin 7: Test af udskrifterne

Test af udskrifterne
Test af udskrifterne
Test af udskrifterne
Test af udskrifterne
Test af udskrifterne
Test af udskrifterne
Test af udskrifterne
Test af udskrifterne

Når alt er trykt, skal du sørge for, at alt passer godt sammen, før der limes.

Monter knapperne på plads, og fastgør skærmen og stepper motorer med M3 bolte og giv alt en god vrik. Arkivér eventuelle ru kanter, tag alt fra hinanden igen inden næste trin.

Trin 8: Forlængelse af trinmotoren

Forlængelse af trinmotoren
Forlængelse af trinmotoren
Forlængelse af trinmotoren
Forlængelse af trinmotoren
Forlængelse af trinmotoren
Forlængelse af trinmotoren

Steppermotoren, der styrer teleskopets højdevinkel, vil sidde over hovedhuset og har brug for lidt slap i ledningerne for at rotere. Ledningerne skal forlænges ved at skære dem mellem stepperen og dens driverbræt og lodde en ny trådlængde imellem.

Jeg indsatte den nye ledning i støttetårnet ved hjælp af et stykke tråd for at hjælpe med at lokke det igennem, da ledningen, jeg bruger, er ret stiv og blev ved med at sidde fast. Når den er igennem, kan den loddes til trinmotoren, og sørg for at holde styr på, hvilken farve der er tilsluttet for at genmontere de rigtige i den anden ende. Glem ikke at tilføje varmekrympning til ledningerne!

Når du er loddet, skal du køre python -scriptet for at kontrollere, at alt stadig fungerer, og derefter skubbe ledningerne tilbage ned i røret, indtil trinmotoren er på plads. Det kan derefter fastgøres til trinmotorhuset med M3 bolte og møtrikker, før husets bagside limes på plads.

Trin 9: Monter knapper og LCD -skærm

Monteringsknapper og LCD -skærm
Monteringsknapper og LCD -skærm
Monteringsknapper og LCD -skærm
Monteringsknapper og LCD -skærm
Monteringsknapper og LCD -skærm
Monteringsknapper og LCD -skærm
Monteringsknapper og LCD -skærm
Monteringsknapper og LCD -skærm

Indsæt knapperne, og stram møtrikkerne for at fastgøre dem på plads inden lodning. Jeg kan godt lide at bruge en fælles jordledning, der løber mellem dem for pænhed.

Fastgør LCD -skærmen med M3 bolte og møtrikker. LCD'et vil have et potentiometer på en af dets stifter, som jeg også loddet i denne fase.

Test koden igen! Sørg for, at alt stadig fungerer, før vi limer alt sammen, da det er meget lettere at reparere på dette tidspunkt.

Trin 10: Tilføjelse af flanger

Tilføjelse af flanger
Tilføjelse af flanger
Tilføjelse af flanger
Tilføjelse af flanger
Tilføjelse af flanger
Tilføjelse af flanger
Tilføjelse af flanger
Tilføjelse af flanger

For at forbinde de 3D -udskrevne dele til steppermotorerne bruger vi en 5 mm flangekobling, der passer oven på enden af trinmotoren og holdes på plads med små skruer.

Den ene flange limes til bunden af det roterende tårn og den anden til teleskopet.

Det er enkelt at fastgøre teleskopet til motoren oven på det roterende tårn, da der er masser af plads til at få adgang til de små skruer, der holder det på plads. Den anden flange er sværere at sikre, men der er nok mellemrum mellem hovedhuset og bunden af det roterende tårn til at passe til en lille unbrakonøgle og stramme skruen.

Test igen!

Nu skulle alt fungere, som det vil være i sin endelige tilstand. Hvis det ikke er det, er det nu tid til fejlrettelse og sikre, at forbindelserne alle er sikre. Sørg for, at udsatte ledninger ikke rører hinanden, gå rundt med elektrisk tape og lapp eventuelle steder op, der kan forårsage et problem.

Trin 11: Kør ved opstart

I stedet for at køre koden manuelt hver gang vi vil finde en planet, vil vi have, at denne skal køre som en stand alone -udstilling, så vi vil konfigurere den til at køre vores kode, når Raspberry Pi tændes.

Skriv i terminalen

crontab -e

I filen, der åbnes, skal du tilføje følgende til slutningen af filen efterfulgt af en ny linje.

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

Jeg har gemt min kode i en mappe kaldet PlanetFinder, så /home/pi/PlanetFinder/planetFinder.py er placeringen af min fil. Hvis din er gemt et andet sted, skal du sørge for at ændre den her.

& I slutningen er vigtig, da den lader koden køre i baggrunden, så den ikke holder andre processer, som også sker i boot.

Trin 12: Lim det hele sammen

Lim det hele sammen!
Lim det hele sammen!
Lim det hele sammen!
Lim det hele sammen!

Alt, der ikke allerede er limet på plads, skal nu rettes ind.

Til sidst tilføjes det lille kompas til midten af den roterende base.

Trin 13: Brug

Anvendelse
Anvendelse

Når Planet Finder tændes, vil den bede brugeren om at justere den lodrette akse. Ved at trykke på op- og ned -knapperne flyttes teleskopet, prøv at få det til at være i vater, peg til højre, og tryk derefter på knappen ok (nederst).

Brugeren bliver derefter bedt om at justere rotationen, brug knapperne til at dreje teleskopet, indtil det peger mod nord i henhold til det lille kompas, og tryk derefter på ok.

Du kan nu cykle gennem planeter ved hjælp af op/ned -knapperne og vælge en, du gerne vil finde med ok -knappen. Det vil vise planetens højde og azimut og derefter gå og pege på det i et par sekunder, før det vender tilbage til nord.

Trin 14: Færdig

Færdig
Færdig

Helt færdig!

Nyd at vide, hvor alle planeterne er:)

Space Challenge
Space Challenge
Space Challenge
Space Challenge

Første præmie i Space Challenge

Anbefalede: