• No se han encontrado resultados

Cerradura electrónica con clave en memoria FLASH

In document Micro Control Adores Pic Basic (página 111-115)

5.7 PROYECTOS CON TECLADOS

5.7.2 Cerradura electrónica con clave en memoria FLASH

Este es un proyecto aplicable en seguridad, se trata de una cerradura electrónica en la cual al ingresar los 4 dígitos correctamente en su teclado, el PIC energiza un relé (puerta), pero si la clave es incorrecta el PIC emite 3 pitos indicando que ingresó una clave errónea y por supuesto que el relé no se conectará, para hacerlo más interesante se le ha agregado sonido a las teclas en el momento de ser pulsadas esto sirve para que el usuario sepa que el PIC reconoció la pulsación, también tiene un programa antirrebote de tecla para asegurarse que ingrese una sola tecla a la vez.

El único inconveniente es que la clave no puede ser cambiada, ya que el número de la combinación (1,2,3,4) se lo grabó en el programa del PIC por lo que reside en la memoria FLASH, más adelante en los próximos proyectos la clave podrá ser cambiada a gusto del usuario, en tal caso este proyecto sirve para poder identificar y diferenciar las 3 memorias que dispone el PIC.

MATERIALES.

-1 teclado matricial hexadecimal como el de la figura 5.7.2.3 -6 resistencia de 4,7 KΩ

-1 resistencia de 330 Ω -2 transistores 2N3904

-1 chicharra activa ( las que suenan directamente al alimentarles con 12 voltios) -1 relé de 12 voltios de 5 patitas

-1 LED rojo de 5 mm.

--- Microcontroladores PIC --- Figura 5.7.2.1. Diagrama de conexión de un teclado hexadecimal con un relé un led y una chicharra, para hacer una cerradura electrónica.

cmcon=7 ;cambiar a modo digital todo el puerto A NUMERO VAR BYTE ;variable número para almacenar la tecla pulsada R VAR BYTE ;variable r para hacer repeticiones

BIP VAR PORTA.0 ;el portA.1 Bip (conectar chicharra activa) LED VAR PORTA.1 ;el portA.2 se llamará led

DOOR VAR PORTA.2 ;el portA.3 conectar relé para la cerradura

A VAR PORTB.0 ;nombres para los pines de las filas B VAR PORTB.1

C VAR PORTB.2 D VAR PORTB.3

UNO VAR PORTB.4 ;nombres para los pines de las columnas DOS VAR PORTB.5

TRES VAR PORTB.6 CUATRO VAR PORTB.7

INICIANDO: ;programa del led para saber si está funcionando

HIGH LED : HIGH BIP

PAUSE 500

LOW LED : LOW BIP

GOTO TECLAUNO ;ir a comparar claves BARRIDO:

IF UNO = 0 THEN NUMERO =1 :RETURN ;tecla retorna cargada con 1 IF DOS = 0 THEN NUMERO =2 :RETURN ;tecla retorna cargada con 2 IF TRES = 0 THEN NUMERO =3 : RETURN ;tecla retorna cargada con 3 IF CUATRO = 0 THEN NUMERO =10: RETURN ;tecla retorna cargada con 10 HIGH A

LOW B ;sensar la fila B

IF UNO = 0 THEN NUMERO =4 : RETURN IF DOS = 0 THEN NUMERO =5 : RETURN IF TRES = 0 THEN NUMERO =6 : RETURN IF CUATRO = 0 THEN NUMERO =11: RETURN HIGH B

LOW C ;sensar la fila C IF UNO = 0 THEN NUMERO =7 : RETURN

IF DOS = 0 THEN NUMERO =8 : RETURN IF TRES = 0 THEN NUMERO =9 : RETURN IF CUATRO = 0 THEN NUMERO =12: RETURN HIGH C

LOW D ;sensar la fila D IF UNO = 0 THEN NUMERO =14: RETURN

IF DOS = 0 THEN NUMERO =0 : RETURN IF TRES = 0 THEN NUMERO =15: RETURN IF CUATRO = 0 THEN NUMERO =13: RETURN HIGH D

PAUSE 10 GOTO BARRIDO

; ***************** programa de antirrebote de teclas ************* PTECLA:

HIGH LED : HIGH BIP ;genera sonido cada que se pulsa tecla PAUSE 100 ;duración 100 milisegundos

LOW LED : LOW BIP ;apagar sonido y led

ESPACIO: ;programa de antirrebote de teclas IF UNO = 0 THEN ESPACIO ;si la tecla sigue pulsada ir a espacio

IF DOS = 0 THEN ESPACIO ;si la tecla sigue pulsada ir a espacio IF TRES = 0 THEN ESPACIO ;si la tecla sigue pulsada ir a espacio

IF CUATRO = 0 THEN ESPACIO ;si la tecla sigue pulsada ir a espacio PAUSE 25

RETURN ;retorna si se suelta las teclas ; ***************** comparación de claves ************************ TECLAUNO:

GOSUB BARRIDO ;ir a barrido y retornar con un valor

GOSUB PTECLA ;envía a un programa antirrebote para soltar tecla IF NUMERO = 1 THEN TECLADOS ;si el número es igual a 1 ir teclados

GOTO FALSO ;caso contrario ir a lazo falso

TECLADOS:

GOSUB BARRIDO: GOSUB PTECLA ;ir a barrido y retornar con un valor

--- Microcontroladores PIC --- Figura 5.7.2.2. cerradura_FLASH.pbp Programa para hacer una cerradura electrónica

codificada (1,2,3,4) en la que la clave no se puede cambiar.

NOTA: Para evitar fallas en su funcionamiento debido a la activación del relé, asegúrese de

colocar un capacitor de 0,1 uF paralelo a la alimentación del PIC.

IF NUMERO = 2 THEN TECLATRES ;si el número es igual a 2 ir teclatres GOTO FALSO1 ;caso contrario ir a lazo falso

TECLATRES:

GOSUB BARRIDO :GOSUB PTECLA ;ir a barrido y retornar con un valor

IF NUMERO = 3 THEN TECLACUATRO ;si el número es igual a 3 ir teclacuatro GOTO FALSO2 ;caso contrario ir a lazo falso

TECLACUATRO:

GOSUB BARRIDO :GOSUB PTECLA ;ir a barrido y retornar con un valor

IF NUMERO = 4 THEN OPENGE ;si el número es igual a 4 conectar relé GOTO FALSO3 ;caso contrario ir a lazo falso

OPENGE:

FOR R = 1 TO 2 ;2 pitos indica clave correcta PAUSE 100

HIGH LED : HIGH BIP PAUSE 100

LOW LED : LOW BIP NEXT

HIGH DOOR ; se conecta el relé (abrir puerta) PAUSE 1000 ; esperar 1 segundo

LOW DOOR ; desconectar relé

GOTO TECLAUNO ;ir nuevamente a comparar las claves

; ***************** lazos falsos teclas erroneas ***************** FALSO:

GOSUB BARRIDO :GOSUB PTECLA ;estas teclas no comparan ninguna FALSO1: ;clave sólo espera que termine de GOSUB BARRIDO :GOSUB PTECLA ;pulsar las 4 teclas y no hace nada FALSO2:

GOSUB BARRIDO :GOSUB PTECLA FALSO3:

FOR R = 1 TO 3 ;3 pitos indica clave incorrecta PAUSE 100

HIGH LED : HIGH BIP PAUSE 100

LOW LED : LOW BIP NEXT

GOTO TECLAUNO ;ir nuevamente a comparar las claves

Figura 5.7.2.3. Fotografía de teclados matriciales hexadecimales comunes en las tiendas electrónicas.

5.7.3. CERRADURA ELECTRÓNICA CON CLAVE EN MEMORIA RAM Y CAMBIO

In document Micro Control Adores Pic Basic (página 111-115)