Sistema de seguridad con contraseña
PERIFERICOS
Teclado:
Un teclado matricial es un dispositivo que agrupa varios
pulsadores y permite controlarlos empleando un número de conductores inferior
al que necesitaríamos al usarlos de forma individual.
Pantalla LCD: Las
siglas LCD significan “Liquid Cristal Display” ó pantalla de cristal líquido.
Es una pantalla plana basada en el uso de una sustancia liquida atrapada entre
dos placas de vidrio, haciendo pasar por este una corriente eléctrica a una
zona específica, para que así esta se vuelva opaca, y además cuenta
(generalmente) con iluminación trasera.
Leds Se trata de un cuerpo semiconductor sólido de gran
resistencia que al recibir una corriente eléctrica de muy baja intensidad,
emite luz de forma eficiente y con alto rendimiento.
Zumbador: es un transductor
electroacústico que produce un sonido o zumbido continuo o intermitente de un
mismo tono (generalmente agudo).
MCP9700: Es un sensor de temperatura que convierte la temperatura en un voltaje análogo. El pin de salida de voltaje (Vout) puede ser conectado directamente a una entrada ADC de un microcontrolador. Los coeficientes de temperatura están escalados para proporcionar una resolución de 1°C/bit para un ADC de 8 bits con una referencia de voltaje de 5V.
MCP9700: proporcionan toda la lógica necesaria para codificar
completamente una matriz de interruptores SPST (teclado matricial). Los datos
de salida disponibles regresan a un nivel bajo cuando la tecla ingresada se ha
liberado, incluso si otra de las teclas está oprimida.
DESCRIPCION DEL FUNCIONAMIENTO DEL PROYECTO
El funcionamiento del sistema de seguridad con
contraseña es el siguiente
Primero hemos declarado la frecuencia de oscilación y
hemos incluido algunas librerías que serán de utilidad:
Después hemos declarado las variables que vamos a
usar: “char keypad[16]” contiene los números que se
encuentran en el teclado, “volatile char tecla” contendrá el carácter que se
presione en el teclado, “char String_clave[16]” contendrá el total de caracteres que se hayan
tecleado y se , “char contra[4]={3,4,6,7}” contendrá la clave correcta, “char clave1[4]” contendrá en cada posición el
carácter que se haya introducido desde el teclado, “char str_t1_mcp[8]” sirve para convertir la
temperatura del sensor MCP9700 en un string, “volatile uint8_t cont,b” contiene el contador de la
cantidad de veces que se ha apretado los botones del teclado y el b contiene el
número del teclado convertido de string a uint8_t. “volatile uint8_t intentos” sirve para contar la cantidad de
fallos cuando introduces una clave incorrecta y “float t1_mcp” sirve para guardar el valor que
salga del sensor de temperatura.
Seguidamente
declaro la función “void configurar_puertos(void)”. Los puertos “DDRC4”, “DDRC1” y “DDRC0” son
configurados como salida (en el puerto C4 va configurado el buzzer, en el
puerto C1 va configurado el led verde y en el puerto C0 va configurado el led
verde). “DDRC2” está configurado como entrada, ahí ira configurado el
sensor de temperatura. “DDRB0”, “DDRB1”, “DDRB2” y “DDRB3” van configurados como entradas
(aquí se conectarán los pines que vienen del integrado MM74C922 (este integrado
tiene como entradas los 8 pines que salen del teclado y convierte los valores
que sale de los pines a un número binario natural de 4 bits). Los puertos “DDRD3”, “DDRD1” y “DDRD0” son
configurados como salida (el pin D0 va al Rs de la pantalla lcd y el pin D3 va
al Enable de la pantalla lcd). “DDRD4”, “DDRD5”, “DDRD6” y “DDRD7” son
salidas y van a los pines D4, D5, D6 y D7 de la pantalla lcd. Se configura el
puerto “1<<PORTC1” para que el led
rojo aparezca encendido cuando se inicie la programación. También se configura
el puerto D2 para que funcione una interrupción (cuando el valor de entrada en
el puerto D2 pase de 0 a 1 se active una interrupción).
Al inicio del “int main(void)”, configuro el contador a 0, inicio la conexión con la pantalla y lo limpio (Lcd_Init() y Lcd_Clear()), además activo el serial_begin (Serial_begin(9600)) para la transmisión USART, inicio la conexión ADC (ADC_Init()) para el sensor de temperatura, configuro los puertos (configurar_puertos()) y activo la interrupción (sei()).
En la interrupción ocurre lo siguiente, la variable tecla será
igual al valor que tenga la tecla que se apretó en el teclado. Además, la
variable cont aumenta en 1, y la variable b será igual al valor de la tecla.
Después leo el dato analógico que sale del sensor de temperatura:
Dentro del switch ocurre lo siguiente: si no se
teclea ningún botón (cont=0), aparece en la pantalla lcd un mensaje de
“ingrese”, para que digites una clave. Si se teclea 4 números, estos se guardan
en los 4 bits del char clave1.
Cuando se teclea la quinta tecla (cont=5), el
programa entra en in “if” para determinar si la clave es correcta o incorrecta.
Si la clave es correcta: aparecerá un mensaje en la
pantalla lcd que dira “Clave correcta” y se activará una transmisión USART, en
la pantalla aparecerá un mensaje que diga “Contraseña desbloqueada” y la
temperatura del ambiente.
Si la clave es incorrecta, se escribirá un mensaje:
“Acceso denegado”, y te pedirá que vuelvas a ejecutar otra clave (cont=0),
además la variable intento aumentara su valor (+1), cuando la variable intentos
llega a 3, se activara la alarma.
SIMULACION
IMPLEMENTACION Y PUESTA EN MARCHA
Puesta en marcha:
APLICACIONES:
SISTEMA DE SEGURIDAD EN UNA CAJA FUERTE
Una caja fuerte o caja de seguridad es un compartimiento de seguridad ideado para que su apertura sea muy difícil a personas no autorizadas y así poder guardar elementos de valor. Por lo general son fabricadas en un metal extremadamente resistente; suelen ser muy pesadas y constan de un sistema de cierre que solo se puede abrir mediante claves secretas, y estas claves pueden cambiarse para preservar más aún la seguridad. Una versión menos segura (sólo adecuada para caja menor) se llama una caja de caudales. Para acceder al contenido que hay en estas cajas fuertes es necesario saber la contraseña. En el proyecto realizado, hay una luz roja y una luz verde. Cuando el led rojo este encendido significa que la caja fuerte está cerrada, y cuando el led verde este activado, significa que la caja fuerte ha sido abierta.
SISTEMA DE
SEGURIDAD EN LA ENTRADA DE UNA CASA
Debido
a los problemas de seguridad ciudadana y a los peligros de robo que pueden
ocurrir cuando no se encuentra nadie en nuestros domicilios. Un sistema de
seguridad para abrir una casa a través de una contraseña es una buena
alternativa para no sufrir robos. Solo los que viven en el domicilio conocerán
la contraseña. Además, el sistema de seguridad está programado para que suene
una alarma en caso el operario haya ejecutado tres contraseñas incorrectas.
SISTEMA DE SEGURIDAD EN LA ENTRADA DE UNA EMPRESA
Los
sistemas de seguridad en una empresa son diversos. La mayoría de estos, aunque
eficientes, son bastantes caros. Básicamente se trata de lo siguiente: el jefe
de la empresa le asigna un código a cada empleado, después se guardan los
respectivos códigos dentro del programa principal. Cuando el empleado quiera
entrar a trabajar, tendrá que digitar su código en el sistema de seguridad. Si
el sistema lo considera como válido, el empleado podrá entrar. Este sistema
también puede ir implementado en otras instalaciones dentro de la empresa. En
el comedor, por ejemplo, o en los baños reservados solo para unos empleados. En
el caso de los baños, si por ejemplo, dentro de la empresa hay baños reservados
solo para los empleados de administración. Se puede poner un sistema de
seguridad en la entrada, y solo reconocerá como claves correctas los códigos
asignados al área de administración.