Como Hacer Letreros led programables
En esta pagina te enseñaremos a montar tus propios letreros led programables con controladores basados en atmega, pic y stm32f, la programación se realiza en lenguaje C, nuestro equipo esta dispuesto a ayudarte.
Letrero Electrónico led programable
Si estas empezando o queriendo diseñar un letrero led programable, no es necesario comprar leds, registros de desplazamiento ó transistores de potencia, ahora en la actualidad ya existen matrices de leds listo para usarlos, cintas led direccionables y muchos mas. Los matrices de led están más conocidos como Módulos Led P10, vienen en distintas configuraciones, modelos y vienen fabricados para operar en el exterior es decir bajo la lluvia, sol, humedad, polvo, temperaturas extremas y las radiaciones UV.
En este artículo, veremos los Módulos led de un solo color, el modelo es P10. Este modelo tiene una gran acogida en todas partes del mundo debido a su versatilidad en su manejo y construcción. Además de tener un precio muy bajo.
¿Qué es el Modulo Led P10?
Es un panel led matricial de 32×16, es decir, tiene 32 led en horizontal y 16 en vertical. El 10 en P10 representa la distancia de pixel a pixel que es 10mm. Es ampliamente utilizado en publicidad y para llamar la atención en los mercados locales. Debe haber visto una variante de los módulos led P10 en los autobuses o otros modelos, esto es debido a que este tiene una distancia de pixeles mucho mayor, alrededor de 13-15mm, por lo que podrían ser módulos P13 o P15, pero el concepto de trabajo es el mismo. Además, podemos conectar en cascada más y más paneles led para obtener una pantalla o letrero más grande.
Funcionamiento del Módulo Led P10
En principio no es nada complejo manejar estos módulos, pero si es laborioso, si deseas controlarlo por tu propia cuenta utilizando el micro con el que estés más familiarizado, necesitas leer mi otro artículo que es “Conduciendo Modulo Led P10” básicamente hago una ingeniería inversa de los módulos led p10.
Estos módulos están compuestos por registros de desplazamiento (74hc595). Cada registro de desplazamiento de 8 bits se puede utilizar para controlar 8 leds. Por lo tanto, podemos controlar 128 leds mediante el número dado de registros de desplazamiento de un módulo, pero el número de leds es de 512. ¿Cómo controla la pantalla los 512 leds cuando solo es capaz de controlar 128 leds? Aquí entra el concepto de:
Frecuencia de Actualización.
En un instante de tiempo, los registros de desplazamiento solo pueden controlar un máximo de 128 leds, por lo que seleccionamos cuál de los 128 led se controlara utilizando dos bits adicionales. Las filas cambian mas rápido que la frecuencia de actualización de los ojos humanos, de modo que para el ojo humano se ve estático. Piense en esto como cuando toma una luz láser y la mueve de un lugar a otro, ve una línea de esa luz láser, pero ¿es realmente una luz? Es solo un punto en real. Este es el concepto de frecuencia de actualización utilizado en estos módulos led, esto realizan los fabricantes para reducir de manera inteligente el costo de producción.
Para el correcto funcionamiento de estos módulos led p10, necesitaras de una tarjeta controladora, una fuente de alimentación de 5v – 20ª, cables de datos y alimentación, el tamaño físico de los módulos p10 son de 16x32cm, juntando tres de estos tienes un letrero de 16x96cm, tienen una entrada y salida de datos conocido como el puerto HUB12, además para su orientación vienen con unas flechas Seri grafiadas en la pcb del módulo p10. Finalmente se conectan entre si mediante los cables de Datos y Alimentación respetando siempre la dirección de las flechas y el color de los cables positivo (Rojo +) y Negativo (Negro -).
Conexión del Controlador TF y HD:
Una vez tengamos todo conectado correctamente nuestros módulos. La última conexión seria el controlador. Todas las tarjetas controladoras vienen con su serigrafía, donde indica la posesión de los pines y estas deben de coincidir con la serigrafía de nuestro módulo led, de no coincidir estaríamos ante un módulo de distinta configuración.
Los fabricantes de estas tarjetas los más conocidos son de la serie TF, y las HD todas estas tarjetas vienen con su propio software listo para que puedas introducirle Textos, Animaciones, Fecha, Hora y sensores de Temperatura. Si lo que buscamos es agregarle otro tipo de sensores o darle una distinta operación, necesitaríamos fabricarnos nuestra propia tarjeta, basado en microcontroladores o tarjetas de desarrollo.
Controlando módulos led P10 con PIC18F4550
Como mencione anteriormente, no es complejo controlar estos módulos, sin embargo si es laborioso. Para controlar de una manera óptima, utilizamos el SPI del microcontrolador así como un temporizador para el escaneo de las filas, además de un PWM para variar el brillo. Estos micros de 8 bits pueden manejar una limitada cantidad de módulos led de 16×32, esto es debido a la baja velocidad y memoria ram que tienen con respecto a los de 32bits.
Si su proyecto que va a realizar no tiene mayor a 10 módulos, es posible conducirlos con los pic18f4550, todos los micros de 8 bits están limitados, en la publicación de mi otro artículo les mostrare una forma de manejar los micros de 32bits para estos módulos.
Para conducir estos módulos, primero debemos rodar los bits una a una hacia los buffers del módulo led (74hc595), luego seleccionamos la fila a la que corresponde los bits que rodamos, y finalmente con un pulso de enclavamiento veremos reflejados nuestros bits en los leds del módulo. Este proceso se realiza una y otra vez a una gran velocidad para que nuestra vista no pueda percibir el parpadeo.
Esquemático y Conexión:
Utilizaremos 6 pines del PIC18F4550. Nuestro módulo P10 para ser controlado tiene los siguientes pines: Un pin de dato un pin de Reloj, dos pines de Dirección (PinA, PinB), dos pines de Control (OE, Latch). Lo que necesitamos de los micro controladores es su velocidad y su memoria ram, y para aprovechar la velocidad daremos uso del puerto SPI del PIC18f4550.
Con los pines A y B Seleccionas la fila, seguidamente iremos metiendo los bits mediante el pin de DATOS y RELOJ, finalmente enclavamos todos nuestros datos en los registros con el pin LATCH y para terminar habilitamos el pin OE para mostrarlo en brillo en cada uno de los leds.
El pic18f4550
es configurado a su máxima frecuencia de reloj 48MHZ. Utilizando un cristal externo de 20Mhz. La conexión debe ser tal igual al esquemático, por otro lado tenemos el conector IDC de 16 pines, donde se muestran claramente los pines, algunos conectores IDC vienen con fallas verifique bien la continuidad en cada hilo.
Seguidamente tenemos el hardware con PIC18f4550, en este esquemático no incluyo ningún tipo de filtro alguno, para un fácil entendimiento de la conexión, sin embargo puedes agregarle circuitos de protección como los diodos TVS, ESD, RC, BEADS y fuente AISLADA que protegen al circuito de transitorios, estática, tensión inversa y ruidos de alta frecuencia.
Programación en CCS, para Letrero Electrónico programable
Todos nuestros programas están en C, en este caso particular para los pic, usamos el compilador CCS, ya muy conocido por una gran comunidad. Nosotros desarrollamos una librería para controlar estos módulos, esta bien detallado con los comentarios es casi completa, soporta cuatro tamaños de caracteres, tiene el efecto de scrolling, puedes variar el brillo, poner números con decimales, además la librería te deja cargar un array de bits como por ejemplo una imagen en un solo color.
Características de la Librería “Modulo led P10_c”
Está probado y actualmente se desarrollaron distintos proyectos basados en esta librería, tiene varias funciones muy fáciles de entender en caso que usted desea mejorarlo o modificarlo. Más adelante en vídeo tutorial les mostramos como utilizar esta librería para mostrar temperaturas, humedad, fecha, hora y valores analógicos.
- 04 Tamaños de carácter.
- Brillo configurable por una variable.
- 10 niveles de velocidad en scrolling.
- Soporta Comunicación UART.
- soporta 10 módulos como máximo.
- Puede controlar una resolución máxima de 16×320 pixeles.
- puedes dibujar, lineas, rectángulos, círculos y barras.
Esta librería hace uso del puerto SPI del pic18f4550 para aprovechar la mayor velocidad posible, además también utiliza un temporizador para el barrido de filas. Podemos incluirle mayor cantidad de módulos, sin embargo notaremos el parpadeo en nuestro letrero, esto es debido a la baja velocidad del micro. Estos módulos realmente exprimen todo los recursos de los micro controladores, como la memoria RAM, velocidad, temporizadores, y el puerto SPI.
Controlando Módulos led P10 con ATmega328P
Estos micros que actualmente pertenecen a Microchip, en lo personal son bastante bueno frente a al PIC, también tenemos desarrollado una librería en C, que está escrito en ATMEL STUDIO, la codificación es similar al de los PIC, básicamente tienen las mismas características en cuanto a las funciones que estas llevan.
Con respecto a la parte del hardware, utiliza el micro de 8 bits atmega328p con un cristal de 16Mhz. Para optimizar la libraría hace uso de dos temporizadores uno para el barrido y otro para control de brillo, además para conseguir mayor velocidad en el control de estos módulos, hace uso del SPI del micro.
En 2017 escribimos una librería en c para Atmega328P, Debido a la gran acogida que tuvo. Decidimos mejorar esta versión, logrando con éxito mejorar el rango de control en altura, es decir usted puede controlar alturas de 16,32,48,64,96 pixeles y de largo 32,64,96,128,160,192,224,256,512. usted puede elegir el tamaño de su pantalla al inicializar la librería sin excederse del máximo 10240 pixeles. Ejemplo si tengo una pantalla de 64(alto)*128(largo) esto nos una multiplicación de:8192 pixeles que se encuentra dentro del rango de control.
La librería está probada y también se realizaron varios proyectos en base al micro atmega328p, nosotros vamos mejorando la librería con el paso del tiempo.
Características de librería “hub12_c”:
- Conducción Máximo de 10240 pixeles.
- Rango de control altura máxima 96 pixeles.
- Rango de control Largo máxima 512 pixeles.
- Para módulos P10 de 16×32 pixeles de un solo color escaneo 1/4.
- 01 un Puerto Hub12.
- Brillo configurable.
- 04 tipos de tamaño de Fonts.
- Dibuja Textos, Números, Barras, Circulo, Rectángulo, Lineas.
- Scrolling horizontal.
- Dibuja una Imagen en un solo color (1bpp).
Conexión física de Módulos Matriciales para doble fila.
Si nuestro proyecto solo necesita de una sola fila de módulos, no tendríamos que tener ningún inconveniente porque estos módulos en la parte posterior traen unas flechas serigrafías de color blanco, estas flechas nos indican cómo deben juntarse los módulos en cadena. Sin embargo si nuestro proyecto comprende de doble fila es decir de 32 pixeles de alto, entonces hay que seguir la conexión como en la imagen que se muestra aquí. Observe bien las flechas de color naranja esto es lo que nos indica cómo debe ir conectado el cable de datos de los módulos. Para incrementar una mayor cantidad de módulos en lo horizontal solo debemos seguir el mismo patrón.
Resultados y Recomendaciones:
Como podemos apreciar en esta imagen, ustedes le pueden dar una distinta aplicación a este letrero, agregándole módulos de comunicación RF, Control Remoto, sensores y lo dejamos a tu imaginación.
Una recomendación básica es realizar bien las conexiones en especial de la alimentación de 5V, de no realizar bien la conexión podemos quemar los circuitos internos de nuestro módulo led p10.
Si vamos a ensamblar un letrero de doble fila debemos tener en cuenta que un cable para datos es tres a dos veces más largo que los demás, lo que podemos hacer es unir dos cables de datos sin usar soldadura, De hecho existe en el marcado flats o cables de 16 hilos largos de hasta130cm, están conocidos como cable IDC.
Otra recomendación es tener una buena fuente alimentación de 5V, el amperaje va depender de los módulos que vas a utilizar en tu proyecto. Para 10 módulos es 40 Amperios, en caso que no tuvieras de este amperaje la otra solución sería bajándole el brillo mediante el programa puedes ir graduando desde 0
hasta que tu fuente no se recaliente excesivamente. No olvidar utilizar un cable de alimentación de 14 a 16AWG si vamos hacer que brille al 70% de su brillo máximo, no recomiendo el brillo al máximo porque los leds se recalientan y vamos disminuyendo rápidamente la vida útil de nuestro modulo.
Otro dato a tener en cuenta si vamos ensamblar un letrero de 2 metros de largo es decir de 192×32 pixles, el cable de datos más largo va ser un aproximado de 190cm, para evitar que impregne el ruido de las radiofrecuencias podemos apantallarlo con papel de aluminio.
Documentación Vídeo y Descarga Código:
Tenemos preparado un vídeo tutorial de la librería “hub12”, mostraremos como inicializarlos, bajar el brillo, poner texto, números, barras, líneas, círculos, rectángulos y cargar una imagen, también damos asesoría y consultoría en los proyectos que estás pensando realizar.
revise el vídeo tutorial: https://youtu.be/2E-7cMTBGW4
Con respecto al código de programa, tenemos dos versiones la primera versión que sacamos hace dos años atrás es gratis, Sin embargo la nueva versión de esta librería esta con el nombre de “hub12” y está sujeto a un precio.
La principal diferencia entre estas librerías es:
- La librería “Hub12_C” Tiene la capacidad de controlar 10240 Pixeles.
- La librería “Modulo led P10_c” Versión Beta solo 16×32 Pixles.
Descarga Gratis el Código Versión Beta (Modulo led p10.c) para PIC18f4550 en esta dirección:
https://mega.nz/#!Hl5WUY5a!EuveFmtndMM-BstHqW4GRAuV5LZ5GSH8kn6TKVA9pus
Tenemos librería para AVR, PIC, STM32 y ESP32.
Si deseas adquirir el programa, nos puede enviar un mensaje al correo electrónico yonywashin@gmail.com o directamente al WHATSAP +51 988767604. Estaremos atentos a tus preguntas.
Un aporte muy interesante. Gracias por la ilustración. Un cordial saludo.
Programación
Excelente documentación
Super interesante el articulo!!!
solicito información y costo acerca del tema de letreros programables
HOLA BUENAS TARDES UN SALUDO DESDE BOGOTA COLOMBIA, QUERIA SABER QUE PRECIO TIENE LAS LIBRERIAS HUB 12_C PARA ATMEGA, Y PIC STM32 Y EL SOFTWAREPATA PODER USARLO PARA HACER LETREROS