En este tutorial describiremos como programar una sencilla alarma con una red de sensores magnéticos normal abierto y un sensor de movimiento PIR.
Usaremos la versión de DEMO de Niple que se puede descargar desde http://www.niplesoft.com/descargar/ para realizar el proyecto.
La lógica a seguir será conectar los distintos tipos de sensores a los pines RB6 y RB7 del PIC16F627A. Tendremos una serie de condiciones para evaluar el estado de un registro que almacenará un valor decimal de acuerdo a lo siguiente:
- Valor 0: alarmar desactivada.
- Valor 1: alarma armada.
- Valor 2: alarma disparada.
El primer paso será declarar el registro:
Vamos a utilizar la interrupción por cambio de estados en los pines RB4 a RB7. Para esto es necesario activar la rutina de interrupción:
Dentro de la interrupción evaluaremos el estado de tres pines:
- RB5: pulsador de armado / desarmado.
- RB6: sensor de movimiento PIR.
- RB7: red de sensores magnéticos normal abierto.
En nuestra rutina principal evaluaremos el estado del registro y de acuerdo al valor ejecutaremos alguna de las siguientes acciones:
- Alarma desarmada: LED indicador apagado, salida apagada.
- Alarma armada: LED indicador destellando, salida apagada.
- Alarma disparada: LED indicador encendido, salida encendida.
Se incluye una librería para poder simular el sensor PIR en Proteus. Copiamos los archivos «PIRSensorTEP.IDX» y «PIRSensorTEP.LIB» dentro de la carpeta «LIBRARY» de Proteus. Luego insertamos el sensor PIR como cualquier componente convencional, y accedemos a sus propiedades para cargarle el archivo de programa «PIRSensorTEP.hex» que lo hace funcionar.
La rutina principal debe quedar como el siguiente gráfico:
La rutina de interrupción debe quedar como el siguiente gráfico:
Un comentario sobre “Alarma con sensor PIR”
Los comentarios están cerrados.