Explore las capacidades del espressif ESP32 con un proyecto de reloj Dali
Explore las capacidades del Espressif ESP32 con un proyecto de reloj Dali. El ESP32, el sucesor del muy popular y potente módulo WiFi ESP8266 de Espressif System, es aún más capaz que su predecesor. Sus características incluyen una unidad de procesamiento de doble núcleo de 32 bits que funciona a hasta 240 MHz, y comunicación inalámbrica a través de WiFi y Bluetooth. También cuenta con detección táctil capacitiva, transferencia de datos I2S, capacidades de bucle de enganche de fase de audio (PLL) y dos salidas de convertidor digital-a-analógico (DAC). Tenga en cuenta que estas características varían un poco entre las diferentes variantes del ESP32.
Adafruit Huzzah23 (superior) con DFRobot Firebeetle (inferior)
Uso de ESP32 con un reloj de video compuesto
Para un ejemplo concreto de cómo usar el ESP32 (que es fácil de implementar e impresionante), considera el Dali Clock creado por Marcio L. Teixeira. Este proyecto utiliza un televisor antiguo con una entrada compuesta y una placa de desarrollo ESP para mostrar un reloj que se transforma en pantalla. Como cualquier proyecto innovador, este se apoya en los hombros metafóricos de gigantes, combinando el concepto del reloj Dali (creado para el Xerox Alto en 1979) con una escena de atardecer desplazable al estilo del pop art de los años 80. A nivel técnico, se atribuyen los créditos a múltiples hacks de hardware/hackers. Y, por supuesto, no sería posible sin el ESP32. Finalmente, no podemos dejar de mencionar a Salvador Dalí por su inspiración artística original. Por impresionantes que sean sus credenciales, para configurar este reloj solo necesitarás lo siguiente:
- Placa de desarrollo ESP32
- Conector RCA
- (2) cables de conexión
- Fuente de alimentación USB
- Televisor o monitor compatible con señal compuesta
Pantalla de video
Configuración: Cargar código y conectar
Para configurar las cosas, descargue el código desde GitHub y transfiéralo al ESP32 utilizando el IDE de Arduino. Instrucciones más detalladas para este proceso se encuentran aquí. Necesitará agregar la capacidad de trabajar con placas ESP32 en el IDE de Arduino abriendo Preferencias e ingresando “https://dl.espressif.com/dl/package_esp32_index.json” en la sección de URLs adicionales del Administrador de Placas. Una vez hecho esto, seleccione su placa de desarrollo (Adafruit ESP32 Feather o FireBeetle-ESP32 en este caso), junto con el puerto serial correcto, y cargue el código en su ESP.
Pantalla de video
Conecta el pin GND de la placa Adafruit Huzzah32 al cilindro exterior del enchufe RCA. A continuación, conecta otro cable desde el pin A1 DAC1 al poste central del enchufe para ingresarlo en la entrada de video compuesto del televisor. Puedes usar clips de cocodrilo para conectar un enchufe estándar macho a macho, o también hay disponibles enchufes con terminales de tornillo que hacen esta conexión mucho más segura. Presumiblemente, también podrías modificar un cable RCA para exponer el cableado. Introduce el conector RCA en el televisor/monitor, conecta la alimentación a la placa de desarrollo y cambia el televisor a la fuente de entrada correcta. Voilà, tienes un reloj Dali de dígitos derretidos en pantalla, que en este momento casi con seguridad muestra la hora incorrecta. Para rectificar esta situación, conéctate a la red WiFi “ESP32 Dali Clock” generada por ESP32 desde un teléfono o una computadora para configurar los ajustes mediante una interfaz de navegador. Una vez configurado correctamente, se puede acceder a través de tu red doméstica. La hora se puede configurar automáticamente mediante NTP/zona horaria, o también puedes ingresarla manualmente si así lo prefieres.
Conexión del dispositivo
El reloj también puede cambiar para mostrar la fecha en lugar de la hora. Conecta los cables a A5 4 y A4 36 en la placa Huzzah, y toca ambos con tu dedo para activar esta función (no probé esto en el FireBeetle, pero debería ser posible). También se puede configurar para cambiar colores durante el día, lo cual parece muy divertido.
Características del ESP32 utilizado
Además de una velocidad de procesamiento rápida (impresionante para un equipo de escritorio no hace tanto tiempo), esta configuración destaca algunas características del ESP32:
- Conectividad WiFi – utilizada para la interfaz web y configuración de tiempo
- Conector RCA
- I2C/DAC/PLL – facilita la salida de nivel de voltaje y el tiempo preciso necesario para el video compuesto en color
- Sensores táctiles capacitivos – detecta toques de cables para cambiar momentáneamente a la visualización de la fecha
- Procesador de doble núcleo – el procesamiento gráfico y la salida de señal de video son manejados por un núcleo, mientras que la interfaz web/ WiFi, que puede interferir con el tiempo, corre en el segundo núcleo
Rompiendo límites
Según este video aparte, que explica cómo una configuración similar a esta construcción, el ESP32 realmente no incluye capacidades de video compuesto en sus especificaciones. Sin embargo, el hecho de que puede realizar conversión digital a analógica (DAC) y utilizar el protocolo I2S lo convierte en una herramienta muy potente y versátil para experimentos de video retro-futurista. Más información sobre cómo Marcio logró actualizar esto para lograr salida en color, aprovechando las capacidades del PLL del ESP32, se encuentra en esta página de GitHub. En mi muestra extremadamente limitada de una placa por cada modelo, en un único televisor, la visualización con el Adafruit Huzzah32 funcionó bastante bien. El FireBeetle, con los pines de salida equivalentes conectados, también funcionó, pero presenta algunos problemas de sincronización intermitentes. Adentrándome un poco más en las dos placas: la Huzzah32 utiliza un módulo WiFi ESP32-WROOM-32E, mientras que la placa de DFRobot utiliza un ESP32-WROOM-32D. Aunque en gran medida son equivalentes, el -32E tiene algunas mejoras internas, incluida la interacción con el oscilador de cristal para determinar el tiempo de la CPU. Es posible que alguna pequeña diferencia en el diseño signifique que el -32D y el -32E se muestren de forma diferente en mi televisor. Dicho eso, para la gran mayoría de los casos que no están llevando al límite las capacidades de los ESP de manera creativa, cualquiera de los módulos debería realizar un trabajo dado bastante bien. Sin embargo, si tienes una aplicación de producción que requiere la máxima potencia del ESP-32, es un buen recordatorio de considerar exactamente qué ESP-32 vas a utilizar.
Etiquetas de artículo