Máquina de chicles controlada mediante interfaz web y Arduino
1. Introducción
2. Componentes y precio
Componente | Cantidad | Precio unitario | Precio total |
Pantalla LCD | 1 | 3.91 € | 3.91 € |
Arduino Uno | 1 | Proporcionado por el profesor | 0 € |
Motor Servo | 1 | 7,85 | 16:00 – 20:00 |
Raspberry Pi 3 | 1 | 39.90 € | 39.90 € |
Matriz de botones | 1 | 6.50 € | 6.50 € |
Estructura impresa en 3D | 1 | 24 € | 24 € |
Bolsa de chicles | 1 | 8 € | 8 € |
PRECIO FINAL | 90.16 € |
3. Esquemas de conexión
- Motor Servo:
El motor servo está conectado a los pines de la placa Arduino de la siguiente forma:
- Pantalla LCD + I2C:
La pantalla LCD utilizada en nuestro proyecto está conectada a nuestra placa Arduino mediante un módulo I2C con las siguientes conexiones:
- Keypad numérico (matriz de botones):
Cada cable de salida del keypad se corresponde con una fila o columna de la matriz de botones. Puesto que tenemos una matriz de 4×4, necesitaremos 8 pines para conectar la matriz completa.
- La Raspberry Pi 3 está conectada a la placa Arduino mediante USB.
4. Proceso de montaje
5. Funcionamiento
- El usuario se conecta a la web e inicia sesión o se registra.
- Una vez se ha iniciado la sesión, la página web mostrará el código que debe introducirse en el keypad para obtener un chicle.
- Cuando el código se ha generado, el usuario lo introduce en el keypad o genera otro mediante la página web.
- En este punto pueden pasar dos cosas:
- El código introducido es correcto, con lo que la máquina se activará y expenderá el chicle.
- El código introducido es incorrecto, con lo que la máquina mostrará «Error» en la pantalla y volverá a esperar un código. En este punto, puede regenerarse un código nuevo desde la web o introducir de nuevo el código correcto.
6. Problemas y soluciones
- Inicialmente, nuestro keypad no funcionaba de ninguna de las maneras que encontrábamos en Internet, guías y manuales. Finalmente, encontramos solución descargando una librería para Arduino que incluía las funciones necesarias para manejar nuestro Keypad.
- La pantalla LCD y el módulo I2C nos dieron problemas durante bastante tiempo. A pesar de que su conexión y funcionamiento son bastante simples, ninguna de las librerías con las que probamos inicialmente parecía funcionar (parpadeos de pantalla constantes, encendido y apagado aleatorios, impresión de un único carácter de una cadena…). La solución fue, de nuevo, encontrar la librería adecuada y ajustar levemente el contraste del I2C para mejorar la visibilidad.
- La impresión de las piezas 3D. Este fue el mayor problema con el que nos encontramos a lo largo del proyecto. Para empezar, la realización de un buen diseño nos llevó cerca de 3 días. El siguiente inconveniente es que la impresión en 3D tarda bastante tiempo en completarse, por lo que un fallo durante la impresión provoca grandes retrasos. Y tuvimos fallos durante la impresión. Al imprimir la estructura principal de nuestra máquina, el filamento del material se atascó en la impresora y dejó de imprimir. Al final solucionamos este problema colocando una brida en el mecanismo de la impresora que hacía que el filamento se tensase y no se enredase a la hora de imprimir.
- Errores en el diseño. Además de los ya mencionados problemas de impresión, cuando las piezas estuvieron acabadas, descubrimos errores milimétricos que provocaban que nuestros componentes no se ajustasen completamente a los huecos que habíamos dejado para los mismos. Además, la primera vez que enviamos a imprimir las piezas no se pudieron realizar puesto que la estructura tenía una altura de 4mm más de lo que la impresora era capaz de elevar. Solucionamos estos problemas limando la estructura para encajar los componentes y rediseñándola con 4 milímetros menos de altura para poder imprimirla.
7. Posibles mejoras
- Tener la aplicación disponible para todo el mundo en Internet, además de desarrollarla para dispositivos móviles.
- A pesar de que nuestro diseño impide llevar a cabo esta mejora (por motivos de espacio en la estructura de la máquina), podríamos implementar un mecanismo que detectase un posible atasco del mecanismo que libera las bolas de chicle de la máquina.
- Imprimir piezas para el contenedor de chicles. Por simplicidad en el proyecto, nosotros decidimos mantener nuestro diseño inicial en cartón para el contenedor, pero podrían diseñarse piezas en 3D o rediseñar la estructura para incluir un tambor.
- Incluir botones en el keypad.
- Elevar la altura del límite en la boca de salida de la rampa de chicles. En ocasiones, si la bola es demasiado grande, su velocidad hace que el escalón que impide que se salgan al descender por la rampa no cumpla su función correctamente. Elevar unos milímetros su altura o colocar un escalón adicional previo resolvería este problema
8. Anexos
- Código del proyecto al completo (servidor, Arduino y diseño en Autodesk Inventor), presentación y memoria en PDF: https://github.com/ea2809/empotrados
- Link al vídeo demo: https://www.youtube.com/watch?v=UlLSStNh60g