Muestra las diferencias entre dos versiones de la página.
Revisión previa | |||
— | displayled [2021/04/16 20:41] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
+ | ======Proyecto====== | ||
+ | {{: | ||
+ | Reciclaje-nueva vida para unos displays de leds procedentes de donación | ||
+ | ======Descripción====== | ||
+ | Los displays consisten en una matriz de módulos de 5x7 puntos LED bicolor. Hay dos modelos, uno de 8 y otro de 11 módulos. Se pretende reciclarlos para poder ser controlados por un Arduino uno o nano, que mediante comunicación serie, se encargaría de mostrar el texto en el display. | ||
+ | ======Electrónica====== | ||
+ | Los displays presentan un conector | ||
+ | {{: | ||
+ | El Display contiene en primer lugar una serie de inversores tipo 74HC04 que adaptan las señales de entrada | ||
+ | |||
+ | |||
+ | {{: | ||
+ | Un demultiplexor 74HC238 se encarga de seleccionar la fila correspondiente de las 7 que contiene cada módulo. La fila correspondiente se selecciona con los pines 2 a 4 del conector. (los puntos de las filas de todos los módulos van seriados, a través de una serie de registros de desplazamiento que se describen más abajo). | ||
+ | |||
+ | {{: | ||
+ | Un driver ULN2003A es el encargado de pilotar los transistores MOSFET 10P03L que a su vez encienden cada una de las 7 filas de diodos | ||
+ | |||
+ | {{: | ||
+ | Una serie de registros de desplazamiento STPIC6C595 se encargan de almacenar cada uno de los puntos de la fila seleccionada, | ||
+ | |||
+ | |||
+ | |||
+ | ======Conector====== | ||
+ | |||
+ | {{: | ||
+ | ======Conexión al Arduino====== | ||
+ | Para conectar el arduino se utilizan los pines (salidas digitales) 2 a 7 correspondiendo: | ||
+ | * ARDUINO/ | ||
+ | * PIn 2------Pin 2 (bit 2) | ||
+ | * Pin 3------Pin 3 (bit 1) | ||
+ | * Pin 4------Pin 4 (bit 0) | ||
+ | * Pin 5------Pin 5 (display ON) | ||
+ | * Pin 6------Pin 6 (serial Data) | ||
+ | * Pin 7------Pin 7 (Serial clock) | ||
+ | * GND ------Pin 0 (GND) | ||
+ | |||
+ | |||
+ | ======Programa====== | ||
+ | {{: | ||
+ | El programa en Arduino, es muy simple, básicamente crea un puerto serie para permanecer a la escucha de cualquier texto (el tamaño del texto está limitado al tamaño del display (6 puntos por cada letra). Luego, el texto es convertido a puntos e insertado en una matriz para mostrarlo en el display. Una rutina se encarga de: | ||
+ | 1º- ir seleccionando una a una cada una de las siete filas de puntos (pines 2-4) | ||
+ | 2º cargar los registros de desplazamiento con todos los puntos correspondientes a dicha fila (pines 6-7) | ||
+ | 3º apagar y encender de nuevo el display para refrescar y mostrar dicha fila. Para mostrar una imagen completa las filas deben refrescarse constantemente. | ||
+ | |||
+ | Uso | ||
+ | Hay dos tamaños de displays de 8 y de 11 caracteres. A la hora de cargar el programa en el arduino, es necesario seleccionar de qué display se trata: | ||
+ | <code c> | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | * //Elegir solo uno | ||
+ | * #define _PEQUEÑO | ||
+ | * //#define _GRANDE | ||
+ | * // | ||
+ | </ | ||
+ | ---- | ||
+ | |||
+ | Con solo des-comentar la opción correspondiente y cargar el software, al arduino ya está listo para funcionar. | ||
+ | Cualquier texto, que se envíe al arduino vía serie, se mostrará en el display. | ||
+ | Para utilizar el color verde es necesario comenzar el texto con el carácter " | ||
+ | " | ||
+ | " |