Imagina caminar por una conferencia con los últimos titulares de noticias apareciendo en tu badge… chapa / identificador. Gracias a la combinación de un Raspberry Pi Pico W y algunos componentes adicionales, puedes hacer este sueño realidad. En Tomshardware, cuentan hasta el más mínimo detalle cómo crear un badge conectado que no solo es funcional, sino que también tiene el aspecto retro de un disquete de 3.5 pulgadas. Te guiaremos paso a paso en el proceso de impresión 3D, ensamblaje de componentes electrónicos y programación del dispositivo para mostrar noticias en tiempo real.
La idea detrás del proyecto
El objetivo del proyecto es crear un badge que muestre los titulares de noticias en tiempo real, utilizando un Raspberry Pi Pico W y una pantalla epaper Pimoroni Pico Inky Pack. Este proyecto nació del deseo de nuestro editor en jefe de tener un badge dinámico para eventos, y la idea de usar un disquete como carcasa surgió al encontrar uno en el escritorio. No solo es una pieza funcional, sino también un gran punto de conversación en cualquier conferencia.
Componentes necesarios
Para este proyecto, necesitarás los siguientes componentes:
- Raspberry Pi Pico W
- Batería LiPo
- Controlador de carga LiPo Amigo Pro
- Pantalla epaper Pico Inky Pack (2.9 pulgadas, 296 x 128 píxeles)
- Cables jumper JST
- Cinta de espuma de doble cara
- Equipamiento de soldadura
- Impresora 3D y filamento
Impresión 3D del disquete
Primero, necesitamos imprimir la carcasa del disquete en 3D. Descargamos un archivo STL de un disquete de 3.5 pulgadas y lo modificamos en Tinkercad para crear un espacio para los componentes electrónicos.
- Descarga y edición del archivo STL: Asegúrate de que el tamaño del disquete coincida con las dimensiones de un disquete real (88.8 x 91.77 x 3.3 mm). Usa la herramienta de vaciado para crear un hueco de 52 x 21 x 20 mm en el centro del disquete.
- Creación del hueco: Coloca el hueco en el centro del disquete y asegúrate de que atraviese la carcasa. Esto proporcionará el espacio necesario para los pines GPIO del Raspberry Pi Pico y la pantalla Pico Inky Pack.
- Personalización: Usa la herramienta de texto para añadir tu usuario de Twitter en la etiqueta del badge. Asegúrate de que el texto esté incrustado en el disquete.
- Exportación del archivo STL: Exporta el archivo modificado como STL y prepáralo para la impresión en tu software de corte preferido. Configura la altura de capa a 0.20 mm y el relleno al 20%. Habilita el alisado de la capa superior para un acabado suave.
- Impresión: Inicia la impresión, que debería tardar entre 90 minutos y tres horas dependiendo de tu impresora. «Nosotros» utilizamos una Elegoo Neptune 3 Pro y el proceso duró aproximadamente tres horas.
Programación del Badge
Ahora que la carcasa está impresa, es hora de escribir el código para el badge. Utilizaremos MicroPython, específicamente la versión de Pimoroni para el Inky Frame.
- Descarga de MicroPython: Descarga el archivo UF2 de Pimoroni MicroPython desde su repositorio de GitHub.
- Configuración del Raspberry Pi Pico: Conecta el Pico a tu ordenador mientras mantienes presionado el botón BOOTSEL. Suelta el botón cuando aparezca la unidad RPI-RP2 en tu ordenador. Arrastra y suelta el archivo UF2 en la unidad RPI-RP2. El Pico se reiniciará y ejecutará MicroPython.
- Instalación de Thonny: Si no tienes Thonny, descárgalo e instálalo desde su sitio web. Thonny es un editor de Python diseñado para microcontroladores.
- Configuración de Thonny: Conecta el Raspberry Pi Pico y en Thonny ve a Herramientas > Opciones y selecciona MicroPython (Raspberry Pi Pico) en el menú de intérpretes. Asegúrate de que Thonny detecte automáticamente el Pico.
Escribiendo el código
- Creación de archivos esenciales: Crea un nuevo archivo llamado
secrets.py
y guarda tus credenciales Wi-Fi:python
SSID = "TU-WIFI"
PASSWORD = "TU-CONTRASEÑA"
- Código principal: Crea y guarda un archivo
main.py
en el Pico. Este archivo se ejecutará automáticamente al encender el dispositivo. Importa los módulos necesarios:python
from picographics import PicoGraphics, DISPLAY_INKY_PACK as DISPLAY
import network
import secrets
import uasyncio
from urllib import urequest
import gc
import qrcode
import time
- Configuración del Wi-Fi: Configura la conexión Wi-Fi en el código:
python
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(secrets.SSID, secrets.PASSWORD)
time.sleep(5) # Pausa de 5 segundos para asegurar la conexión
- Descarga y visualización de noticias: Escribe el código para descargar los titulares y mostrarlos en la pantalla epaper. Este es un ejemplo básico:
python
URL = "URL_DE_NOTICIAS"
def obtener_titulares():
response = urequest.urlopen(URL)
datos = response.read()
response.close()
return datosasync def mostrar_titulares():
while True:
titulares = obtener_titulares()
pantalla = PicoGraphics(display=DISPLAY)
pantalla.set_pen(0) # Fondo negro
pantalla.clear()
pantalla.set_pen(15) # Texto blanco
pantalla.text(titulares, 10, 10, scale=2)
pantalla.update()
await uasyncio.sleep(600) # Actualiza cada 10 minutosuasyncio.run(mostrar_titulares())
Reflexiones adicionales
Este proyecto no solo es una excelente forma de mostrar creatividad e innovación en eventos, sino también una manera práctica de mantenerse actualizado con las últimas noticias. La combinación de tecnología moderna y un diseño retro hace que este badge sea tanto funcional como estéticamente atractivo.
412