Secuenciador para luces navideñas
Este circuito permite permite programar una secuencia de hasta 13 luces (o grupos de luces) programando el PIC16F84 desde el ordenador. Para que la programación no sea un problema, he diseñado una plantilla para editar con el bloc de notas de windows.
Activación de luces mediante relés
Repetir el siguiente esquema para activar un relé con cada salida del integrado PIC16F84 (Excepto con la salida Luz13)
Para la salida Luz13 utilizar este otro esquema:
Cada luz puede estar formada por una o mas bombillas siempre que no se exceda la corriente máxima que soporte el relé.
Este tipo de adornos navideños se suelen poner en el exterior pero el circuito deberá ir bien aislado de las inclemencias del tiempo, ya sea en una caja apropiada o en el interior de la casa y sacando los cables hacia afuera.
La programación
Lo primero que necesitas es el archivo con el programa que deberá ejecutar el PIC16F84, dicho programa incluye la secuencia que desees implementar y es un archivo con extensión .asm que puedes abrir y editar con el bloc de notas de windows. Podrás cambiar el programa del PIC tantas veces como quieras.
Descarga la plantilla de programación que aparece a continuación, y ábrela con el bloc de notas de Windows.
Descargar plantilla de programación: lucesn.asm
Vete bajando hasta donde aparece el mensaje "A PARTIR DE AQUI ESCRIBE TU SECUENCIA". El mensaje se muestra de la siguiente manera:
;***************************************************************************
;******* A PARTIR DE AQUI ESCRIBE TU SECUENCIA *****************************
;---------------------------------------------------------------------------
Después hay un espacio en blanco y luego otro mensaje que dice "FIN DE LA SECUENCIA" y se muestra de la siguiente manera:
;--------------------------------------------------------------------------
;*************** FIN DE LA SECUENCIA **************************************
;**************************************************************************
Esos dos mensajes marcan el inicio y el fin del lugar donde puedes escribir la secuencia. Esta secuencia se repetirá constantemente. Es muy importante que no cambies ni borres nada que este antes o después del espacio reservado porque si no el programa no funcionará.
Hay que escribir cada palabra en una línea. Podrás escribir todas las lineas que desees (hay un límite de memoria de 1K, pero no creo que llegues a llenarlo). A continuación se muestranlas palabras que puedes usar y la función de cada una de ellas:
ON1 |
Enciende la luz 1 |
ONTODO |
Enciende todas las luces |
OFF1 |
Apaga la luz 1 |
OFFTODO |
Apaga todas las luces |
ESPERA |
Hace una pausa de medio segundo (Aprox) |
INVIERTE |
Las luces que estén apagadas en ese momento las enciende, y las que esten encendidas las apaga |
Ejemplos:
Imagina que tenemos letras luminosas formadas cada una por un varias bombillas, como los adornos que se ponen en navidad por las calles, y que en el nuestro pone "FELIZ NAVIDAD". Cada luz de nuestro programa se corresponde con cada una de las letras: la F es la luz1, la E la luz 2, la L la 3.... así hasta la última que será la luz 12.
Ejemplo 1:
Queremos hacer la siguiente secuencia: (las letras en amarillo se encuentran encendidas)
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
FELIZ NAVIDAD
Al llegar a este punto queremos que las letras se queden encendidas durante 4 segundos (por ejemplo) y luego que se vuelva a repetir la secuencia (apagndose todas las luces de nuevo y volvindose a encender una por una).
En el espacio reservado para la secuencia tendras que escribir lo siguiente:
;***************************************************************************
;******* A PARTIR DE AQUI ESCRIBE TU SECUENCIA *****************************
;---------------------------------------------------------------------------
ON1
ESPERA
ON2
ESPERA
ON3
ESPERA
ON4
ESPERA
ON5
ESPERA
ON6
ESPERA
ON7
ESPERA
ON8
ESPERA
ON9
ESPERA
ON10
ESPERA
ON11
ESPERA
ON12
ESPERA4
OFFTODO
ESPERA
;--------------------------------------------------------------------------
;*************** FIN DE LA SECUENCIA **************************************
;**************************************************************************
Una vez hecho esto, guarda el archivo con extensión .asm y sigue las instrucciones para programar el PIC haciendo click en el siguiente enlace: Programar el PIC16F84
Casos especiales (mas ejemplos):
Ejemplo 2:
En un momento determinado de la secuencia, las luces se encuentran de esta forma: FELIZ NAVIDAD y se quiere encender las luces 1, 3 y 6 y apagar la 2 y la 4, todo a la vez, en el mismo movimiento, para conseguir el siguiente efecto:
FELIZ NAVIDAD
FELIZ NAVIDAD
para hacerlo deberás escribir lo siguiente:
...[Secuencia anterior]
ESPERA
ON1
ON3
ON6
OFF2
OFF4
ESPERA
[Continúa secuencia]...
El pic trabaja a tal velocidad que si escribes varias órdenes seguidas sin decirle que espere entre una y otra dará la sensación de que las hace a la vez.
Ejemplo 3:
En un momento de la secuencia se encuentran todas las luces encendidas, y se quiere apagar todas las luces menos la luz1. No hace falta que escribas OFF2 OFF3 OFF4...... OFF12 OFF13 puedes hacer lo siguiente:
...[Secuencia anterior]
ESPERA
OFFTODO
ON1
ESPERA
[Continúa secuencia]...
Ejemplo 4:
Se quiere conseguir una secuencia que haga este efecto continuamente:
FELIZ NAVIDAD
FELIZ NAVIDAD
Para hacerlo deberás escribir lo siguiente:
;***************************************************************************
;******* A PARTIR DE AQUI ESCRIBE TU SECUENCIA *****************************
;---------------------------------------------------------------------------
OFFTODO
ON1
ON3
ON5
ON7
ON9
ON11
ESPERA
INVIERTE
ESPERA
;--------------------------------------------------------------------------
;*************** FIN DE LA SECUENCIA **************************************
;**************************************************************************

