Tabla de contenido:
- Suministros
- Paso 1: Desmontaje de la cinta
- Paso 2: Dark Sky Pi
- Paso 3: el código
- Paso 4: Unicorn HAT & Servo
- Paso 5: Jiggle de auriculares
- Paso 6: Montaje
- Paso 7: Obsesión tranquila
Video: 1984 WeatherMan Pi: 7 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Este reproductor de casetes portátil es ahora una pantalla meteorológica de IoT ambiental con un estilo de principios de los 80, que muestra una animación de "condiciones actuales", un gráfico de temperatura de desplazamiento y probabilidad de lluvia a través de la ventana de la cinta. Cuando las condiciones climáticas cambian, los auriculares servocontrolados en la parte superior se mueven hacia adelante y hacia atrás como una alerta sutil.
Abriendo la puerta de la cinta funcional podemos ver que los polvorientos componentes originales han sido sustituidos por una Raspberry Pi Zero W, un Pimoroni Unicorn Hat HD (LED Matrix) y un pequeño servo. Los datos meteorológicos se obtienen mediante un script de Python que consulta la API de Dark Sky Weather ultraprecisa, adaptada a mi ubicación específica.
Es una construcción de IoT simple pero hermosa y funcional que se coloca en el altavoz de escritorio opuesto a mi mostrador de YouTube, manteniéndome al tanto del clima en silencio.
Suministros
Raspberry Pi Zero
Pimoroni Unicorn HAT HD
Servo pequeño
1984 Estéreo personal y auriculares Hitachi SP-1
Adaptador WiFi USB
Varilla roscada de 2 mm
Sugru (negro y gris)
Imán GeoMag
Paso 1: Desmontaje de la cinta
Mi suegra me regaló este viejo y encantador reproductor de casetes en septiembre y al instante me enamoré de su aspecto icónico y sus botones gruesos. Sin embargo, el verdadero atractivo fue esa gran ventana de cinta: después de poseerla durante unos 15 segundos, saqué una regla y me sorprendió descubrir que, en mm, es del mismo tamaño que un Raspberry Pi HAT estándar (hardware adjunto en la parte superior).
Ese descubrimiento por sí solo fue suficiente para empujar mi proyecto del reloj de cuco más abajo en la lista de "cosas por hacer" y comencé a trabajar de inmediato, desmantelando el reproductor.
El desmontaje fue bastante bien y terminé con tres piezas distintas con las que trabajar; logré romper un par de piezas de plástico, pero nada que no pudiera volver a pegarse.
Paso 2: Dark Sky Pi
He estado usando Dark Sky en mi teléfono durante un tiempo y me ha impresionado mucho la precisión de los pronósticos, así que me encantó ver que ofrecen una API completa que podría usar en este proyecto. Es agradable y sencillo de configurar. ¡arriba también!
En primer lugar, diríjase a https://darksky.net/dev y regístrese para obtener una cuenta gratuita; una cuenta de "prueba" le permite realizar 1000 solicitudes de API al día, lo que es suficiente para una actualización cada 1,5 minutos, con la frecuencia suficiente incluso para mi Nivel británico de obsesión por el clima.
Una vez que se haya registrado, obtendrá una "Clave secreta": esto es lo que necesita para acceder a los datos y se usa en el script de Python, así que téngala a mano (y, ya sabe, en secreto).
Comencé adaptando un script que usé en la compilación del Contador de suscriptores de YouTube, que usa el módulo Solicitudes en Python para recuperar datos de la API. El script que utilicé está en GitHub, solo deberá agregar su clave de API Dark Sky y, por supuesto, sustituir sus propios valores de latitud y longitud.
Fue bastante sencillo extraer datos sobre las condiciones climáticas actuales, y decidí hacer uso de los elementos "Icono", "Probabilidad de precipitación" y "Temperatura".
Paso 3: el código
Si desea reutilizar o saltar el código que usé, está en el repositorio WeatherMan en GitHub - clone o descargue la carpeta "weather" en la carpeta "pi" en su Raspberry Pi.
Las principales funciones del script son las siguientes:
weatherman.py
Este es el script principal que extrae los datos meteorológicos de Dark Sky. Deberá configurar una cuenta de Dark Sky en https://darksky.net/dev y poner su clave secreta en el script donde se indica. También deberá ingresar la latitud y la longitud de la ubicación meteorológica que le interesa; esto se puede encontrar en Google Maps, simplemente haga clic con el botón derecho y seleccione "¿Qué hay aquí?" y aparecerá una ventana emergente que muestra la latitud / longitud de la ubicación.
Después de recuperar los datos de la API, weatherman.py pasa parámetros a varios scripts más pequeños para iniciar las animaciones y los movimientos de los auriculares.
La secuencia de comandos está configurada para ejecutarse en el inicio mediante la edición del archivo de inicio …
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… Y agregando:
@ python3 /home/pi/weather/weatherman.py &
al final del archivo.
icon.py
Esta secuencia de comandos toma un parámetro de "condiciones actuales" de la secuencia de comandos weatherman.py y lo usa para mostrar una animación meteorológica de 16x16; todos están almacenados en la carpeta "iconos" y forman parte de la documentación estándar de Unicorn HAT HD. Puede editar los archivos de animación-p.webp
teléfonos.py
Si las condiciones meteorológicas han cambiado desde la última solicitud de API (o es una bota nueva y no está nevando), este script se llama desde weatherman.py e indica al servo que "se mueva" hacia adelante y hacia atrás para avisarle de que las condiciones han cambiado. cambió.
precip.py
Este script acepta un parámetro de "probabilidad de precipitación" de weatherman.py y muestra líneas en azul en el Unicorn HAT relacionadas con el% de probabilidad. Si el 100%, las 16 filas se iluminarán en azul, si el 50% solo 8 filas, etc.
temp.py
Otro script estándar de Pimoroni, éste toma un parámetro "temp" de weatherman.py y lo muestra con texto en movimiento. Está configurado para usar la fuente truetype Herkules (en la carpeta "fuentes") pero podría usar una fuente estándar si lo prefiere. ¡Incluso podría mejorarla para que el texto mostrado cambie de color dependiendo del valor de temperatura!
Paso 4: Unicorn HAT & Servo
Poder obtener los datos meteorológicos fue genial, pero ahora necesitaba mostrarlos en el Unicorn HAT. Miré varios conjuntos de iconos meteorológicos en Internet y estaba a medio camino de adaptarlos cuando me di cuenta de que había un ejemplo meteorológico incluido con la documentación de Pimoroni, ¡y esto incluía animaciones meteorológicas!
Esto me ahorró una gran cantidad de trabajo, y estaba listo y funcionando en poco tiempo, con un ícono animado para las condiciones actuales, algo de texto desplazable para la temperatura y un gráfico para el% de precipitación (que involucró algunas matemáticas ligeras). Mantuve los scripts separados y usé el módulo Subprocess de Python para pasar parámetros de un lado a otro.
Agregar el servo fue el vehículo ideal para estas alertas, ya que haría un poco de ruido y llamaría la atención sin ser demasiado molesto. Con el HAT ya ocupando muchos de los pines del Pi, soldé los cables del servo a la parte inferior de la placa, usando el pin 17 para controlar el movimiento del servo usando la modulación de ancho de pulso.
Alimentar el servo desde el Pi no era ideal, pero solo se usaría para un movimiento momentáneo, por lo que la precisión no era un gran problema aquí. Se conectó como se muestra en el diagrama, con cable marrón a GND, rojo a 5v y naranja (el cable de control) a GPIO17.
Por último, edité algunos de los archivos de animación del clima en GIMP para agregar mis propios toques personales, como murciélagos en la luna y una carita sonriente en el sol. También agregué una animación de rueda de casete personalizada "Old Tech New Spec" para que se reproduzca al inicio, solo por diversión.
Paso 5: Jiggle de auriculares
La idea del WeatherMan era que se sentaría pasivamente en el altavoz de mi escritorio, mostrando ocasionalmente el clima, ¡pero quería que hiciera un poco más! Los auriculares que venían con él eran tostados pero clásicos de los 80, así que decidí hacer algo con ellos. Después de quitar todo el cable y pegar en caliente el roto, me quedé con tres partes, el enchufe de 3,5 mm, el botón en forma de diamante y los propios teléfonos en su banda de metal flexible.
Se me ocurrió la idea de que si pudiera encontrar alguna forma de montar los teléfonos en la parte superior de la unidad, podría hacerlos girar hacia adelante y hacia atrás con un servo, y usar esto como una notificación adicional.
En primer lugar, perforé el tapón de 3,5 mm y desmonté el interruptor de diamante, luego los deslicé en un trozo de varilla roscada. A continuación, pegué una tuerca a un conector de plástico, para que la varilla pudiera asentarse de forma segura (y recta) sobre el servo. En el otro extremo de la varilla agregué otra tuerca. Finalmente utilicé Sugru gris para unir la parte superior de la varilla a la banda de los auriculares y también para cubrir la tuerca en la parte inferior del ensamblaje. Si no ha oído hablar de Sugru, es un pegamento moldeable que viene en pequeñas bolsitas de colores: se moldea como Play-Doh pero se pega como superglue y se endurece como el plástico.
Con el reciente clima frío, Sugru tardó unos días en endurecerse por completo, pero los auriculares y su soporte pronto estuvieron listos para el ensamblaje final.
Paso 6: Montaje
El Pi, HAT y Servo funcionaban bien en el banco, por lo que el siguiente trabajo era meterlos en el estuche. Antes de comenzar con los componentes grandes, utilicé un poco de Sugru gris sobrante para fijar en el dial de volumen, la toma de auriculares y el interruptor de "cinta de metal", clasificando los cosméticos. También pegué los botones Play, Stop, FF & Rew originales a un conducto de plástico para que permanecieran en el lugar correcto. Fue una pena no reutilizar ninguno de los botones esta vez, ¡pero realmente no había nada que controlar!
Usé lo último del Sugru gris para mantener el servo en posición, con su eje asomando a través de la toma de auriculares agrandada. Pasando a la otra mitad de la caja, usé un poco de Sugru negro para asegurar el conjunto HAT y Pi a la puerta de la cinta, de modo que se abrieran con ella. Realmente disfruté el pequeño toque final: fijarlo en un imán GeoMag para que la puerta se mantuviera cerrada firmemente.
Poner las dos mitades juntas fue un asunto nervioso, ya que temía que Pi y Servo chocaran entre sí, pero al final había alrededor de un milímetro de sobra, mucho en mi libro. Como la puerta de apertura original daría acceso completo al interior para futuras reparaciones, simplemente pegué las dos mitades con pegamento caliente y, después de limpiar mis huellas dactilares grasientas, coloqué el conjunto de auriculares en la parte superior, ¡listo!
Paso 7: Obsesión tranquila
Segundo premio en el Concurso de Reutilización
Recomendado:
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática Este / Oeste: 11 pasos (con imágenes)
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática de este a oeste: El proyecto: Una oficina de 200 pies cuadrados debe funcionar con baterías. La oficina también debe contener todos los controladores, baterías y componentes necesarios para este sistema. La energía solar y eólica cargará las baterías. Hay un pequeño problema de solo
Cómo: Instalación de Raspberry PI 4 Headless (VNC) con Rpi-imager e imágenes: 7 pasos (con imágenes)
Cómo: Instalar Raspberry PI 4 Headless (VNC) con Rpi-imager e imágenes: planeo usar este Rapsberry PI en un montón de proyectos divertidos en mi blog. No dudes en comprobarlo. Quería volver a usar mi Raspberry PI, pero no tenía un teclado ni un mouse en mi nueva ubicación. Ha pasado un tiempo desde que configuré una Raspberry
Inteligencia artificial y reconocimiento de imágenes con HuskyLens: 6 pasos (con imágenes)
Inteligencia artificial y reconocimiento de imágenes con HuskyLens: ¡Hola, chicos! Akarsh aquí de CETech. En este proyecto, vamos a echar un vistazo a HuskyLens de DFRobot. Es un módulo de cámara impulsado por inteligencia artificial que es capaz de realizar varias operaciones de inteligencia artificial como el reconocimiento facial
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: 6 pasos (con imágenes)
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: ya escribí un artículo sobre cómo ejecutar demostraciones de OpenMV en Sipeed Maix Bit y también hice un video de demostración de detección de objetos con esta placa. Una de las muchas preguntas que la gente ha hecho es: ¿cómo puedo reconocer un objeto que la red neuronal no está tr
Cómo desmontar una computadora con sencillos pasos e imágenes: 13 pasos (con imágenes)
Cómo desmontar una computadora con sencillos pasos e imágenes: esta es una instrucción sobre cómo desmontar una PC. La mayoría de los componentes básicos son modulares y se quitan fácilmente. Sin embargo, es importante que se organice al respecto. Esto ayudará a evitar que pierda piezas y también a que el reensamblaje sea más fácil