Está en la página 1de 4

Sistema de control de acceso implementando la

memorı́a E2PROM de Arduino


1st Marı́a Isabel Tocora Rodrı́guez 2st Daniel Steven González Gutiérrez
Facultad de Ingenierı́a Facultad de Ingenierı́a
Universidad Distrital Francisco José de Caldas Universidad Distrital Francisco José de Caldas
Bogotá D.C, Colombia Bogotá D.C., Colombia
mtocorar@correo.udistrital.edu.co dasgonzalezg@correo.udistrital.edu.co

Abstract:—The reader is presented with the design and imple- II-B. Objetivos especı́ficos
mentation of an access control system to store 4-digit keys for up 1. Consultar la librerı́a correspondiente al manejo de las me-
to 100 users for the opening of a door represented by the activation morias E2 PROM en Arduino para almacenar, editar y borrar
position of a servo-motor, with LCD display of data via interactive registros.
options menu and audible feedback via a buzzer. 2. Implementar un sistema de registro con almacenamiento, com-
probación y eliminación de usuarios.
Index terms:—Arduino, key storage, E2 PROM, LCD display . 3. Realizar un sistema que esté en la capacidad de accionar una
señal de acceso controlada por usuario y contraseña válidos de
Resumen—Se presenta al lector el diseño e implementación
un registro.
de un sistema de control de acceso para almacenar claves de
4 dı́gitos de hasta 100 usuarios para la apertura una puerta
representada por la posición de activación de un servo-motor,
III. M ARCO TE ÓRICO
dotado de sistemas de visualización LCD de la data vı́a menú 2
III-A. Módulo E PROM
de opciones interactivas y retroalimentación sonora mediante un
buzzer. El componente E2 PROM proporciona un conjunto de API para
1 borrar y escribir datos en la memoria E2 PROM incluida internamente
en el microcontrolador. El término escritura implica que se borrará y
Palabras clave:— Arduino, almacenamiento de claves, E2 PROM, luego se programará en una sola operación la memoria. La memoria
visualización LCD. E2 PROM en microcontroladores se organiza en arreglos y pueden
ofrecer una matriz de memoria de tamaño 512 bytes, 1KB, 2KB o
4KB, según la referencia del dispositivo a utilizar. La matriz E2 PROM
I. I NTRODUCCI ÓN se puede dividir en sectores que tienen hasta 64 filas con un tamaño de
16 bytes. Las rutinas de la interfaz de programación de aplicaciones
El uso de sistemas de seguridad para el control de acceso es un
(API) permiten modificar una fila E2 PROM completa, bytes E2 PROM
método ampliamente usado en la actualidad para la protección de
individuales o borrar todo un sector E2 PROM en una sola operación.
información y de recintos, su implementación requiere del uso de
El componente E2 PROM no inicializa la memoria E2 PROM, pero se
dispositivos inteligentes tales como microcontroladores que permitan
tiene como parte de las herramientas del programador la posibilidad
la programación y el control de dichos sistemas. El desarrollo de los
de asignar valores iniciales a la memoria. El contenido completo de
dispositivos digitales programables despliega un potencial increı́ble
la E2 PROM se asigna al espacio de la memoria y se puede leer
en la invención y manufacturación de diferentes operaciones en
directamente. E2 PROM permite el acceso de lectura en el nivel de
cuanto al desarrollo de sistemas de seguridad, es ası́ como las
byte. El borrado de la E2 PROM se puede hacer por número de sector
memorias E2 PROM nos ofrece la posibilidad de almacenar datos
o escribiendo algunos datos en celdas individuales. El tiempo que se
asociados a usuarios y contraseñas que nos permiten limitar las
tarda en escribir un byte individual es igual al tiempo de escribir una
operaciones a realizar por los usuarios o simplemente denegar el
fila E2 PROM completa. Generalmente, el bloque E2 PROM de los
acceso a algunas funcionalidades de los sistemas.
microcontroladores tiene las siguientes caracterı́sticas:
512 B a 4 KB de memoria E2 PROM
II. O BJETIVOS 1.000.000 de ciclos de programación, 20 años de retención.
II-A. Objetivo general Lectura /Escritura 1 byte a la vez
Programación de 16 bytes (una fila) a la vez
Diseñar e implementar un sistema de almacenamiento de usuarios El componente E2 PROM se puede usar entre otros, para los
para control de acceso de apertura de recintos o plataformas mediante siguientes propósitos:
el uso de memorias E2 PROM, que permitan almacenar hasta 100
usuarios. Almacenamiento de datos no volátil que debe sobrevivir a
los ciclos de energı́a (por ejemplo, tablas de calibración o
1 Este documento constituye el informe de la práctica de laboratorio número
configuración del dispositivo), es decir, a alimentación con
baterı́as que pueden descargarse o a encendidos y apagados
cinco, correspondiente a la asignatura teórico - práctica de “Dispositivos
digitales programables” dictada por el profesor David Rosero, entregado continuos de los equipos donde se incluya el PSoC.
a revisión el dı́a 5 de diciembre de 2022, los autores, estudiantes de Para almacenamiento adicional de datos (liberando la RAM
ingenierı́a eléctrica de la Universidad Distrital Francisco José de Caldas, Marı́a interna del microcontrolador)
Isabel Tocora Rodrı́guez (correo: mtocorar@correo.udistrital.edu.co) y Daniel Para datos de programa de solo lectura (o que cambian rara-
González Gutiérrez (correo: dasgonzalezg@correo.udistrital.edu.co) mente)
mientras se le está suministrando corriente. Por eso es ideal para
integrar con Arduino, porque cuando se genere algún evento del que
quieras avisar o alertar, podrı́as programar el microcontrolador para
que envı́e una señal al buzzer si ese evento sucede y ası́ te avisa con
ese sonido.

Figura 1. Módulo E2 PROM.

III-B. Display LCD 16×2 con módulo I2 C


Como su nombre lo indica este es un display que permite represen-
tar caracteres alfanuméricos, vı́a microprocesador programado se le
ordena al display lcd que se necesita visualizar y este inmediatamente
lo proyectará, además este último refleja cambios de la variable en
el microprocesador por lo cual no debemos preocuparnos por la
administración dinámica de los datos. En conjunto con el módulo I2 C
se simplifica sus conexiones a 4pines (protocolo I2 C) operando solo Figura 4. Buzzer implementado para Arduino y/o DDPs.
mediante la recepción de un bus de datos que codifica los caracteres
a visualizar.2 III-E. Servo motor
Un servomotor o comúnmente llamado servo, es un motor DC con
la capacidad de ubicar su eje en una posición o ángulo determinado,
internamente tiene una caja reductora la cual le aumenta el torque y
reduce la velocidad, un potenciómetro encargado de sensar la posición
del eje y una pequeña tarjeta electrónica que junto al potenciómetro
forman un control de lazo cerrado.5

Figura 2. Diplay LCD 16×2 con módulo I2 C soldado que provee la capacidad
de recibir datos vı́a el bus I2 C.

III-C. Teclado Matricial


Un teclado matricial es un dispositivo que agrupa varios pulsa-
dores y permite controlarlos empleando un número de conductores
inferiores al que necesitarı́amos al usarlos de forma individual. El uso Figura 5. Servo motor SG90 cuyo voltaje de operación va de 3 V-7,2 V y
más común para este componente se puede observar en aplicaciones torque de 1 kg/cm-1,6 kg/cm
con necesidad de selección de la información
IV. M ETODOLOG ÍA
Diseñar e implementar un sistema de control de acceso que
permita almacenar en la memoria E2 PROM del microcontrolador
las claves de cuatro dı́gitos de hasta 100 usuarios, deberá contar
con un teclado matricial de 16 teclas que permitirá la interacción
del usuario con el sistema, una LCD para visualizar información
al usuario del sistema, un buzzer para generar sonidos asociados a
la tareas realizadas y una salida temporizada que se encargará de
generar la señal de ingreso/egreso para la apertura de una puerta. La
posición 00 será utilizada siempre por el administrador del sistema,
Figura 3. Estructura y terminales asociadas a teclado matricial. teniendo la posibilidad de crear nuevos usuarios aleatorios o borrar
los ya existentes.
III-D. Buzzer Las rutinas deben cumplir con:
El zumbador o buzzer es un dispositivo electrónico que actúa como Al encender el sistema se mostrará un menú que le indicará al
un transductor. Su función es producir un sonido agudo o zumbido usuario las posibles funciones a realizar: Una tecla para solicitar
ingreso, una tecla para borrar un usuario, una tecla para crear un IV-A2. Ensamble:
usuario, una tecla para cambiar clave y una tecla para cancelar
alguna de las cuatro opciones anteriores.
Al seleccionar la opción de solicitud de ingreso el usuario
deberá digitar el número de usuario asignado (valor entre 01 V. A N ÁLISIS DE RESULTADOS
y 99) seguido por la clave de cuatro dı́gitos almacenada. La
confirmación de solicitud de ingreso se realizará con la misma
tecla. Si la clave es correcta se dará ingreso por cinco segundos
Los resultados obtenidos para el código desarrollado da cuenta de
activando la apertura de la puerta, si no lo es, se mostrará un
que se logran ejecutar todas las rutinas requeridas para el usuario
mensaje junto con un sonido para indicarlo, de igual manera,
administrador, sin embargo, en el método de creación de usuario
si el usuario no existe esta información será visualizada en la
aunque se reciben los datos, no se están grabando en la E2 PROM,
LCD.
por lo que las tareas de borrado, edición y acceso a otras cuentas no
Únicamente el administrador podrá ejecutar la opción de borra-
se están cumpliendo. Se encuentra bajo revisión la sintaxis y lógica
do. Al seleccionar la opción de borrado de usuario, se ingresa
de tal método con el fin de sincronizar efectivamente el guardado de
el valor de usuario asignado al administrador (00), su clave
los datos.
y el usuario de dos dı́gitos a borrar (valor entre 01 y 99). La
confirmación de solicitud de borrado de usuario se realizará con
la misma tecla. Si la clave es correcta se generará un mensaje
indicando el borrado del usuario, si no lo es se mostrará un
mensaje junto con un VI. C ONCLUSIONES
sonido para indicarlo, de igual manera si el usuario no existe
esta información será visualizada en la LCD.
Únicamente el administrador podrá ejecutar la opción de crear La sesión desarrollada permitió aprender y establecer que
un usuario. Al seleccionar la opción crear usuario, se ingresa
el valor de usuario asignado al administrador (00) y su clave. Uno de los puntos claves para el uso eficiente de la memoria
Si los datos están correctos, el administrador seleccionará un E2 PROM que proporciona Arduino, es la identificación tempra-
número de dos dı́gitos a crear (valor entre 01 y 99), y si esta na de la variable a trabajar como de su composición o cantidad
disponible, el sistema asignará una clave de cuatro dı́gitos de de bytes, ya que esto permitirá un correcto uso del banco de
manera automática y mostrará en pantalla el número de usuario memoria.
y la clave asignada. Si los datos no están correctos, se mostrará La toma de datos de las memorias E2 PROM debe darse cada
un mensaje junto con un sonido para indicarlo. cierto tiempo, puesto que dichas memorias tienen un cierto
Al seleccionar la opción de cambio de clave el usuario deberá tiempo de vida útil, lo cual si se abusa de dicho almacenamiento
digitar el número de usuario asignado (valor entre 01 y 99) de datos puede ocasionar un daño prematuro de la misma..
seguido por la clave de cuatro dı́gitos almacenada y la nueva Se debe determinar una declaración del espacio en memoria
clave de cuatro dı́gitos. La confirmación de cambio de clave se implementado por los registros, para almacenar eficientemente
realizará con la misma tecla. Si la clave es correcta se generará el usuario dictado por teclado.
un mensaje indicando el cambio, si no lo es se mostrará un
mensaje junto con un sonido para indicarlo, de igual manera
si el usuario no existe esta información será visualizada en la
LCD. R ECONOCIMIENTOS
IV-A. Montaje experimental
IV-A1. Materiales:
1. Arduino. Se agradece al profesor David Rosero por proponer la práctica
2. Teclado matricial. desarrollada y por su disposición a solucionar las dudas que pudieran
3. Pantalla LCD. Módulo de comunicación I2 C para LCD. generarse.
4. Buzzer.
5. jumpers, resistencias de 220 Ω
6. Leds (opcionales para verificar validaciones correctas o regis-
tros erróneos) R EFERENCIAS

[1] Guı́a de laboratorio 7., Prácticas de laboratorio Dispositivos digitales


programables 2022-III., David Rosero, Facultad de Ingenierı́a, Universidad
Distrital Francisco José de Caldas., 2022.

A NEXOS

Código fuente

Figura 6. Conexión obtenida entre los dispositivos mencionados según los Por su extensión, se anexa el código original en el documento
pines declarados en el código construido. adjunto para observar pines y lógica de implementación.
Figura 7. Visto bueno.

También podría gustarte