DRINKTOMATIC
Grupo 20
- Francisco Javier Saludador Santiago
- Marcos
- Lucía Galán Galán
- Thatyana Alarza Souza
Introducción
Este proyecto está basado en la creación de un dispensador de bebidas automático enfocado a la hostelería para poder agilizar el servicio de un camarero al servir las bebidas. Además, incluye un sensor de alcohol para detectar si la persona no ha llegado a la cantidad máxima permitida para tener un control saludable a la hora de tomar bebidas alcohólicas.
A la hora de desarrollar el proyecto, había muchas posibilidades para su creación. La idea inicial partía de la necesidad de un servicio de bebidas totalmente automatizado en el que no fuera necesaria la intervención de un camarero, similar al refill de un restaurante de comida rápida. También se basaba en la necesidad de un control exhaustivo de los gastos y el análisis de los datos de bebidas consumidas, tanto para el empresario como para el distribuidor de bebidas.
Finalmente, no pudimos desarrollar todas las ideas propuestas y cambiamos el modelo para que sí fuera necesaria la intervención de un camarero a la hora del cobro pero sirviendo la bebida de una forma mucho más eficaz, controlando la cantidad dispensada y la pérdida de suministros mediante sensores.
Como posibles pasos, nos gustaría haber añadido más variedad de bebidas ya que actualmente sólo es posible un tipo de alcohol y un tipo de refresco. Siguiendo la línea de esta idea, añadiríamos botones para seleccionar tanto un combinado como un chupito o un refresco sin alcohol, esto no se ha implementado debido a la falta de pines en la placa arduino.
Materiales
Material | Precio |
1 x Placa Arduino UNO | Incluido en el material de la URJC |
2 x Protoboard | Incluido en el material de la URJC |
Cables (Male-to-Male, Male-to-Female) | Incluido en el material de la URJC + materiales propios |
2 x Sensor ultrasonido | Incluido en el material de la URJC |
1 x Pantalla LCD (16×2) | Incluido en el material de la URJC |
1 x Sensor de alcohol | 5,99 euros |
1 x Caja de cartón | Reciclada |
4 x Spray de pintura | 10,00 euros |
3 x Minibomba de motor sumergible | 9,99 euros |
Tubos de PVC | 8,99 euros |
Cinta aislante | 2,40 euros |
Rotulador para decoración | 1,80 euros |
Proceso
- Definición del proyecto: Inicialmente, se realizó un brainstorming donde se propusieron varias ideas de proyectos a realizar, eligiendo finalmente el que nos parecía más llamativo para su desarrollo y factible a la hora de realizarse.
- Descripción del proyecto: Una vez definida la idea, pasamos a realizar la descripción en detalle valorando las funcionalidades posibles a la hora de llevar a cabo el producto definiendo así los materiales necesarios y los pasos a seguir para poder construirlo.
- Hardware: En este paso, primero probamos todos los componentes que íbamos a utilizar para verificar su correcto funcionamiento así como la forma en la que se utilizaba cada uno. Tras esto, procedimos a diseñar el circuito conectando todos los componentes.
- Software: El siguiente paso tras realizar el circuito hardware y sus pruebas era desarrollar el código para programar el Arduino, consiguiendo así las funcionalidades deseadas.
- Diseño del producto: Tras tener listo nuestro circuito y la programación del Arduino, faltaba la forma en la que queríamos presentar nuestro producto. Para ello, diseñamos una maqueta inicial de tal forma que el hardware montado previamente pudiera encajar en nuestro dispositivo final para el usuario. También, decoramos el dispositivo de manera que fuera intuitivo y accesible para su uso a la vez de que contara con una estética atractiva.
- Pruebas y casos de uso: Realizamos distintas pruebas y mediciones con el dispositivo final para que todos los casos de uso funcionaran de una manera correcta.
Hardware
- Arduino Uno R3: La placa Arduino será la encargada de controlar todos los elementos utilizados.
- Sensores de Ultrasonido: se utilizarán dos. El primero, se encarga de detectar la presencia del vaso a la distancia correcta para poder suministrar la bebida. El segundo se encargará de medir la distancia de los líquidos al grifo dispensador para controlar la proporción de cada uno.
- Pantalla LCD: Se utiliza a nivel informativo para facilitar al usuario los pasos a seguir a la hora de usar la máquina.
- Sensor de alcohol: Se utiliza para medir la cantidad de alcohol ingerida por el usuario, llevando a cabo una de las funcionalidades de nuestra máquina, guardando estos parámetros para su posterior uso en la decisión de la máquina de servir la bebida o no.
- Bomba de motor sumergible: Se utiliza para poder llevar el líquido desde los recipientes hasta el vaso pasando por los tubos de PVC.
- Materiales extra (rotuladores, pintura, cinta aislante): Materiales utilizados para la presentación del prototipo con una función únicamente estética, a excepción de la cinta aislante, también utilizada para el aislamiento de cables.
Esquemas de los circuitos creados para implementar las funcionalidades:
En la aplicación que hemos usado para diseñar cómo iba a estar dispuesto el circuito no teníamos la posibilidad de añadir las bombas de agua ni el sensor de alcohol. En nuestro circuito real tenemos la parte positiva de las bombas conectadas al relay y la parte negativa de estas conectadas al GND. Al igual que las bombas de agua, el polo positivo de las pilas también va conectado al relay.
Software
- Método main: Este método es el que controla las ejecuciones de la función que dispensa alcohol y la función que dispensa mezcla. Lo primero de lo que se encarga esta función es de comprobar el nivel de alcohol para saber si va a dispensar o no, para ello utiliza la función auxiliar nivelAlcoholAceptable(). Una vez hecha la comprobación, llama a la función vasoCerca() y comprueba dentro de un bucle while que el vaso está en la posición correcta para dispensar el líquido. Si entra en el bucle controlará la salida por la pantalla y llamará a las funciones dispensadoras que una vez terminen pondrá disfrute que será la señal de que el vaso esta listo .
- Función nivel de alcohol aceptable: Esta función comprueba que el nivel de alcohol está por debajo de el umbral. La función te pide que soples por la pantalla y al cabo de un tiempo almacena un valor que comprobara si supera el umbral establecido, devolviendo un false y en caso contrario un true.
- Función vaso cerca: Esta función comprueba que el vaso está en una posición correcta para dispensar la bebida. Mediante uno de los sensores de ultrasonidos mide la distancia y si el vaso esta en una buena posición para dispensar.
- Función dispensar alcohol: Esta función se encarga de dispensar alcohol. Para ello activa la bomba que está dentro de la botella que contiene el alcohol hasta que el sensor de arriba verifica hasta cuando debe seguir echando alcohol.
- Función dispensar refresco: Esta función se encarga de dispensar la mezcla. Para ello activa la bomba que está dentro de la botella que contiene la mezcla. Al igual que el dispensador de alcohol verifica que el liquido no supere cierto limite al activar la bomba
Código utilizado:
Problemas y soluciones
Durante el desarrollo del proyecto nos fuimos encontrando con varias trabas a la hora de desarrollarlo, sobre todo en la parte Hardware debido a la falta de conocimiento inicial sobre algunos de los componentes que queríamos utilizar para nuestras funcionalidades. Los problemas más relevantes fueron los siguientes:
- Funcionalidad de máquina autoservicio: La idea principal era que nuestra máquina fuera autoservicio, es decir, que estuviera enfocada a un cliente final que pudiera utilizar de manera autónoma la máquina mediante la detección de saldo de una tarjeta bancaria. A lo hora de buscar los componentes para ello, nos dimos cuenta de que era difícil de implementar ya que conllevaba trabajar con dinero real y bancos. Por ello, decidimos cambiar nuestra idea inicial por una máquina más enfocada a que necesitara personal de hostelería para ser usada, aportando así también valor al trabajo de estos sin generar pérdida en sus puestos de trabajo.
- Bomba para líquidos: A la hora de montar el circuito y probar sus componentes, tuvimos un problema con la conexión de las bombas para los líquidos ya que cuando quisimos pelar los cables para realizar mejor las conexiones terminamos rompiéndolos al usar un pela cables que no se adaptaba a una estructura tan débil. Para solucionarlo, decidimos comprar un soldador y aprender a utilizarlo para poder realizarlas conexiones de manera eficaz y que no hubiera problemas en el contacto con los líquidos.
- Sobrecalentamiento de la placa: En el momento de probar el sensor de alcohol la placa Arduino comenzó a calentarse y dejó de funcionar. En este momento, nuestra idea inicial fue que la placa había dejado de funcionar, sin embargo, realizamos una segunda prueba colocando resistencias y comenzó a funcionar de manera correcta solucionando así el sobrecalentamiento.
- Montaje en caja: Nuestro modelo inicial contaba con una caja de plástico del Ikea pero al realizar el montaje de la circuitería nos dimos cuenta que el espacio era insuficiente. Además, dado nuestro diseño, requeríamos hacer cortes en la caja para conectar el cableado con el exterior y el material de esta no nos permitía realizar cortes. Por todo ello, probamos a cambiar el modelo de caja por otra de cartón reciclado que nos permitía realizar cortes de una manera más sencilla. Aún así aumentamos gastos en la decoración ya que visualmente no era tan estética como la primera.
Funcionamiento (Casos de uso)
Para la utilización del dispositivo se deben realizar distintos pasos que se irán indicando en la pantalla LCD y dará lugar al servicio deseado, la dispensación de un combinado.
Paso 1: el personal de hostelería activará la máquina y por la pantalla podemos ver que se pide al cliente que sople en el sensor de alcohol, tras soplar, se mostrará el resultado y a partir de aquí podemos diferenciar dos casos:
Caso 1: No superas el límite de alcohol para un consumo responsable.
- Paso 2: por la pantalla se muestra «Acerque el vaso», cuando el sensor detecte que el vaso está a la distancia correcta pasaremos al siguiente paso.
- Paso 3: por la pantalla se muestra «Dispensando alcohol», cuando el segundo sensor detecte que la cantidad de alcohol servida en el vaso es la cantidad establecida, pasaremos a servir el refresco.
- Paso 4: por la pantalla se muestra «Dispensando mezcla», cuando el segundo sensor detecte que la cantidad de refresco servida en el vaso es la cantidad establecida, se habrá completado el proceso y veremos en la pantalla «Disfrute de su combinado».
- Paso 5: Se vuelve a reiniciar el bucle y volverá a pedir por pantalla que el cliente sople al sensor de alcohol, volviendo al «Paso 2».
Caso 2: Superas el límite de alcohol para un consumo responsable.
En caso de que superes el límite de alcohol para el consumo responsable, la máquina no permitirá servir el combinado, volverá al paso 1.