Diseño,
Mantenimiento y Montaje de equipos
Electrónicos y Sistemas de Cómputo Guapi - Cauca - Colombia
|
Amplificadores de de audio
Cargadores de Baterías - Cargador profesional de baterías Inversores de Voltaje Fuentes de alimentacion - Fuente variable con transistor
Diseños varios - Monitor luminoso para timbre telefónico - Barrera Invisible detector de personas
Proyectos Terminados - Monitoreo del hogar a través del teléfono celular, con PIC - PROTECT, guardián del nivel de tensión - Medición de Nivel de embalse, visualización en pantalla con gráfica de tendencia.
Radiofrecuencia
Arduino - Encender y apagar LED vía Ethernet con Visual Studio (Pendiente) - Medición de Temperatura y Humedad vía Ethernet con Visual Studio (Pendiente)
|
Letrero desplazable de LED's Utilizando la EEPROM del PIC16F628A El proyecto que muchos aficionados, estudiantes y profesionales de la electrónica quieren realizar, un cartel o aviso luminoso con letras en movimiento.
Este letrero, tiene como elemento principal el microcontrolador PIC 16F628A, en él se almacena el texto que se muestra en la matriz de led's, los Demultiplexores 74LS154 controlados por el PIC actúan como registros de desplazamiento. La matriz de led's se compone de 30 columnas de 7 led cada una, en este proyecto se utilizaron 6 módulos de 7x5 led.
Principio de funcionamiento: El texto (letrero) que se va a mostrar en la matriz de leds no es dinámico, es decir, a menos que se reprograme el microcontrolador, siempre se mostrará el mismo texto, cuyo número de letras es limitado a las capacidades de las memorias que tiene internamente el PIC. Así las cosas, previamente se introducen las letras que se mostrarán en la matriz; una letra se forma con 4, 5, 6 ó 7 grupos de bits (criterio de cada diseñador), por ejemplo, para formar la letra C como se aprecia en la figura de abajo, se suman los bits encendidos (rojos) de acuerdo con su peso binario, así la columna 0 vale 62 (32+16+8+4+2), la columna 1 vale 127, la 2 vale 65, la 3 vale 65 y la columna 4 vale 36.
Para formar una letra en la matriz, el PIC a través del Puerto B (RB0 ~ RB6) envía el dato (bits altos) correspondiente a la primera columna de la letra (columna 0 = 62) y mientras mantiene los bits en alto, el PIC por medio de las líneas RA0 ~ RA3 habilita (E0 y E1) y direcciona el demultiplexor (0000) para que este entregue una salida baja (0 lógico) y de esta manera se enciende la primera columna. Para encender la segunda columna correspondiente a la letra C, el PIC envía el dato correspondiente (127) y direcciona el Demux (0001). Cabe aclarar que cada dato enviado por el PIC enciende solo una columna a la vez. Para los espacios entre letras el PIC envía bits bajos 0000000 y direcciona el Demux. Ahora bien, supongamos que se han enviado los datos correspondientes para formar las palabra CM2 con sus respectivos espacios entre letras, eso significa que el primer Demux ya no puede ser direccionado para encender la columna 20 (por ejemplo), para ello el PIC que tiene dos líneas de control (RA6 y RA7) para habilitar o deshabilitar los Demux, nótese que si el PIC no deshabilita el primer Demux cuando quiere encender una columna correspondiente al segundo Demux también se encenderá la columna en el Demux 1. Por ejemplo, si se envía el dato 0011 a los Demux, ambos tratarán de poner un cero en su salida 3 pero solo lo hará el que el PIC habilite a través de RA6 o RA7.
Bueno, hasta ahora se han enviado datos que lo único que hacen es encender una columna a la vez, así que el espectador no verá una letra sino una columnita encendida al tiempo. Para formar las letras, se repite la operación (de encender una columna a la vez) tantas veces (10 ó 20) para crear la ilusión de que se prenden todas las columnas correspondientes a las letras. El efecto de desplazamiento de las letras se logra eliminando la primera columna del letrero, mostrando el letrero desde el inicio de los Demux, luego se elimina la segunda columna, se muestra el letrero desde el inicio de los Demux y así sucesivamente.
Vea el video del proyecto en funcionamiento
Almacenamiento del texto en el microcontrolador: La capacidad de memoria del PIC 16F628A es reducida si se pretende mostrar un letrero muy largo (100, 200 ó más letras), este microcontrolador tiene una memoria de programa de 2048 palabras. En este proyecto se utilizó la memoria EEPROM de 128 bytes que posee el microcontrolador, para aumentar el tamaño del letrero.
El Programa El programa almacenado en el microcontrolador se escribió en Pic Basic Pro PBP usando el MicroCode Studio. El código está explicado línea por línea, sin embargo, si alguien tiene dudas puede contactarme.
Archivo en .HEX
Nota Importante: Como se puede ver en el circuito esquemático, no hay oscilador externo. Se debe programar el Microcontrolador seleccionando (en el programador) el tipo de oscilador RC (intRC IO, IRCIO, etc, según el programador).
Tarjeta de Circuito impreso (Vista por el lado de los componentes):
Tarjeta de la Matriz (Vista por el lado de los componentes)
Tarjeta de Circuitos integrados (Vista por el lado de los componentes) En el Vínculo de abajo se encuentra el archivo con el PCB Para imprimir sobre la baquelita.
Fotos
Descargue del siguiente vínculo el proyecto completo:
Aprobado cm2 Proyecto diseñado y montado en su totalidad por: Miller Cambindo Montaño. CM2 ELECTRÓNICA
|