Tabla de contenido:
- Paso 1: lo que necesita
- Paso 2: Coordenadas planetarias
- Paso 3: acceder a los datos del planeta
- Paso 4: Código
- Paso 5: Conexión del hardware
- Paso 6: diseño de la carcasa
- Paso 7: prueba de las impresiones
- Paso 8: extensión del motor paso a paso
- Paso 9: Monte los botones y la pantalla LCD
- Paso 10: Agregar bridas
- Paso 11: Ejecutar en el inicio
- Paso 12: ¡Péguelo todo junto
- Paso 13: uso
- Paso 14: terminado
Video: Buscador de planetas Raspberry Pi: 14 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Fuera del Centro de Ciencias de mi ciudad hay una gran estructura de metal que podría girar y señalar dónde estaban los planetas en el cielo. Nunca lo vi funcionar, pero siempre pensé que sería mágico saber dónde estaban realmente estos otros mundos inalcanzables en relación con mi pequeño yo.
Cuando pasé junto a esta exposición muerta hace mucho tiempo, pensé: "Apuesto a que podría hacer eso", ¡y así lo hice!
Esta es una guía sobre cómo hacer el Buscador de planetas (con la Luna) para que usted también sepa dónde buscar cuando se sienta asombrado por el espacio.
Paso 1: lo que necesita
1 x Raspberry Pi (versión 3 o superior para wifi integrado)
1 x pantalla LCD (16 x 2) (como esta)
2 x motores paso a paso con controladores (28-BYJ48) (como estos)
3 x pulsadores (como estos)
2 x acopladores de brida (como estos)
1 x botón de brújula (como este)
8 tornillos y tuercas M3
Piezas impresas en 3D para la caja y el telescopio
Paso 2: Coordenadas planetarias
Hay algunas formas diferentes de describir dónde se encuentran los objetos astronómicos en el cielo.
Para nosotros, el que tiene más sentido utilizar es el Sistema de coordenadas horizontales como se muestra en la imagen de arriba. Esta imagen es de la página de Wikipedia vinculada aquí:
en.wikipedia.org/wiki/Horizontal_coordinat…
El sistema de coordenadas horizontales le da un ángulo desde el norte (el acimut) y hacia arriba desde el horizonte (la altitud), por lo que es diferente según el lugar del mundo desde el que mire. Por lo tanto, nuestro buscador de planetas debe tener en cuenta la ubicación y tener alguna forma de encontrar el Norte para ser una referencia.
En lugar de intentar calcular la altitud y el azimut que cambian con la hora y la ubicación, utilizaremos la conexión wifi a bordo de la Raspberry Pi para buscar estos datos de la NASA. Realizan un seguimiento de este tipo de cosas para que no tengamos que hacerlo;)
Paso 3: acceder a los datos del planeta
Obtenemos nuestros datos del Laboratorio de Propulsión a Chorro de la NASA (JPL):
Para acceder a estos datos, utilizamos una biblioteca llamada AstroQuery, que es un conjunto de herramientas para consultar formularios web y bases de datos astronómicos. La documentación de esta biblioteca se encuentra aquí:
Si este es su primer proyecto de Raspberry Pi, comience siguiendo esta guía de configuración:
Si está usando Raspbian en su Raspberry Pi (lo estará si siguió la guía anterior), entonces ya tiene python3 instalado, asegúrese de tener instalada la versión más reciente (estoy usando la versión 3.7.3). Necesitamos usar esto para obtener pip. Abra una terminal y escriba lo siguiente:
sudo apt instalar python3-pip
Luego podemos usar pip para instalar la versión mejorada de astroquery.
pip3 install --pre --upgrade astroquery
Antes de continuar con el resto de este proyecto, intente acceder a estos datos con un simple script de Python para asegurarse de que todas las dependencias correctas se hayan instalado correctamente.
de astroquery.jplhorizons import Horizons
marte = Horizontes (id = 499, ubicación = '000', épocas = Ninguno, id_type = 'cuerpo mayor') eph = mars.ephemerides () print (eph)
¡Esto debería mostrarte los detalles de la ubicación de Marte!
Puede verificar si estos datos son correctos usando este sitio para buscar posiciones de planetas en vivo:
Para desglosar un poco esta consulta, la identificación es el número asociado con Marte en los datos del JPL, las épocas es el momento del que queremos los datos (Ninguno significa ahora) e id_type está preguntando por los cuerpos principales del sistema solar. La ubicación está establecida actualmente en el Reino Unido, ya que '000' es el código de ubicación del observatorio en Greenwich. Otras ubicaciones se pueden encontrar aquí:
Solución de problemas:
Si recibe el error: No hay módulo llamado 'keyring.util.escape'
prueba el siguiente comando en la terminal:
instalación de pip3 --upgrade keyrings.alt
Paso 4: Código
Adjunto a este paso está el script de Python completo utilizado en este proyecto.
Para encontrar los datos correctos para su ubicación, vaya a la función getPlanetInfo y cambie la ubicación usando la lista de observatorios en el paso anterior.
def getPlanetInfo (planeta):
obj = Horizontes (id = planeta, ubicación = '000', épocas = Ninguno, id_type = 'cuerpo mayor') eph = obj.ephemerides () return eph
Paso 5: Conexión del hardware
Usando placas de prueba y cables de puente, conecte dos motores paso a paso, la pantalla LCD y tres botones como se muestra en el diagrama de circuito anterior.
Para saber qué número de pines tiene su Raspberry Pi, vaya al terminal y escriba
pinout
Esto debería mostrarle la imagen de arriba completa con números GPIO y números de placa. Estamos usando números de placa para definir qué pines se usan en el código, por lo que haré referencia a los números entre paréntesis.
Como ayuda para el diagrama del circuito, aquí están los pines que están conectados a cada parte:
1er motor paso a paso - 7, 11, 13, 15
2do motor paso a paso - 40, 38, 36, 32
Botón1 - 33
Botón2 - 37
Botón3 - 35
Pantalla LCD: 26, 24, 22, 18, 16, 12
Cuando todo esto esté conectado, ejecute el script de Python
python3 planetFinder.py
y debería ver que la pantalla muestra el texto de configuración y los botones deben mover los motores paso a paso.
Paso 6: diseño de la carcasa
El estuche fue diseñado para ser impreso en 3D fácilmente. Se descompone en partes separadas que luego se pegan una vez que los componentes electrónicos se han asegurado en su lugar.
Los orificios tienen el tamaño de los botones que usé y los pernos M3.
Imprimí el telescopio en partes y las pegué juntas más tarde para evitar demasiada estructura de soporte.
Los archivos STL se adjuntan a este paso.
Paso 7: prueba de las impresiones
Una vez que todo esté impreso, asegúrese de que todo encaje perfectamente antes de pegar.
Coloque los botones en su lugar y asegure la pantalla y los motores paso a paso con pernos M3 y déle a todo un buen movimiento. Lime los bordes ásperos y desarma todo nuevamente antes del siguiente paso.
Paso 8: extensión del motor paso a paso
El motor paso a paso que controlará el ángulo de elevación del telescopio se colocará sobre la carcasa principal y necesita algo de holgura en los cables para poder girar. Los cables deben extenderse cortándolos entre el paso a paso y su placa de controlador y soldando una nueva longitud de cable en el medio.
Inserté el nuevo cable en la torre de soporte con un trozo de hilo para ayudar a pasarlo, ya que el cable que estoy usando es bastante rígido y se atasca. Una vez atravesado, se puede soldar al motor paso a paso, asegurándose de realizar un seguimiento de qué color está conectado para volver a colocar los correctos en el otro extremo. ¡No olvide agregar termorretráctil a los cables!
Una vez soldado, ejecute el script de Python para comprobar que todo sigue funcionando, luego empuje los cables hacia abajo del tubo hasta que el motor paso a paso esté en posición. Luego se puede unir a la carcasa del motor paso a paso con pernos y tuercas M3 antes de pegar la parte posterior de la carcasa.
Paso 9: Monte los botones y la pantalla LCD
Inserte los botones y apriete las tuercas para asegurarlos en su lugar antes de soldar. Me gusta usar un cable de tierra común que se extiende entre ellos para mayor pulcritud.
Asegure la pantalla LCD con tornillos y tuercas M3. La pantalla LCD quiere un potenciómetro en uno de sus pines que también soldé en esta etapa.
¡Prueba el código de nuevo! Asegúrese de que todo siga funcionando antes de pegar todo, ya que es mucho más fácil de arreglar en esta etapa.
Paso 10: Agregar bridas
Para conectar las piezas impresas en 3D a los motores paso a paso, utilizamos un acoplamiento de brida de 5 mm que encaja en la parte superior del extremo del motor paso a paso y se mantiene en su lugar mediante pequeños tornillos.
Una brida está pegada a la base de la torre giratoria y la otra al telescopio.
Fijar el telescopio al motor en la parte superior de la torre giratoria es simple, ya que hay mucho espacio para acceder a los pequeños tornillos que lo sujetan en su lugar. La otra brida es más difícil de asegurar, pero hay suficiente espacio entre la caja principal y la base de la torre giratoria para colocar una pequeña llave Allen y apretar el tornillo.
¡Prueba nuevamente!
Ahora todo debería estar funcionando como estará en su estado final. Si no es así, ahora es el momento de corregir los errores y asegurarse de que las conexiones sean seguras. Asegúrese de que los cables expuestos no se toquen entre sí, recorra con cinta aislante y repare cualquier lugar que pueda causar un problema.
Paso 11: Ejecutar en el inicio
En lugar de ejecutar el código manualmente cada vez que queremos encontrar un planeta, queremos que esto se ejecute como una exhibición independiente, por lo que lo configuraremos para que ejecute nuestro código cada vez que se encienda la Raspberry Pi.
En la terminal, escriba
crontab -e
En el archivo que se abre, agregue lo siguiente al final del archivo, seguido de una nueva línea.
@reboot python3 /home/pi/PlanetFinder/planetFinder.py &
Tengo mi código guardado en una carpeta llamada PlanetFinder, por lo que /home/pi/PlanetFinder/planetFinder.py es la ubicación de mi archivo. Si el tuyo está guardado en otro lugar, asegúrate de cambiarlo aquí.
El & al final es importante ya que permite que el código se ejecute en segundo plano, por lo que no detiene otros procesos que también ocurren en el arranque.
Paso 12: ¡Péguelo todo junto
Todo lo que no esté pegado en su lugar ahora debería estar fijo.
Finalmente, agregue la pequeña brújula en el medio de la base giratoria.
Paso 13: uso
Cuando el Planet Finder se enciende, le pedirá al usuario que ajuste el eje vertical. Presionando los botones arriba y abajo moverá el telescopio, intente nivelarlo, apuntando hacia la derecha, luego presione el botón OK (en la parte inferior).
Luego se le pedirá al usuario que ajuste la rotación, use los botones para girar el telescopio hasta que apunte al norte de acuerdo con la pequeña brújula, luego presione ok.
Ahora puede recorrer los planetas usando los botones arriba / abajo y seleccionar uno que le gustaría encontrar con el botón Aceptar. Mostrará la altitud y el azimut del planeta, luego irá y señalará durante unos segundos antes de volverse hacia el norte.
Paso 14: terminado
¡Todo listo!
Disfruta sabiendo dónde están todos los planetas:)
Primer premio en el Space Challenge
Recomendado:
Buscador de llaveros de IoT con ESP8266-01: 11 pasos (con imágenes)
Buscador de llaveros de IoT con ESP8266-01: ¿Eres como yo siempre olvidando dónde guardaste tus llaves? ¡Nunca encuentro mis llaves a tiempo! Y debido a este hábito mío, llegué tarde a mi universidad, esa venta de golosinas de Star Wars de edición limitada (¡todavía estoy preocupada!), Una cita (ella nunca eligió
Estuche rígido Apple TV Siri Remote con buscador de mosaicos Bluetooth: 7 pasos (con imágenes)
Estuche rígido Apple TV Siri Remote con buscador de mosaicos Bluetooth: una vez leí una descripción del iPhone como " ¡Una barra de mantequilla empapada en aceite y rociada con WD40 en buena medida! &Quot; Creo que fue cuando salió el modelo 6 y todos dejaron caer sus costosos teléfonos nuevos y rompieron el cristal
Sonido Arduino de los planetas: 4 pasos
Arduino Sound of the Planets: Fuentes: https://www.instructables.com/id/Arduino-Firef Diseño este proyecto porque quiero que la gente finja que puede escuchar los sonidos del planeta. Y esta es una forma muy simple de comenzar su primer proyecto Arduino, porque es fácil, fácil construir un
Buscador digital de postes: 6 pasos (con imágenes)
Buscador de montantes digital: Los buscadores de montantes son un concepto simple. Dos sensores capacitivos: uno envía una onda de pulso, el segundo recibe y mide la disminución de voltaje a través del material entre las dos placas. En un intento de avanzar en este diseño, este proyecto se planteó para ma
Buscador de distancia Attiny85: 4 pasos (con imágenes)
Buscador de distancia Attiny85: antes de hacer este instructable, acababa de obtener algunos Attinys nuevos (¿Attinies?) Y quería hacer algo con ellos. Fue entonces cuando me di cuenta de que mi telémetro ultrasónico no estaba siendo utilizado. Este buscador de distancia ultrasónico Attiny da la distancia