Circuitos Electrónicos

Control de accesos multiusuario

Escrito por: Carlos Díaz

Pantalla alfanumérica LCD del teclado para control de accesos multiusuario con PIC16F84A

Este circuito permite controlar el acceso de una puerta mediante una clave numérica. El sistema se puede configurar con hasta 6 usuarios distintos (6 claves de acceso), uno de ellos es usuario avanzado y podrá gestionar su propia clave y la del resto de los usuarios; configurar el número de dígitos del código de apertura de puerta (3,4,5 o 6); Configurar el número de intentos fallidos permitido al introducir la clave; Borrar usuarios; permitir o no a los usuarios básicos modificar su clave.

Teclado matricial de 12 teclas utilizado en el control de accesos multiusuario con PIC16F84AEl circuito está implementado por un microcontrolador PIC16F84A, un teclado matricial de 12 teclas y una pantalla alfanumérica LCD de 2 líneas y 16 caracteres por línea. Para poder controlar todo esto con un microcontrolador tan pequeño se ha conectado la pantalla en modo de 4 Bits y se han compartido algunas líneas de datos con el teclado. Esto no ocasiona ningún tipo de conflicto en el sistema, ya que nunca se mapea el teclado en el mismo momento en el que se envían datos al LCD. Se ha tomado la precaución de programar el Watchdog (WDT) interno del PIC para evitar problemas por posibles bloqueos del microcontrolador, los cuales serían fatales en un sistema como éste, en el que dependes del funcionamiento del mismo para poder atravesar una puerta.

El principal problema al que he tenido que enfrentarme en éste proyecto ha sido la falta de espacio en la memoria de programa del PIC16F84A. Me hubiera gustado dar más opciones de configuración y mostrar más mensajes de texto en el display. Pero no había sitio para todo.

Esquema electrónico del control de accesos con PIC16F84A y pantalla LCD

Descarga del software para el PIC:     controlacc.asm    |    controlacc.hex
Ver esquema ampliado:    control_accesos.bmp
Ver pantalla del Ic-Prog:     control_accesos_icprog.jpg

Funcionamiento del equipo:

1. Abrir la puerta:

En la pantalla se muestra el mensaje "ACCESO RESTRINGIDO". Pulsar la tecla ' * ' (asterisco), el mensaje "Teclee Código" aparece en la pantalla: marque uno de los códigos de usuario existentes. Si el código introducido es correcto la puerta se abrirá durante 3 segundos y aparecerá el mensaje "PASE" en la pantalla. De lo contrario, el teclado emitirá un sonido "Beeeep" y volverá a la pantalla principal.

Nota: El código de apertura la primera vez que se conecte el equipo será el ' 0000 '

2. Usuarios:

El sistema distingue hasta 6 usuarios (o grupos de usuarios) distintos y cada uno dispone de una clave para abrir la puerta y acceder al menú. Cada usuario va numerado del 0 al 5. El usuario 0 es el usuario avanzado, o administrador, y los usuarios 1,2,3,4 y 5 son usuarios básicos. El usuario 0 es el único que tiene acceso a todas las opciones de configuración del dispositivo. Los usuarios básicos podrán cambiar su propia clave de acceso si así lo permite el administrador.

3. Acceso al menú de usuario:

En la pantalla se muestra el mensaje "ACCESO RESTRINGIDO". Para entrar al menú de usuario pulse la tecla ' # ' (almohadilla). El mensaje "Teclee Nº Usuario" aparecerá en la pantalla. Pulse el número de usuario a cuyo menú quiera acceder. A continuación se mostrará el mensaje "Teclee Código". Marque el código que corresponda a dicho usuario y entrará a la posición 1 del menú de usuario.

Nota 1: El código de usuario de los usuarios básicos que no estén en uso o hayan sido borrados será el propio código del administrador (usuario 0).

Nota 2: Si al pulsar el número de usuario 1,2,3,4 o 5 aparece el mensaje "CANCELADO" el administrador no permite que los usuarios básicos accedan al menú de usuario.

4. Opciones de los menús (cambio de claves y configuración)

Entre en el menú de usuario siguiendo las instrucciones del punto anterior, se encontrará con las siguientes opciones:

1. MODIF. CODIGO: Opción de modificar el código de acceso. Para hacerlo pulse la tecla ' * ' (asterisco). El sistema le pedirá que introduzca el nuevo código dos veces para comprobar que ha tecleado correctamente. Si los dos códigos introducidos no coinciden el mensaje "CANCELADO" aparecerá en la pantalla y saldrá del menú sin haber modificado el código. Vuelva a acceder al menú para volver a intentarlo.

Nota: Por seguridad, comience cambiando la clave del usuario 0 (Administrador) que inicialmente será ' 0000'

Para pasar a la siguiente opción pulse la tecla ' # ' (almohadilla). (en caso de ser usuario básico saldrá a la pantalla principal)

2. Nº DIGITOS 4: (Sólo usuario 0) Opción de cambio del número de dígitos de los códigos. Para cambiar el número de dígitos pulse la tecla ' * ' (asterisco) a continuación marque el número de dígitos que desee (3,4,5 o 6). Si no desea hacer cambios pulse asterisco o almohadilla.

Cambios en las claves al cambiar el número de dígitos:

Ejemplo 1: pasar de 5 a 3 dígitos:
Clave 5 dígitos: 12345
Pasa a: 123

Ejemplo 2: pasar de 4 a 6 dígitos:
Clave 4 dígitos: 1234
Pasa a: 123400

Para pasar a la siguiente opción pulse la tecla ' # ' (almohadilla).

3. Nº INTENTOS 3: (Sólo usuario 0) Opción de cambio de número de intentos fallidos permitidos a la hora de introducir la clave. Cuando algún usuario rebase este límite el sistema quedará bloqueado durante un minuto. Inicialmente será 3. Si desea modificarlo pulse la tecla ' * ' (asterisco) y teclee la opción que desee entre 0 y 9. Si configura esta opción como 0 el número de intentos fallidos permitidos será ilimitado (en realidad se limita a 256).

Para pasar a la siguiente opción pulse la tecla ' # ' (almohadilla).

4. SUPR Nº Usuario: (Sólo usuario 0) Opción para suprimir un usuario. Si desea borrar a un usuario pulse la tecla ' * ' (asterisco) y pulse el número de usuario que desea borrar (1,2,3,4 o 5). Al borrar a un usuario, el código de éste deja de tener validez.

Para pasar a la siguiente opción pulse la tecla ' # ' (almohadilla).

5. COD PROTEG N: (Solo usuario 0) Opción de protección de los códigos de los usuarios básicos. Bloquea el acceso al menú de usuarios básicos para evitar que cambien el código. La N indica protección NO. Si desea proteger los códigos de usuario pulse la tecla ' * ' (asterisco). La indicación cambiará a S, que indica protección SI.

Para salir a la pantalla principal pulse la tecla ' # ' (almohadilla).

Si pasan 30 segundos sin pulsar ninguna tecla dentro del menú de usuario, el sistema sale automáticamente de dicho menú a la pantalla de inicio.

5. Entrar al menú de administrador sin la clave

Si olvida la clave del usuario 0 (administrador) puede entrar al menú para introducir una nueva clave siguiendo los pasos siguientes

  1. Desconecte el equipo de la alimentación.
  2. Mantenga pulsada la tecla 6.
  3. Vuelva a conectar la alimentación del equipo mientras mantiene pulsada dicha tecla. El sistema entrará automáticamente a la posición 1 del menú de usuario 0 (administrador).

Información adicional