Taula de continguts:

Raspberry Pi Planet Finder: 14 passos (amb imatges)
Raspberry Pi Planet Finder: 14 passos (amb imatges)

Vídeo: Raspberry Pi Planet Finder: 14 passos (amb imatges)

Vídeo: Raspberry Pi Planet Finder: 14 passos (amb imatges)
Vídeo: He Was A Dark Man! ~ Untouched Abandoned Mansion of Mr. Jean-Louis 2024, Juliol
Anonim
Image
Image
Què necessites
Què necessites

Fora del Centre de Ciències de la meva ciutat hi ha una gran estructura metàl·lica que podria girar i apuntar cap a on es trobaven els planetes al cel. Mai no el vaig veure funcionar, però sempre vaig pensar que seria màgic saber on es trobaven aquests altres mons inabastables en relació amb el meu petit jo.

Quan vaig passar recentment per davant d’aquesta exposició morta fa molt de temps, vaig pensar que “podia fer això” i així ho vaig fer.

Aquesta és una guia sobre com fer el Planet Finder (amb la Lluna) perquè també pugueu saber on mirar quan us sentiu impressionat per l’espai.

Pas 1: el que necessiteu

Què necessites
Què necessites

1 x Raspberry Pi (versió 3 o superior per a wifi integrat)

1 pantalla LCD (16 x 2) (així)

2 x motors pas a pas amb controladors (28-BYJ48) (com aquests)

3 botons de pressió (com aquests)

2 x acoblaments de brida (com aquests)

1 x brúixola de botó (així)

8 x cargols M3 i femelles

Peces impreses en 3D per a la caixa i el telescopi

Pas 2: coordenades planetàries

Coordenades planetàries
Coordenades planetàries

Hi ha algunes maneres diferents de descriure on es troben els objectes astronòmics al cel.

Per a nosaltres, el que té més sentit utilitzar és el sistema de coordenades horitzontals tal com es mostra a la imatge superior. Aquesta imatge és de la pàgina de Viquipèdia enllaçada aquí:

en.wikipedia.org/wiki/Horizontal_coordinat…

El sistema de coordenades horitzontals us proporciona un angle des del nord (l’azimut) i cap amunt des de l’horitzó (l’altitud), de manera que és diferent en funció d’on busqueu al món. Per tant, el nostre cercador de planetes ha de tenir en compte la ubicació i tenir alguna manera de trobar el nord per ser una referència.

En lloc d’intentar calcular l’altitud i l’azimut que canvien amb el temps i la ubicació, utilitzarem la connexió wifi a bord del Raspberry Pi per buscar aquestes dades de la NASA. Realitzen un seguiment d’aquest tipus de coses, de manera que no ens cal;)

Pas 3: accedir a les dades del planeta

Obtenim les nostres dades del Laboratori de Propulsió per Reacció de la NASA (JPL) -

Per accedir a aquestes dades, fem servir una biblioteca anomenada AstroQuery, que és un conjunt d’eines per consultar formularis astronòmics i bases de dades. La documentació d’aquesta biblioteca es troba aquí:

Si aquest és el vostre primer projecte de Raspberry Pi, comenceu per seguir aquesta guia de configuració:

Si feu servir Raspbian al vostre Raspberry Pi (ho faràs si seguiu la guia anterior), ja teniu instal·lat python3, assegureu-vos que teniu instal·lada la versió més recent (estic fent servir la versió 3.7.3). Hem d’utilitzar-ho per obtenir pip. Obriu un terminal i escriviu el següent:

sudo apt instal·lar python3-pip

A continuació, podem utilitzar pip per instal·lar la versió actualitzada d’astroquery.

pip3 install --pre --upgrade astroquery

Abans de continuar amb la resta d'aquest projecte, proveu d'accedir a aquestes dades amb un simple script Python per assegurar-vos que totes les dependències adequades s'han instal·lat correctament.

des de astroquery.jplhorizons importen Horizons

mars = Horitzons (id = 499, ubicació = '000', èpoques = Cap, id_type = 'majorbody') eph = mars.ephemerides () print (eph)

Això us mostrarà els detalls de la ubicació de Mart.

Podeu comprovar si aquestes dades són correctes mitjançant aquest lloc per buscar posicions del planeta en viu:

Per desglossar una mica aquesta consulta, l’identificador és el nombre associat a Mart a les dades de JPL, les èpoques són el moment en què volem obtenir les dades (cap significa ara mateix) i id_type demana els principals cossos del sistema solar. Actualment, la ubicació està establerta al Regne Unit, ja que '000' és el codi de ubicació de l'observatori de Greenwich. Es poden trobar altres ubicacions aquí:

Resolució de problemes:

Si obteniu l'error: cap mòdul anomenat "keyring.util.escape"

proveu l'ordre següent al terminal:

pip3 install --upgrade keyrings.alt

Pas 4: Codi

A aquest pas s’adjunta l’escriptura python completa que s’utilitza en aquest projecte.

Per trobar les dades correctes per a la vostra ubicació, aneu a la funció getPlanetInfo i canvieu la ubicació mitjançant la llista d’observatoris del pas anterior.

def getPlanetInfo (planeta):

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

Pas 5: Connexió de maquinari

Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari

Mitjançant taulers de connexió i cables de pont, connecteu dos motors pas a pas, la pantalla LCD i tres botons, tal com es mostra al diagrama del circuit anterior.

Per saber quin número són els pins al vostre Raspberry Pi, aneu al terminal i escriviu

pinout

Això us mostrarà la imatge de dalt, amb números GPIO i números de tauler. Estem fent servir números de tauler per definir quins pins s’utilitzen al codi, de manera que faré referència als números entre claudàtors.

Com a ajuda al diagrama del circuit, aquí teniu els pins connectats a cada part:

Primer motor pas a pas: 7, 11, 13, 15

2n motor pas a pas: 40, 38, 36, 32

Botó 1 - 33

Botó 2 - 37

Botó3 - 35

Pantalla LCD: 26, 24, 22, 18, 16, 12

Quan tot estigui connectat, executeu l'script python

python3 planetFinder.py

i hauríeu de veure la pantalla que mostra el text de configuració i els botons haurien de moure els motors pas a pas.

Pas 6: dissenyar el cas

Disseny del cas
Disseny del cas
Disseny del cas
Disseny del cas
Disseny del cas
Disseny del cas

El cas va ser dissenyat per imprimir-se en 3D fàcilment. Es divideix en parts separades que després s’enganxen un cop s’ha fixat l’electrònica al seu lloc.

Els forats tenen la mida dels botons que he utilitzat i dels cargols M3.

Vaig imprimir el telescopi per parts i els vaig enganxar més tard per evitar una estructura de suport excessiva.

Els fitxers STL s’adjunten a aquest pas.

Pas 7: provar les impressions

Prova de les impressions
Prova de les impressions
Prova de les impressions
Prova de les impressions
Prova de les impressions
Prova de les impressions
Prova de les impressions
Prova de les impressions

Un cop imprès tot, assegureu-vos que tot s’ajusti perfectament abans d’acabar l’enganxament.

Col·loqueu els botons al seu lloc i assegureu la pantalla i els motors pas a pas amb cargols M3 i doneu a tot un bon moviment. Si elimineu les arestes rugoses, torneu a separar-ho tot abans del següent pas.

Pas 8: ampliació del motor pas a pas

Ampliació del motor pas a pas
Ampliació del motor pas a pas
Ampliació del motor pas a pas
Ampliació del motor pas a pas
Ampliació del motor pas a pas
Ampliació del motor pas a pas

El motor pas a pas que controlarà l’angle d’elevació del telescopi se situarà per sobre de la caixa principal i necessita una mica de folgada en els cables per tal de girar. Cal estendre els cables tallant-los entre el pas a pas i la placa del controlador i soldant una nova longitud de filferro pel mig.

Vaig introduir el nou fil a la torre de suport amb un tros de fil per ajudar-lo a fer-lo passar, ja que el fil que faig és bastant rígid i es va quedar atrapat. Un cop superat es pot soldar al motor pas a pas, assegurant-vos de fer un seguiment de quin color està connectat per tornar a connectar els correctes a l’altre extrem. No us oblideu d’afegir calor als cables.

Un cop soldat, executeu l’escriptura python per comprovar que tot funciona, i torneu a empènyer els cables cap avall del tub fins que el motor pas a pas estigui en posició. Després es pot fixar a la carcassa del motor pas a pas amb perns i femelles M3 abans que la part posterior de la carcassa quedi enganxada al seu lloc.

Pas 9: muntar botons i pantalla LCD

Botons de muntatge i pantalla LCD
Botons de muntatge i pantalla LCD
Botons de muntatge i pantalla LCD
Botons de muntatge i pantalla LCD
Botons de muntatge i pantalla LCD
Botons de muntatge i pantalla LCD
Botons de muntatge i pantalla LCD
Botons de muntatge i pantalla LCD

Introduïu els botons i premeu les femelles per fixar-les al lloc abans de soldar-les. M'agrada utilitzar un cable de terra comú que s'executa entre ells per tenir una netedat.

Assegureu la pantalla LCD amb perns i femelles M3. La pantalla LCD vol un potenciòmetre en un dels seus pins que també he soldat en aquesta etapa.

Torneu a provar el codi. Assegureu-vos que tot funcioni abans d’enganxar-ho tot, ja que és molt més fàcil de solucionar en aquesta etapa.

Pas 10: afegir brides

Afegint brides
Afegint brides
Afegint brides
Afegint brides
Afegint brides
Afegint brides
Afegint brides
Afegint brides

Per connectar les peces impreses en 3D als motors pas a pas, fem servir un acoblament de brida de 5 mm que s’adapta a la part superior del motor pas a pas i que es manté al seu lloc mitjançant petits cargols.

Una brida està enganxada a la base de la torre giratòria i l’altra al telescopi.

Fixar el telescopi al motor situat a la part superior de la torre giratòria és senzill, ja que hi ha molt espai per accedir als petits cargols que el mantenen al seu lloc. L'altra brida és més difícil d'assegurar, però hi ha prou espai entre la caixa principal i la base de la torre giratòria per ajustar-se a una petita clau Allen i estrènyer el cargol.

Torneu a provar!

Ara tot hauria de funcionar tal com estarà en el seu estat final. Si no és així, ara és el moment de corregir els errors i assegurar-vos que les connexions siguin segures. Assegureu-vos que els cables exposats no es toquin, doneu una volta amb cinta elèctrica i ajusteu els llocs que puguin causar un problema.

Pas 11: executeu-lo a l'inici

En lloc d’executar el codi manualment cada vegada que volem trobar un planeta, volem que s’executi com una exposició independent, de manera que el configurarem per executar el nostre codi sempre que s’engegui el Raspberry Pi.

Al terminal, escriviu

crontab -e

Al fitxer que s’obre, afegiu el següent al final del fitxer, seguit d’una nova línia.

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

Tinc el meu codi desat en una carpeta anomenada PlanetFinder, de manera que /home/pi/PlanetFinder/planetFinder.py és la ubicació del meu fitxer. Si el vostre està desat en un altre lloc, assegureu-vos de canviar-lo aquí.

El & al final és important ja que deixa que el codi s'executi en segon pla, de manera que no manté altres processos que també passen a l'arrencada.

Pas 12: enganxeu-ho tot junt

Enganxeu-ho tot junt!
Enganxeu-ho tot junt!
Enganxeu-ho tot junt!
Enganxeu-ho tot junt!

Ara s'hauria de solucionar tot el que encara no estigui enganxat al seu lloc.

Finalment, afegiu la minúscula brúixola al centre de la base giratòria.

Pas 13: Ús

Ús
Ús

Quan el Planet Finder s’encengui, demanarà a l’usuari que ajusti l’eix vertical. En prémer els botons amunt i avall es mourà el telescopi, intentarem que estigui pla, apuntant cap a la dreta i, a continuació, premem el botó OK (a la part inferior).

A continuació, se li demanarà a l’usuari que ajusti la rotació, que faci servir els botons per fer girar el telescopi fins que apunti cap al nord segons la brúixola petita i, a continuació, premeu OK.

Ara podeu recórrer els planetes mitjançant els botons amunt / avall i seleccionar-ne un que vulgueu trobar amb el botó OK. Es mostrarà l’altitud i l’azimut del planeta i després anirà assenyalant-lo durant uns segons abans de girar cap enrere cap al nord.

Pas 14: finalitzat

Acabat
Acabat

Tot fet!

Gaudeix de saber on es troben tots els planetes:)

Desafiament espacial
Desafiament espacial
Desafiament espacial
Desafiament espacial

Primer premi al Space Challenge

Recomanat: