ACTUALIZADA AL 3/12/04


ALARMA CON TECLADO Y 2 PIC 16F84A. Producida por: Bruno Fascendini. Consultas y dudas a: [email protected] ó [email protected]



El PIC1 posee casi en su totalidad código y diseño del circuito producido por PETER JAKAB, por lo tanto todos los créditos y Copyright son de PETER JAKAB.



PIC1 have almost in it's totallity, code and circuit design produced by PETER JAKAB, so all credits and Copyright belongs to PETER JAKAB
.


· Visit PETER JAKAB Combination Lock Page
 

ESTOY CONECTADO?

CHARLEMOS!

 

    La alarma utiliza 2 PIC 16F84A, uno se encarga del teclado, el ingreso del código, el cambio del código y de la activación y desactivación de la alarma. Este PIC envía mediante el pin RB2 una señal que el otro PIC capta, para saber si la alarma esta activada o desactivada.

    El segundo PIC es el encargado de escannear el estado de los sensores(mi alarma posee 6 sensor con punteros láser infrarrojos) La alarma es independiente del tipo de sensor que se utilice, sin embargo si el sensor utilizado utiliza pulsos, el retardo de cada sensor debe ser cambiado desde el programa .asm.



Que quiere decir esto de los retardos para cada sensor?



La gran mayoría de los distintos tipos de sensores trabajan enviando pulsos, los cuales son captados por los PINES del PIC2.

Los sensores que no utilizan PULSOS son por ejemplo los electromagnéticos. Estos sensores no utilizan retardos, por lo cual habrá que modificar el programa para que no exista el retardo si se desea mayor precisión, aunque el retardo en mi programa es tan pequeño que es casi imposible que un intruso llegue a supongamos abrir y cerrar la puerta (en la cual esta instalado el sensor electromagnético) en menos tiempo del que tarda el programa en detectar la violación del perímetro.

El intervalo utilizado en mi programa es menor a 0.5 segundos aprox.(no lo he calculado matemáticamente, pero si lo deseas puedes calcularlo contando la cantidad de instrucciones que tarda el programa en cada ciclo de escanneo (aunque varia dependiendo de si se ha violado otro sensor también) y multiplicando esto por 255(0xFF)....)



QUE ES UN PULSO?



Un pulso es un intervalo de tiempo durante el cual el sensor envía voltaje, el cual es captado por el pin correspondiente del PIC2. El intervalo de duración del PULSO varía de sensor en sensor.

Seria una especie de señal que el PIC2 captará.

En algunos sensores, la ausencia de pulsos implica que se ha detectado que se debe disparar la sirena.



Ejemplo:



Línea de tiempo de un sensor que utiliza PULSOS (ejemplo meramente explicativo):



Pulso ( duración: 100ms)------INTERVALO DE DESCANSO (duración:100ms)----------Pulso ( duración: 100ms)------INTERVALO DE DESCANSO (duración:100ms)..continua de la misma forma...



En otros sensores, el envió de un PULSO implica que se debe disparar la sirena. Estos sensores no son recomendables, ya que si el intruso logra obtener acceso a los cables del sensor, y los corta, el PULSO jamás llegara al PIN del PIC2, por lo tanto no se disparara la sirena...



Los retardos son necesarios, ya que entre cada pulso hay un intervalo de tiempo en el cual el sensor no envía corriente al PIN del PIC2, y por lo tanto el PIC2 al testear el estado del PIN, obtiene un 0, provocando el erróneo disparo de la sirena. POR ESTO SON NECESARIO LOS RETARDOS EN SENSORES QUE TRABAJAN CON PULSOS.



Como trabajan los retardos?



Los 6 pines asignados a la alarma funcionan del mismo modo: se verifica uno por uno el estado de las entradas de los PINES asignados a los sensores, ahora supongamos el siguiente ejemplo:



El sensor conectado al PIN PORTA,0 envía un PULSO si la zona no ha sido violada.

El sensor 1 recibe voltaje en el PIN PORTA,0 durante el PULSO. l programa capta este voltaje, y reinicia el contador de este sensor (255).

    Durante el intervalo en el cual el sensor no envía el pulso, el PIN PORTA,0 no recibe voltaje, por lo tanto comienza a decrementar el contador del sensor 1. Si este contador llega al valor 0 antes de recibir un PULSO, se disparara la sirena, se encenderá la luz correspondiente al sensor 1 (PORTB,3), se guardara en la memoria EEPROM del PIC que la sirena esta sonando, y que el sensor 1 ha detectado la violación del perímetro protegido y se reiniciara el contador de este sensor. Si se corta la luz, al reestablecerse, la alarma iniciara SONANDO LA SIRENA, y con la luz del sensor 1 encendida en el tablero. ÍDEM CON LOS DEMÁS SENSORES. El sensor 6 no posee Luz indicadora, pero activa la sirena. No posee luz, ya que los PINES del PIC 16F84A no son suficientes. Es fácil darse cuenta de que el sensor 6 ha detectado una violación, ya que se escuchara la sirena, y no se observara ninguna luz encendida en el tablero.



He diseñado mi alarma para utilizarla con sensores láser, estos sensores se encienden durante 50 ms 10 veces por segundo, o sea: cada 0,1 segundos. La sirena se disparara, por lo tanto, si el PIC2 no recibe corriente durante 0.5 segundos o mas, por lo tanto el láser deberá ser bloqueado por un cuerpo durante 5 o mas pasadas del láser. El intervalo en el cual el láser no envía Pulso ( intervalo de descanso) es de 50ms,que es menor a 500ms(0.5seg), por lo tanto el intervalo de descanso no llega a ser tan grande como para disparar la sirena.



He utilizado LEDS rojos, y para los LEDS indicadores de cada sensor, he utilizado ROJOS INTERMITENTES.



En el siguiente diagrama verán que he puesto el MC78L05 aparte, este componente, regula el voltaje a 5 volts y 100ma. La utilización o no del mismo, depende de ustedes ( yo no lo he utilizado).





DIAGRAMA DE CONEXIÓN DE LOS PICS. ACTUALIZADO EL 2/11/04:



NOTA: el PIC1 es el que se muestra en la parte superior del Grafico. EL PIC2 es el de la parte inferior.
 

    El programa envía 5v constantemente a la sirena cuando se encuentra una violación, la mayoría de las sirenas se activan y desactivan por PULSOS, por lo tanto habrá que cambiar el archivo .asm para lograr esto ( envíame un mail y te ayudare con el programa).En cambio no envía voltaje cuando todas las zonas están OK.

Porque una sirena que utiliza PULSOS para sonar o dejar de sonar es mejor?


La respuesta, esta vinculada a la SEGURIDAD. Enviar un pulso es mas seguro que enviar continuamente voltaje.
    Supongamos que un ladrón ingresa a nuestra vivienda, y encuentra el tablero principal(en el que se ingresa el código).La sirena ya estará sonando para este entonces. Supongamos que decide destruir el teclado, o cortar todos los cables que encuentre. si destruye el PIC2, el PIC deja de enviar corriente a la sirena, y si la sirena solo suena cuando recibe voltaje, se apagara y el intruso estará muy contento. En cambio, si utilizamos sirenas con pulsos, cuando el ladrón viole el perímetro, el PIC2 enviara un PULSO a la sirena,y la sirena comenzara a sonar y por mas que el intruso destruya o corte los cables, la sirena continuara sonando, ya que trabaja con pulsos, y solo dejara de sonar si recibe otro pulso por parte del PIC2.


 

DIAGRAMA DEL TECLADO: COPIADO DE PETER JAKAB            http://jap.hu/electronic/

 

El teclado no necesita ni utiliza ninguna resistencia, y recomiendo el uso de pulsadores Soft-Touch.

 

FUNCIONAMIENTO DEL PIC1:
 

El PIC1 es el encargado de controlar el teclado, el código, el cambio del código y la activación y desactivación de la alarma.

    El código inicial para activar/desactivar la alarma es 1234. Para activar/desactivar la alarma presione 1,2,3,4 y luego el botón # (ENTER). Para cambiar el código presione el código actual(1234 es el inicial) y luego presione el botón *. Se encenderá la luz que indica la alarma activada, esto es correcto, pero no se activara la alarma realmente, sino que simplemente es un indicador de que esta a punto de cambiar el código.

    Ahora ingrese el nuevo código deseado, Ej.: 2468 y presione el #, a continuación repita el procedimiento: presione el nuevo código (ejemplo: 2468) y presione el #. Se cambiara el código a 2468. Si corta la alimentación del PIC, y luego vuelve a conectarlo, el código seguirá siendo el 2468. RECUERDE EL CÓDIGO, YA QUE NO HAY FORMA DE RECOBRARLO, POR LO TANTO DEBERÁ RETIRAR EL PIC Y LEER SU CONTENIDO PARA RECUPERAR EL CÓDIGO, O BIEN VOLVER A GRABAR EL PIC (el código volverá a ser 1234).
 

Es posible utilizar los botones A,B,C,D como parte del código. El código A0C8 es valido. Esto da una mayor cantidad de combinaciones.
 


Que pasa si presiono una cantidad de dígitos mayor a 4 y luego presiono el botón # ó * ?
 

    El programa tomara como ingresados solo los últimos 4 dígitos presionados.
 

Que pasa si presiono una cantidad de dígitos menor a 4 y luego presiono el botón # ó * ?

    El programa borrara del buffer todos los dígitos ingresados, por lo tanto sirve para limpiar el buffer cuando se ha equivocado en el ingreso del código.

El LED en RB1 indicara que la alarma ha sido activada.Este permanecerá encendido constantemente hasta que desactive la alarma ingresando nuevamente el código correcto.

El mini parlante emitirá un sonido cuando el PIC1 reciba alimentación ( cuando se conecte) y cada vez que presione un pulsador.


FUNCIONAMIENTO DEL PIC2

 

    LA ALARMA NO TIENE DEMORA CUANDO UNA ZONA ES VIOLADA! ESTO SIGNIFICA QUE LA SIRENA COMENZARA A SONAR EN EL MISMO INSTANTE EN EL QUE UNA ZONA SEA VIOLADA. ESTO ES ASI, YA QUE YO NO NECESITO INGRESAR AL PERIMETRO VIGILADO POR LOS SENSORES PARA ACCEDER AL TECLADO. LA CENTRAL, ESTA UBICADA FUERA DEL PERIMETRO CONTROLADO. PRONTO PUBLICARE EL ARCHIVO .ASM QUE TENGA UN RETARDO DE 15 SEGUNDOS APROX. ANTES DE COMENZAR A SONAR.

    El nuevo archivo genera 1 sonido cuando se activa la alarma, y 2 cuando se desactiva. Además, las instrucciones están mas claras y explicadas.

    El PIC2 es el encargado de revisar los sensores. Mi diseño soporta hasta 6 sensores. Los cuales son expandibles, hasta un total de 11 o 12 sensores ( si no se utilizan LEDS que indiquen qué zona se ha violado o utilizando un multiplexor para indicar con luces las zonas.

Cada sensor posee una variable que es la encargada de generar el retardo.  

    La sirena se dispara si el PIN correspondiente a un sensor no recibe señal durante 256 ciclos de programa(loop) seguidos. Si recibe voltaje(señal o PULSO como he dicho anteriormente) durante uno de esos 256 ciclos de programa se reinicia el contador de ese sensor a 255.

    Cuando se activa la alarma mediante el ingreso del código en el PIC1, el sistema no comienza a chequear los sensores inmediatamente, sino que espera 10 segundos aproximadamente antes de hacerlo. Durante este tiempo, es posible desactivar la alarma ingresando el código en el PIC1.

    Cuando un sensor o más de uno falla durante 256 ciclos de loop(o programa) consecutivos, se dispara la sirena y se enciende la luz correspondiente(excepto el sensor 6, que carece de luz). La sirena queda activada y la luz( o luces) también hasta que se ingrese el código nuevamente en el PIC1. Aún cortando el suministro de electricidad al circuito, y luego volviéndoselo a dar, la sirena se iniciara sonando, e indicando mediante las luces encendidas, qué zonas habían fallado antes del corte de electricidad. La única manera de apagar la sirena y las luces es ingresando el código en el PIC1.

    Una vez que una o más zonas han sido como reconocidas por el PIC2 como violadas, la luz de esas zonas no se apagaran hasta ingresar el código en el PIC1.


Los contadores se reinician al valor 255 cuando el PIC recibe corriente, y cuando la alarma se desactiva ingresando el código en el PIC1.


Todos los cambios de la alarma y del estado de los sensores son guardados en la EEPROM del PIC2, y leídos cuando se inicia el programa, o cuando es necesario por parte del PIC2 leerlo.

 

       

       

 

    Como podrán ver, mi diseño ha sido al mejor estilo INGENIERIA!(no hay nada de estética, ni gráficos, ni siquiera indicaciones...). Me ha quedado bastante torcido...(esto de doblar acrílico no es lo mío...jeje).El acrílico era originalmente transparente, pero lo he pintado de negro.El acrílico se raya muy fácilmente, y da el aspecto de sucio o manchado...es un material muy maleable y moldeable, pero te aconsejo que si usas acrílico para la carcasa, mejor utiliza calcomanías( o contrata a un buen pintor)...(para la próxima ya lo se!)

    Como no necesito de EXTREMA SEGURIDAD, además de que utilizo sensores que indican una violación mediante la ausencia del envío de corriente, he colocado las entradas de los sensores en el costado de la alarma. Si el intruso desenchufa un cable, la sirena se disparará...así que...para que esconderlos? cuando podemos hacerlo picar el anzuelo? jeje.

    Ustedes pueden hacerlo como deseen. He puesto las 5 Luces en forma de CRUZ. La luz solitaria es la indicadora de la alarma ON/OFF. Los cables que se ven salir son 3. EL rojo es el positivo. EL negro el negativo, y el naranja el que va a ser conectado al transistor 2N2222. Pronto pondré fotos de la alarma funcionando (cuando la instale! :).

Espero haber ayudado en algo con este breve tutorial que he decidido escribir.


    Cualquier duda o sugerencia, al comienzo de este tutorial tienen mi mail. Daré todo el apoyo que pueda y que necesiten! mucha suerte! y a cuidar la PROPIEDAD PRIVADA!.


BRUNO FASCENDINI

PERGAMINO(BS AS)

ARGENTINA!


 

Tu nombre:
Tu dirección URL:
   
¿Volverías a visitar mi sitio Web?
No
¿Cómo llegaste a mi sitio?
Búsqueda de Yahoo! GeoCities
Un motor de búsqueda popular
Enlazar desde otro sitio
A través de un amigo
   
Si tenés algún comentario o sugerencia
para mi sitio, por favor escribelos abajo:

Volver

Hosted by www.Geocities.ws

1