Introducción:
En un contexto donde la gestión precisa de aforo es esencial, el presente proyecto aborda el diseño e implementación de un sistema de control de acceso basado en Arduino. Estamos utilizando componentes como sensores PIR, Arduino UNO, un teclado matricial y una pantalla LCD, se busca crear una solución efectiva para monitorear y gestionar el flujo de personas en espacios específicos (espacios cerrados). Este blog detallará el diseño, funcionamiento y aplicaciones potenciales de este sistema, destacando su relevancia en entornos donde el control de aforo es crucial para la seguridad y eficiencia operativa, tenemos el diagrama, materiales y el código para el arduino.
Objetivo:
El objetivo del proyecto es diseñar e implementar un sistema de control de acceso y conteo de personas utilizando un Arduino. el sistema debe ser capaz de identificar las entradas y salidas de individuos mediante dos sensores PIR, gestionar el aforo ingresado a través de un teclado, y mostrar el conteo en tiempo real en una pantalla LCD. Además, se debe incluir un mecanismo de alerta, como un buzzer, que emita un sonido cuando el aforo máximo establecido sea alcanzado. El objetivo final es desarrollar una solución eficiente y confiable para la gestión de personas en un espacio determinado, brindando información precisa y control en tiempo real sobre el flujo de ingreso y salida.
Materiales a utilizar:
ü
1 teclado matricial de
4x3.
ü
2 sensores PIR.
ü
1 pantalla LCD de 16x2.
ü
1 Arduino UNO.
ü
1 resistencia de 1kΩ.
ü
1 resistencia de 220Ω.
ü
1 pulsador NA.
ü
1 potenciómetro de 5kΩ.
ü
1 zumbador o buzzer.
ü
1 baquelita pequeña
perforada.
ü
Cables tipo
macho/hembra.
ü
1 fuente de
alimentación de 12v/1Amp.
ü
1 cajita de cartón
prensador (aquí ira nuestro circuito).
Diagrama: Para asegurar una conexión óptima entre todos los elementos del sistema y garantizar un suministro de energía adecuado, es crucial seguir las siguientes pautas:
• Respetar los Pines
Designados: Cada componente debe conectarse a los pines
específicos del Arduino Uno según las configuraciones previamente definidas.
Esto asegura una comunicación efectiva y evita conflictos de conexión.
• Energización Correcta del
Arduino: Se recomienda energizar el Arduino con un voltaje
de 12v, para garantizar un suministro estable de energía, especialmente al
utilizar múltiples elementos que pueden requerir una mayor carga en los puertos
de 5V y GND del microcontrolador.
• Consideración de la Carga de los Puertos de 5V y GND: Al incorporar varios dispositivos al Arduino Uno, es importante tener en cuenta que la carga agregada a los puertos de 5V y GND puede aumentar significativamente. Se debe evitar exceder la capacidad máxima de corriente de estos puertos para evitar problemas de funcionamiento.
• Compartir la Misma Tierra (GND): Todos los dispositivos
externos conectados al Arduino Uno deben compartir la misma tierra (GND) con
el microcontrolador. Esto garantiza una referencia común para el flujo de
corriente y evita problemas de bucle de tierra.
1.- Arduino Uno: Actúa como el cerebro del sistema, coordinando la lectura de sensores, la interacción con el usuario a través de la pantalla LCD y el teclado, y el control de la alarma. Su capacidad para manejar múltiples entradas y salidas y su facilidad de programación hacen que sea ideal para este tipo de proyectos de control y monitoreo.
2.- Pulsador NA: El pulsador de reinicio del Arduino Uno proporciona una forma rápida y sencilla de reiniciar el sistema completo. Esto puede ser útil en caso de que se necesite restablecer el aforo máximo ingresado, solucionar problemas operativos, o reiniciar el sistema después de modificaciones en el código o el hardware. El pulsador asegura que el Arduino vuelva a su estado inicial sin necesidad de desconectar la alimentación.
3.- Teclado Matricial 4x3: El teclado matricial 4x3 es una herramienta esencial en este proyecto, proporcionando una interfaz sencilla y efectiva para que el usuario ingrese el valor del aforo máximo permitido. Su integración con el Arduino a través de la biblioteca Keypad permite una fácil lectura y manejo de las entradas del usuario, asegurando que el sistema funcione de manera precisa y eficiente para el control de aforo.
4.- Pantalla LCD 16X2 (Liquid Crystal Display): La pantalla LCD de 16x2 es un componente que proporciona una interfaz visual clara y directa para el usuario. Muestra información vital sobre el aforo máximo, el número de entradas y salidas, y emite advertencias cuando se alcanza el límite de capacidad. Su integración con el Arduino Uno y la biblioteca “LiquidCrystal” permite una implementación sencilla y efectiva de las funciones de visualización.
5.- Sensor PIR: Los sensores PIR son fundamentales en este proyecto, proporcionando una forma eficiente y confiable de detectar el movimiento de personas entrando y saliendo de un área monitoreada. Al estar conectados al Arduino, permiten un seguimiento en tiempo real del número de personas en el área, asegurando que no se exceda el aforo máximo establecido. Su integración con el sistema de visualización (pantalla LCD) y alarma (buzzer) hace posible un control de aforo efectivo y fácil de usar.
6.- Buzzer: (o zumbador en
español) es un dispositivo electrónico que emite sonidos audibles, generalmente
en forma de tonos o pitidos, cuando recibe una señal eléctrica. Los buzzers se
utilizan en una amplia variedad de aplicaciones para proporcionar alertas
audibles, indicaciones de estado o señales de advertencia.
7.-Potenciómetro: Es un dispositivo electrónico de tres terminales que funciona como un divisor de voltaje ajustable. Se utiliza para controlar la cantidad de corriente que fluye en un circuito, permitiendo ajustes precisos en aplicaciones como la regulación de brillo de la pantalla LCD.
Funcionamiento del Sistema: El proyecto funciona de la siguiente manera:
El sistema se fundamenta en la interacción entre diferentes dispositivos para la recopilación y presentación de información clave. Los sensores PIR, responsables de la detección de individuos, junto con el teclado numérico utilizado para ingresar el aforo permitido, constituyen los medios principales de entrada de datos externos. Por otro lado, la pantalla LCD y el buzzer cumplen roles cruciales en la visualización y notificación de la información relevante hacia el usuario.
La arquitectura del sistema se centraliza en el Arduino, que actúa como el núcleo de procesamiento y control. A través de una coordinación eficiente entre los diferentes componentes, el Arduino Uno gestiona la información capturada por los sensores, procesa los datos ingresados mediante el teclado, y presenta de manera clara y concisa el conteo de personas en tiempo real en la pantalla LCD. Asimismo, el mecanismo de alerta del buzzer, mediante un pitido, proporciona una señal auditiva distintiva en caso de que se alcance el aforo máximo establecido.
Esta integración sinérgica de dispositivos permite un seguimiento preciso del flujo de personas en un entorno dado, facilitando la toma de decisiones informadas y una gestión eficaz del aforo. Además, la capacidad de adaptación y respuesta en tiempo real del sistema garantiza una experiencia de usuario intuitiva y fiable.
Código: (El código les dejare mas abajo para que lo descarguen).
Para la implementación exitosa del proyecto, se utilizaron dos bibliotecas clave: `Keypad` y `LiquidCrystal`.
• La biblioteca `Keypad` proporciona funcionalidades para la gestión de teclados matriciales, permitiendo la entrada de datos de manera eficiente y precisa. Con esta biblioteca, se logra una integración sin problemas del teclado numérico al sistema, facilitando así la introducción del aforo permitido por parte del usuario.
• Por otro lado, la biblioteca `LiquidCrystal` es esencial para la comunicación con la pantalla LCD basadas en controladores HD44780 o compatibles. Gracias a esta biblioteca, se logra la visualización clara y legible del conteo de personas en tiempo real, así como cualquier otra información relevante para el usuario. La capacidad de esta biblioteca para controlar la pantalla LCD mediante comandos simples simplifica considerablemente la implementación de interfaces de usuario efectivas.
En la función setup(), se inicia la comunicación serial, se inicializa la pantalla LCD con un mensaje inicial para ingresar el aforo, y se configuran los pines de los sensores PIR y del buzzer.
En la función loop(), se realiza la lectura de las teclas presionadas en el teclado matricial. Si se presiona una tecla, se procesa la entrada del aforo. Si se presiona la tecla '#', se muestra el aforo ingresado y comienza el conteo de personas. Además, se implementa la lógica para detectar el movimiento de entrada y salida, mostrar el conteo en la pantalla LCD y controlar el buzzer si se alcanza el aforo máximo.
Conclusión:
El desarrollo e implementación de este proyecto ha permitido la creación de un sistema robusto de control de acceso y gestión de aforo, que integra diversos componentes electrónicos para proporcionar una solución eficiente y efectiva. A través de la combinación de un teclado matricial, sensores PIR, un buzzer, pantalla LCD y un Arduino, se ha logrado diseñar un sistema completo capaz de registrar y gestionar el ingreso de personas, así como de notificar el estado del aforo en tiempo real.
La integración de un teclado matricial ha facilitado la configuración del aforo máximo permitido, brindando flexibilidad al usuario para ajustar esta variable según las necesidades específicas. Además, los sensores PIR han demostrado ser una opción confiable para la detección de movimiento tanto en la entrada como en la salida, permitiendo un control preciso del flujo de personas.
La utilización de una pantalla LCD ha mejorado significativamente la experiencia del usuario al proporcionar una visualización clara y detallada del estado del sistema, incluyendo el aforo actual y el número de personas que han ingresado y salido. Asimismo, el buzzer ha desempeñado un papel crucial en la emisión de notificaciones auditivas, alertando al personal responsable cuando el aforo máximo permitido ha sido alcanzado.
Es importante destacar que durante el proceso de desarrollo se han considerado aspectos técnicos fundamentales, como la distribución adecuada de pines, el manejo eficiente de la energía y la implementación de mecanismos de seguridad para evitar posibles fallos en el funcionamiento del sistema. Además, se ha realizado una exhaustiva validación y pruebas del sistema para garantizar su correcto desempeño en condiciones reales.
Este proyecto representa una solución
innovadora y escalable para el control de acceso y gestión de aforo en diversos
entornos, como establecimientos comerciales, eventos públicos y espacios de
trabajo. Su diseño modular y su capacidad para adaptarse a diferentes
necesidades lo convierten en una herramienta versátil y de gran utilidad en la gestión
de espacios y recursos.
Si tienen alguna duda del circuito, a continuación les dejo le video completo, donde ahí les explico paso a paso de como ensamblar el proyecto, si les gusto el circuito Suscribete al canal en YouTube.
Links de descarga
1.-Código:
https://mega.nz/folder/zEp3iRIT#K2VxbcyNvQLVPy6BcTJGKA
2.-Diagrama:
Comentarios