Usando un display indocumentado de DealExtreme YL-3 con drivers 595

Hace una semana compré unos displays de LED de 7 segmentos, de 8 dígitos, en DealExtreme pensando en un visualizador de coordenadas para un CNC.

Display YL-3

El sdisplay se suministra sin documentación esquema ni nada. En la serigrafía de la placa solo aparece el texto «YL-3» por lo que yo llamaré a este display así. No he sido capaz de encontrar informacion acerca de su uso, esquemas, ni nada. Tendré que hacer yo mismo el esquema y el código para su uso.

Un poco de ingenieria inversa:

En primer lugar será necesario el esquema para poder empezar a escribir el código que lo haga funcionar. Lo primero es buscar la documentación de los elementos que usa el display para saber or donde empezar a trazar el esquema.
Este modelo usa drivers HC595 que son simples registros de desplazamiento con latches de salida. De esta forma los datos desplazados no aparecen en la salida hasta que se activa el latch y se evita imagen fantasma en el display. Es curioso pero el sn74hc595 común es un registro de desplazamiento con salidas TTL, no adecuadas para encender LED, pero existen versiones de alta corriente de salida que son las que se usan aquí.
Los dos displays de 4 dígitos por 7 segmentos y punto decimal estan marcados «3461BS» y tampoco he encontrado un esquema, con el SuperProbe en modo prueba de diodos voy averiguanduando su conexionado. Están conectados los ánodos en común.
Por suerte en la placa esta serigrafiada la utilidad de los terminales de conexión y es facil seguir con el tester de continuidad el esquema.

Esquema YL-3

Ademas voy a probarlo con un Teensy 3.1 en lugar de usar un arduino convencional.

Solo son necesarios 5 cables, dos de alimentación, un clock, un data y un estrobe. Este es el montaje de pruebas, con una tarjeta SD para apreciar el tamaño de los componentes:

Prueba Teensy 3.1 + YL-3

El display trabaja multiplexado ya que los LED estan conectados en forma de matriz de 8×8.
Este es el código que uso: YL-3.RAR
El .rar contiene una libreria «hc595x2» para colocar en el directorio «libraries» de arduino y un sketch «Test_hc595x2″ para compilar y probar el display (para Teensy 3.1, no lo he probado con otros arduino).
El programa acepta caracteres ASCII por el puerto serie virtual USB y los visualiza en el display, también algunos símbolos y algunos caracteres de control.
Los caractres aceptados son:
Números 0-9, letras minúsculas a-z y letras mayúsculas A-Z.
Letra ñ (ASCII 209 ó 241)
Espacio en blanco » «, guión «-«, guión bajo «_», barra «/», grado «º» ASCII 186, punto «.», coma «,» (los dos encienden el punto decimal y no avanza el cursor), comilla «‘» ASCII 39 y comillas «»» ASCII 34.

Los códigos de control son:
Retroceso (Backspace) CTRL-H ASCII 8, retorno del carro (retorno del cursor al inicio del display) CTRL-M ASCII 13, Delete ASCII 127, Limpiar el display y retorno del cursor CTRL-J ASCII 10.

Mejor revisar el código para ver las funciones…

Otro detalle, el entorno arduino 1.0.5 se cuelga si en el nombre del archivo hay un guión: «test yl-3.ino» lo cuelga, «test yl_3.ino» funciona bien…

Asi funciona:

El display es muy barato y brillante, y no es dificil usarlo aunque el micro tenga que hacer el multiplexado no es mucha carga de trabajo.
Me comentan en el foro de ARDE que se pueden encontrar unos displays muy similares en EBAY con un enlace a su esquema en PDF.