En este proyecto, vamos a desarrollar un sistema de seguridad basado en teclado y RFID. Este proyecto se implementa mediante el uso del microcontrolador 8051. La tecnología RFID (identificación y detección de radiofrecuencia) se usa comúnmente en escuelas, universidades, oficinas y estaciones para diversos fines para autenticar automáticamente a las personas con etiquetas RFID válidas. Aquí verificaremos la etiqueta RFID, junto con una contraseña asociada con la etiqueta, para asegurar el sistema.
Trabajando
Podemos dividir el sistema de seguridad completo en varias secciones: sección de lector, teclado, sección de control, sección de controlador y sección de pantalla. El funcionamiento de todo el sistema y el papel de cada sección se puede entender a través del siguiente diagrama de bloques.
Sección del lector: esta sección contiene un RFID, que es un dispositivo electrónico que tiene dos partes: una es el lector RFID y la otra es una etiqueta o tarjeta RFID. Cuando colocamos la etiqueta RFID cerca del lector RFID, lee los datos de la etiqueta en serie. La etiqueta RFID que hemos utilizado aquí tiene un código de caracteres de 12 dígitos o un número de serie. Este RFID funciona a una velocidad de 9600 bps.
Teclado: Aquí hemos utilizado un teclado matricial 4x4 para ingresar la contraseña al sistema.
Sección de control: el microcontrolador 8051 se utiliza para controlar el proceso completo de este sistema de seguridad basado en RFID. Aquí, al usar 8051, estamos recibiendo datos RFID y enviando mensajes o estados a la pantalla LCD.
Sección de visualización: en este proyecto se utiliza una pantalla LCD de 6x2 para mostrar mensajes. Aquí puede ver el tutorial: Interfaz LCD con microcontrolador 8051
Sección del controlador: Esta sección tiene un controlador de motor L293D para abrir la puerta y un zumbador con un transistor NPN BC547 para las indicaciones.
Cuando una persona coloca su etiqueta RFID en el lector RFID, RFID lee los datos de la etiqueta y los envía al microcontrolador 8051 y luego el microcontrolador compara estos datos con datos predefinidos. Si los datos coinciden con los datos predefinidos, el microcontrolador solicita la contraseña y, después de ingresar la contraseña, el microcontrolador compara la contraseña con la contraseña predefinida. Si la puerta de coincidencia de contraseña se abre, de lo contrario, la pantalla LCD muestra Acceso denegado y el timbre comienza a sonar durante algún tiempo.
Diagrama de circuito y explicación
Como se muestra en el diagrama de circuito del sistema de seguridad RFID anterior, la pantalla LCD de 16x2 está conectada en modo de cuatro bits con el microcontrolador. Los pines RS, RW y EN de la pantalla LCD están conectados directamente en el PIN del PUERTO 1 número P1.0, P1.1 y P1.2. Los pines D4, D5, D6 y D7 de la pantalla LCD están conectados directamente en los pines P1.4, P1.5, P1.6 y P1.7 del puerto 1. El controlador del motor está conectado en el pin PORT número P2.4 y P2.5. Y el zumbador está conectado en P2.6 en PORT2. Y el teclado está conectado en PORT0. Las filas de teclado están conectadas en P0.4 - P0.7 y las columnas están conectadas en P0.0 - P0.3.
Explicación del programa
Al programar el microcontrolador 8051 para el sistema de seguridad basado en RFID, en primer lugar incluimos archivos de encabezado y definimos pines y variables de entrada y salida.
#incluir
Luego defina los pines para el módulo de teclado.
sbit col1 = P0 ^ 0; sbit col2 = P0 ^ 1; sbit col3 = P0 ^ 2; sbit col4 = P0 ^ 3; sbit fila1 = P0 ^ 4; sbit row2 = P0 ^ 5; sbit row3 = P0 ^ 6; sbit row4 = P0 ^ 7;
Después de esto, hemos creado una función de retraso.
demora nula (int itime) {int i, j; para (i = 0; i
Luego hacemos alguna función para LCD e inicializamos la función lcd, nulo lcd_init (nulo) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Aquí tenemos alguna función que hemos utilizado en nuestro programa. En esto, hemos configurado una tasa de baudios de 9600bps a una frecuencia de cristal de 11.0592MHz, y la función de recepción está monitoreando el registro SBUF para recibir datos.
void uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {mientras (! RI); ch = SBUF; RI = 0; return ch; }
Después de esto, en el programa principal, hemos inicializado lcd y Uart y luego leemos la salida de RFID cuando se activa alguna etiqueta. Almacenamos esta cadena en una matriz y luego la combinamos con los datos de la matriz predefinida. Y luego haga coincidir la contraseña.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {teclado (); if (strncmp (pasar, "4201", 4) == 0) {aceptar (); lcdcmd (1); lcdstring ("Acceso concedido"); lcdcmd (0xc0);
Si se produce una coincidencia, el controlador abre la puerta; de lo contrario, se inicia el timbre y la pantalla LCD muestra una tarjeta no válida.