Control de acceso a parking por Bluetooth
Este proyecto ha sido realizado por el grupo 6 de la asignatura SEyTR del grado en Ingeniería Informática de la URJC. Los componentes del equipo son:
- Borja Dosuna Hernández
- Jaime González Casero
- Mario Canales Torres
El objetivo de este proyecto es hacer un parking en el que la entrada y salida de los coches está controlada por un sistema automático, al que nos podemos conectar por bluetooth, en concreto, por una aplicación móvil que el conductor podrá descargar. Introduciendo la matrícula del vehículo, el sistema le indicará la plaza en la que debe aparcar y abrirá la barrera. Cuando este vehículo abandone el parking, la plaza que ocupaba quedará libre para poder ser asignada a otro vehículo. Para este prototipo, hemos utilizado un parking de 22 plazas y una planta, pero el código está preparado para otros tamaños.
A continuación, les dejamos un vídeo donde se explica detalladamente el proyecto:
Materiales y costes
Material del circuito:
Arduino Uno |
Cables puente |
Micro Servo 9g SG90 |
Módulo Bluetooth HC-05 |
Pantalla LCD 16×2 Hitachi HD44780 |
Cables de pines macho-hembra |
Resistencias de 1kΩ, 2kΩ y 220Ω |
Half-size breadboard y mini breadboard |
Sólamente hemos tenido que comprar el Módulo Bluetooth, que nos ha costado 5€, el resto lo teníamos ya.
Además de este material, necesitamos material ajeno al circuito para la maqueta, que simplemente costa de Material de Oficina (papel, cúter, tijeras, pegamento…), una caja de cartón y 3 cartulinas de 50×70 para forrar la maqueta.
Desarrollo y procedimiento
El desarrollo del proyecto se ha dado por partes, donde cada uno hemos hecho un circuito y un código más básico de la parte correspondiente para después juntarlo todo. Veamos cómo hemos desarrollado cada bloque principal.
Módulo Bluetooth
El control por bluetooth ha sido la parte más complicada, hemos encontrado gran parte de la información para trabajar con el módulo aquí: ( http://www.martyncurrey.com/turning-a-led-on-and-off-with-an-arduino-a-hc-06-and-android/).
En esta web se explica un proyecto que nos permite conectarnos al módulo BT mediante una aplicación creada en MIT App Inventor (https://appinventor.mit.edu/), una herramienta sencilla de usar para crear aplicaciones para un sistema android. Con esta base, tuvimos que cambiar bastantes cosas del código para poder gestionar la lógica del programa. La aplicación, tiene una interfaz bastante sencilla:
Donde únicamente nos tenemos que conectar al módulo bluetooth y especificar si queremos entrar o salir junto con la matrícula.
A partir de esta información, nuestro código gestiona con un array bidimensional (plazas y plantas) la asociación de plazas en el parking. Escribiendo «-» si la plaza esta vacía y la matrícula si está ocupada.
Pantalla LCD y Servomotor
El funcionamiento de estos bloques son sencillos. En cuanto a la pantalla LCD, cuando el programa realice las gestiones necesarias, se nos indicará que plaza podemos ocupar si estamos entrando o que plaza liberamos si estamos saliendo. En caso de que no haya ninguna gestión, se nos muestra por defecto un mensaje de bienvenida. Todo esto se hace de forma muy sencilla con la librería LiquidCristal de Arduino. Veamos un ejemplo de esto:
El funcionamiento del Servo es igual de simple, simplemente cuando termine de realizar las operaciones necesarias, se nos abrirá la barrera girando 90 grados y esperará unos segundos para volver a bajarla girando los mismos grados en sentido opuesto. Para que este giro sea más lento, se ha añadido un pequeño delay de 15ms a cada grado girado.
Circuitería y proyecto final:
Finalmente, el esquema de montaje es el siguiente:
Además, para visualizar el estado del parking a cada movimiento, hemos habilitado una función que nos imprime por el monitor serie el estado del parking. De esta forma, veremos que todas las asignaciones son correctas:
Maqueta y montaje
La estructura principal consta de una caja grande de cartón, a la que la hemos hecho una hendidura para colocar la pantalla LCD:
Tras hacer esto, la hemos decorado con las cartulinas y pintado las plazas:
Y por úlitmo hemos añadido la circuitería en el espacio que nos deja la caja que tenemos a la derecha, junto con la barrera pegada al servomotor:
Obteniendo así la maqueta final que se muestra en la cabecera de este artículo.
Posibles mejoras del proyecto
• Diferenciación de LCDs y barreras para entrada y salida, así se pueden realizar de forma simultánea entradas y salidas al parking evitando esperas.
• Incorporación de un sensor de proximidad debajo de la barrera, y hacer que se baje cuando no haya nada debajo.
• Mejorar la interfaz de la aplicación, haciéndola mas simple y mejorando su usabilidad.
• Modificar la forma de conexión para que sea de una forma más simple y rápida.
Código, esquemas y apliación
Por último, adjuntamos en este link un enlace a Google Drive donde podrán disponer de todos los esquemas y códigos que hemos utilizado para la creación de este proyecto:
https://drive.google.com/drive/folders/1dQcSk4C5L7tLW7wh3LAMlSfSG0S8G7I0?usp=sharing