Categorías
Proyectos de Electrónica

OjO Mágico: Emulación con Arduino

Proyecto de emulación de «OjO Mágico» escrito y desarrollado por Konstantin Dorohov (USA).

Las grabadoras y receptores de mi juventud utilizaban los ya desaparecidos indicadores de nivel de tubo u «ojo mágico» en lámparas 6E1P o 6E5C. Ahora es el momento de la nostalgia por los «viejos tiempos» y puedes comprar indicadores ensamblados en aliexpress o amazon. Son casi tan populares como los relojes con lámparas Nixie.

Dado que la lámpara requiere alto voltaje para funcionar, en los dispositivos modernos esto se resuelve con un convertidor de voltaje multietapa. En primer lugar un temporizador 555 controla un potente transistor FET incluido en el devanado primario de un transformador elevador. A continuación se conecta el devanado secundario a un multiplicador de voltaje de 4-5 pasos. Esto es suficiente para convertir la entrada de 5 voltios a 250 voltios con una corriente de 1-2 mA.

A continuación se explica como emular con Arduino los indicadores 6E1P (sección 1) y 6E5C (sección 2).

1. OjO Mágico 6E1P

1.1 Descripción del Proyecto

En este artículo comparto mi proyecto casero cuya esencia es emular, en la medida de lo posible, el «ojo verde» de una lámpara 6E1P usando una pantalla OLED rápida controlada por una placa Arduino.

1.2 Bloques Principales

Aparte del módulo Arduino, los componentes críticos para el diseño son los siguientes.

1.2.1 Pantalla y Librerías

La parte más difícil fue encontrar la pantalla adecuada. Hay una gran cantidad de ellas en el mercado, y la mayoría son fácilmente administrados por el conocido controlador Adafruit-GFX-Library. Esta es una gran biblioteca integral, muy fácil de usar, pero con placas Arduino normales es demasiado lenta y no le permite mostrar animaciones de alta calidad.

Después de muchos intentos, mediante prueba y error, se encontró una pantalla (basada en el chip SH1106) de 128×64 píxeles de tamaño y con un brillo azul. Para ella se ofrece la librería Arduino U8G2. Una característica clave de esta biblioteca es la propiedad de «salida de página»: primero, la imagen se crea en la memoria del controlador y, luego, se muestra en la pantalla con un solo comando. Esto le permite crear animaciones simples con una buena frecuencia de actualización. La biblioteca también contiene comandos para construir primitivas geométricas: rectángulos, triángulos y círculos.

También es posible generar mapas de bits simples, pero es demasiado lento para usarlo en animación. Sin embargo, los mapas de bits pueden funcionar como máscaras para recortar parte de una imagen, y de este modo usé uno para darle a la pantalla su característica forma de «ojo verde»: un rectángulo vertical con un lado superior redondeado.

El principio general para construir la geometría a partir de primitivas es el siguiente:

Máscara de Bits para Emular Ojo Mágico
Máscara de Bits para Emular Ojo Mágico

Los tamaños de las primitivas cambian dinámicamente según el voltaje en la entrada A0 de la placa Arduino.

1.2.2 Color

En general, la emulación es bastante aproximada. Aunque considero que la geometría de la imagen es bastante parecida a la original, la pantalla monocromática no permitía un fondo correcto, por lo que tengo una imagen sobre un fondo completamente negro, mientras que en la lámpara original el fondo es siempre verde pálido.

Hubo otro problema técnico que logré superar. Esta pantalla tiene un brillo azul, pero necesito un verde brillante. El problema se resolvió con una cinta adhesiva de alta temperatura de una pulgada de ancho: esta es una cinta adhesiva de poliimida de color amarillo intenso. Al material también se le llama “kapton”. En ancho se adapta perfectamente a la pantalla y, al estar bien pegado, convierte perfectamente el brillo azul de la pantalla en verde, un color muy parecido al del «tubo».

1.2.3 Micrófono

Como entrada, agregué una señal de una placa amplificadora de micrófono simple Max9814 a la entrada de Arduino.

1.3 Esquemático

El diagrama de conexión de piezas es el siguiente:

Esquema emulación ojo mágico con Arduino

1.4 Resultados de OjO Mágico

Coloqué la pantalla y algunos componentes adicionales para el micrófono en una placa de circuito simple cortada al tamaño del Arduino. Todas las conexiones de la cara inferior se realizaron con cables.

Ojo Mágico: Arduino + Pantalla + Micrófono
Arduino + Placa Auxiliar (Pantalla + Micrófono)
Cara superior de placa auxiliar
Placa Auxiliar : Cara Superior
Cara inferior de placa auxiliar
Placa Auxiliar : Cara Inferior

1.5 Código

Para aquellos que tienen curiosidad, aquí está mi código para Arduino:

De ninguna manera me considero un programador avanzado de microcontroladores y de ninguna manera pretendo ser perfecto en estilo y código, estoy bastante satisfecho de que simplemente funcione.

Para la suavidad de la imagen, utilizo un promedio de 5 medidas. El promedio está escrito «a mano». Traté de usar la biblioteca estándar RunningAvg, pero para un Arduino Uno simple, junto con la biblioteca de visualización, no hay suficiente memoria.

Hice una regla para agregar un encabezado informativo simple a mi código, así como un par de líneas que, cuando se ejecutan, me recuerdan desde qué archivo y cuándo se cargó este código.

2. OjO Mágico 6E5C

2.1 Descripción del Proyecto

En la publicación de la sección 1, describí la emulación en Arduino de una pequeña pantalla de «ojo mágico» 6E1P. Las personas mayores recuerdan estas hermosas luces verdes con la tecnología de tubos: grabadoras, amplificadores, receptores de radio…..

El predecesor del indicador 6E1P fue la lámpara octal 6E5C. Esta es una copia de la lámpara americana RCA 6E1 desarrollada en los años 30. El único dispositivo soviético que encontré que tenía este indicador fue la grabadora indestructible de hormigón armado Kometa-201:

Ejemplo de ojo mágico en grabadora
Ejemplo de dispositivo con «ojo mágico»

Estos indicadores también se instalaron en radios que se produjeron en grandes cantidades en la URSS. Eso fue hace mucho tiempo.

En el artículo anterior, sin darme cuenta prometí emular el 6E5C. Estoy manteniendo esta promesa:

2.2 Bloques Principales

2.2.1 Controlador

Para lograr un buen rendimiento, utilicé el controlador ESP32:

Modulo Arduino ESP32
Módulo ESP32

2.2.2 Pantalla

En práctica, el motivo del trabajo fue la aparición de una pantalla LCD redonda muy bonita GC9A01 que funciona con el protocolo SPI. La forma redonda es excelente para construir la imagen de una luz indicadora, sin embargo, el tamaño de esta pantalla es mucho más grande que la pantalla de la luz.

2.2.3 Librerías

Los gráficos se crearon utilizando la librería Arduino_GFX. Para una mayor suavidad de la imagen, se usó el promedio deslizante de la señal de entrada en 20 muestras utilizando la librería RunningAverage.

Desde el punto de vista del software, esta emulación es mucho más simple que la anterior. La imagen se construye a partir de:
– un único elemento dinámico (un triángulo con un vértice en el centro de la pantalla),
– dos triángulos estrechos estáticos ubicados horizontalmente a los lados de la pantalla,
– el centro,
– tres círculos casi superpuestos en el centro, un gris central que representa la pantalla y otros dos: blanco ligeramente desplazado hacia la izquierda y negro, desplazado unos pocos píxeles hacia la derecha hacia abajo. Este es mi intento de dar a la pantalla un aspecto ligeramente «volumétrico». No estoy seguro si tiene éxito. Este es el aspecto visto de cerca:

Creando volumen en ojo mágico

2.2.4 Micrófono

La señal de entrada de audio se suministró, como en el apartado anterior, desde el amplificador de micrófono Max9814.

2.3 Esquemático

Aquí hay un diagrama de conexión simplificado de las diferentes partes:

Ojo Mágico Basado en ESP32

2.4 Resultados de OjO Mágico

El dispositivo está ensamblado en una placa perforada, con los distintos elementos cableados por debajo. Aquí hay algunas fotos que ilustran el montaje:

Emulación Ojo Mágico 6E5C
Conjunto Ensamblado
Micro más pantalla y micrófono
De izquierda a derecha: ESP32, pantalla y micrófono
Placa Perforada: Cara top (izquierda) más cara bottom (derecha)
Tarjeta perforada: cara superior (izquierda) y cara inferior (derecha)

2.5 Código


Suscripción
Si te ha gustado esta contribución no dudes en suscribirte a nuestro boletín: