CERRADURA CAJA FUERTE
INTRODUCCIÓN
Con el fin de poner en practica los conceptos adquiridos e ir desarrollando la habilidad de dar solución a cualquier problema de diseño, se propuso desarrollar un circuito/programa que funcione como la cerradura de una caja fuerte, simulando la programación de una clave de seguridad y posteriormente esta misma compararla con la ingresada por el usuario a la hora de la utilización. De llegar a ser correcta la contraseña se abre la puerta de la caja, si la clave es incorrecta y se supera el numero máximo de intentos erróneos, se deberá ejecutar alguna acción de bloqueo o alerta.
OBJETIVOS
Realizar el diseño y su respectivo montaje de un circuito que permita obtener las mismas funciones de una cerradura electrónica de una caja fuerte, usando el teclado matricial como entrada, diodos LED y visualización dinámica para la salida.
CONDICIONES
- La clave de la cerradura solo se debe poder programar si la puerta de la caja fuerte se encuentra abierta.
- La clave debe ser de 4 números de 4 bits.
- Se deberá implementar registros de desplazamiento izquierdo y derecho para poder "escribir y borrar" la clave.
- Se debe realizar un conteo de los intentos fallidos a la hora de validar la clave, cada 3 intents fallidos, se debe bloquear el teclado por un tiempo y ademas al llegar a los nueve intentos fallidos, se debera encender una alarma durante 20 segundos.
MATERIALES
- Protoboard
- Resistencias
- Panalla LCD
- Cable
- PSoC
- PSoC Creator
- diodos LED
- Teclado matricial
- Algunos componentes adicionales integrados en el software PsoC creator, que serán nombrados a lo largo del desarrollo de la practica.
DESARROLLO
HARDWARE
Para la realización de esta practica no fue necesario el uso de componentes en físico (ejemplo, integrados) mas que cable, la PsoC, resistencias de 1KΩ, diodos y pantalla LCD para la visualización. De manera que el circuito, hablando de la parte de hardware y montaje quedo de la siguiente manera:
(Circuito final cableado.)
ESQUEMÁTICO
Se debe tener en cuenta que es un proyecto bastante grande por ello fue necesario la creación de tres paginas e interconectarlas en el software.
(Pagina dos del circuito final PsoC creator)
(Pagina tres del circuito final PsoC creator)
ENTRADAS:
Como se evidencia en la imagen anterior se hace el uso de componentes que ya se han utilizado en practicas anteriores como lo es el teclado matricial, al cual se le conectaran las entradas provenientes del teclado mecánico codificadas como filas (F_n) y columnas (C_n). Ademas, a sus salidas va conectado un decodificador a numero binario.
(Decodificador teclado matricial.)
(Decodificador a binario.)
Las salidas del decodificador a binario, son conectadas a un comparador el cual cumple con la función de "filtrar" aquellos números que sean menores a 9, esto con el fin de que la clave solo reciba como los números del 0 al 9. Lo anterior se consigue conectando en las entradas denominadas como An, las salidas del decodificador a binario, a las entradas denominadas B se conectan "1 y 0" lógicos formando el numero 9 en binario.
(Comparador.)
(Comparador circuito interno.)
Hasta este momento el circuito debería ir tomando la siguiente estructura:
(circuito primera parte, entradas.)
Siguiendo con el montaje, la salida "AmenB" (los números A menores que B) es conectada a un arreglo de compuertas digitales AND, NOT y OR , que funcionaran como reloj de las memorias que se presentan mas adelante. Siendo específicos, el arreglo de compuertas permite ejecutar el pulso necesario para que las memorias funcionen, en los momentos que deben funcionar, por ejemplo cuando se pulse algún botón del teclado matricial entre el 0 y el 9 o cuando se oprima "enter" o el botón destinado para "borrar"
CONTADOR ASCENDENTE Y DESCENDENTE
(Componente contados ascendente y descendente )
(Circuito interno del contador)
El componente anterior sera uno de los encargados de controlar el pulso que llegara a las memorias que se explican a continuación. Adicional-mente sera el encargado de controlar la cantidad de números que ingresa el usuario, es decir , una vez ingresados 4 números como máximo, este contador boquea la escritura de las memorias.
Antes de pasar a las memorias se explicara la funcionalidad del siguiente arreglo de compuertas lógicas:
(Detector con compuertas lógicas)
El circuito anterior funciona como detector de los botones A,B,C,D (números mayores a 9) del teclado matricial, con el fin de dar uso a estos botones, por ejemplo:
- Botón A: Funcionara como botón "enter".
- Botón B: Encargado de seleccionar la memoria que guarda la contraseña correcta.
- Botón C: Una vez programada la contraseña correcta, sera el encargado de seleccionar la memoria dispuesta para el ingreso de la contraseña.
- Botón D: Funciona como el botón para " Borrar"
El siguiente circuito,haciendo uso de compuertas lógicas y biestables tipo D, regula y controla el funcionamiento de lo que sera el botón A "enter", el cual es quien permite la validación de la contraseña:
(Control Boton A)
MEMORIAS
Fue necesario la implementacion de una "Memoria universal" que nos permita realizar las acciones principalmente de desplazamiento derecho e izquierdo, a continuación se muestra su montaje:
(Componente "Memoria universal")
(Circuito interno memoria universal.)
Bien,es evidente la utilización de componentes de practicas anteriores por ejemplo los multiplexores y las memorias de 4 bits, por ello no se va a hacer énfasis en la construcción de estos mismos.
Un registro de desplazamiento es un circuito digital secuencial que consistente en una serie de biestables (Flip-Flop), generalmente de tipo D, conectados en cascada, que basculan de forma sincrónica con la misma señal de reloj y según las conexiones entre los biestables, se tiene un desplazamiento a la izquierda o a la derecha de la información almacenada.
Una vez entendido esto, las conexiones serian de la siguiente manera:
- Entradas "DER_n": Salidas del decodificar de teclado matricial a binario.
- Entradas "IZQ_n" : Nivel bajo digital, es decir un 0 lógico.
- Entrada "Sel":Conexion "RES", controla los desplazamientos, que para simplificar lo llamaremos botón "Borrar"
- Reloj: Arreglo de compuertas lógicas anteriormente explicado.
Vale aclarar que se utilizaran dos memorias de este tipo, la "Memoria A" quien almacenara los números ingresados por el usuario y la "Memoria B" quien almacenara la contraseña correcta una vez esta se halla programado.
Continuado con las conexiones de las memorias, sus salidas serán puestas en un multiplexor de 16 a 4 y a los respectivos comparadores que se explicaran mas adelante.El uso del multiplexor nombrado, se hace necesario para la implementacion de la visualización dinámica, cuya explicación también se ha hecho en practicas anteriores.
COMPARADORES
(Componente comparador)
Teniendo en cuenta que para este momento ya hay bastantes componentes en el software y pensando en optimizar de la memoria de la PsoC, se implementaron unos contadores "mas sencillos" diseñados con compuertas X-Nor y una compuerta AND de la siguiente manera:
(Comparador)
Para realizar las debidas comparación se requirió de la utilización de 4 de estos comparadores.Hablando de solo un comparador, sus entradas denominadas "A " son conectadas a las salidas de la "Memoria A" y de la misma manera las entradas "B" son conectadas a la "Memoria B". Una vez hecho esto el comparador arrojara un uno lógico, el cual sera puesto en una compuerta AND junto con las salidas de los otros comparadores con el objetivo de obtener un uno lógico si la comparación y por ende la contraseña es correcta.
Adicional-mente y para cumplir con una de las condiciones planteadas, se hace uso de un "Basic counter" el cual esta a cargo de contabilizar los intentos fallidos y una vez alcanzado el nivel máximo de fallos, el teclado matricial se des habilitara por un cierto tiempo que esta contabilizado un contador con un reloj a 0.1 Hz.
(Conexión de los comparadores y el contador de intentos fallidos)
(Contador "Bloqueo teclado matricial")
SALIDAS
Como se había nombrado anteriormente se realizo visualización dinámica con pantalla LCD para lo cual se debe implementar la ayuda de codigo C e interrupciones en el esquematico para poder visualizar en el momento correcto.
(Componentes para la visualización en pantalla LCD)
Los componentes usados, ya han sido explicados en practicas anteriores,por ende se obviara la explicación de los mismos.
A continuación se adjunta breve mente el código C que se implemento para la visualización.
(Código C para la visualización de las memorias.)
CERRADURA
(Circuito "servomotor")
El servomotor funciona a partir de un PWM y dependiendo del ciclo útil de este, el servomotor se moverá entre 0° y 180°. Para este caso solo se implemento el movimiento de 0° a 90° y viceversa.
PRUEBAS
A continuación se muestra el montaje final y su correcto funcionamiento.
Explicación:
Suponiendo que en el estado inicial la caja se encuentra nueva sin ninguna clave programada, se procede a programar una, oprimiendo el botón B, seguido de nuestra contraseña (en este caso es 1234). Una vez se ha programado, se cierra la puerta y se oprime el botón # para ajustar el seguro de la puerta , seguido de ello se procede a comparar las contraseñas (Botón C).
Pasados 3 intentos fallidos, el teclado se suspende/bloquea durante 3 segundos y ademas, llegado al noveno intento fallido, se activa una alarma que durara encendida por 20 segundos.
Finalmente se muestra como al introducir la contraseña correcta, el seguro se levanta y la puerta se abre.
Explicación:
Suponiendo que en el estado inicial la caja se encuentra nueva sin ninguna clave programada, se procede a programar una, oprimiendo el botón B, seguido de nuestra contraseña (en este caso es 1234). Una vez se ha programado, se cierra la puerta y se oprime el botón # para ajustar el seguro de la puerta , seguido de ello se procede a comparar las contraseñas (Botón C).
Pasados 3 intentos fallidos, el teclado se suspende/bloquea durante 3 segundos y ademas, llegado al noveno intento fallido, se activa una alarma que durara encendida por 20 segundos.
Finalmente se muestra como al introducir la contraseña correcta, el seguro se levanta y la puerta se abre.
Comentarios
Publicar un comentario