|
3 | 3 | ## 📋 Descripción General |
4 | 4 | El módulo **Máquina de Bebidas** gestiona la selección y el dispensado de bebidas y cócteles. Proporciona una interfaz de usuario física utilizando una **pantalla OLED** y un **encoder rotativo**, permitiendo el funcionamiento autónomo sin necesidad de un smartphone. |
5 | 5 |
|
6 | | -## 🛠 Detalles de Implementación |
7 | | -- **📍 Ubicación**: `server/firmware/apps/drinks machine/` |
8 | | -- **🧠 Controlador Principal**: `controller.hpp` (Clase: `EncoderManager`) |
9 | | -- **📺 IU/Pantalla**: `utils/display.hpp` (Clase: `DisplayManager`) |
10 | | -- **🖼 Activos (Assets)**: `utils/display.hpp` (Espacio de nombres: `DisplayAssets`) |
| 6 | +## 🛠 Implementation Details (Modular Services) |
| 7 | +- **📍 Location**: `server/firmware/apps/drinks machine/services/` |
| 8 | +- **📂 Menu Logic**: [MenuService.hpp](file:///Volumes/externo1tb/proyectos/esp/Wifi-irrigation-system/server/firmware/serverEspReact/apps/drinks machine/services/MenuService.hpp) |
| 9 | +- **⚙️ Pump Control**: [PumpsService.hpp](file:///Volumes/externo1tb/proyectos/esp/Wifi-irrigation-system/server/firmware/serverEspReact/apps/drinks machine/services/PumpsService.hpp) |
| 10 | +- **📺 UI/Display**: [DisplayService.hpp](file:///Volumes/externo1tb/proyectos/esp/Wifi-irrigation-system/server/firmware/serverEspReact/apps/drinks machine/services/DisplayService.hpp) |
| 11 | +- **�️ Input**: [InputService.hpp](file:///Volumes/externo1tb/proyectos/esp/Wifi-irrigation-system/server/firmware/serverEspReact/apps/drinks machine/services/InputService.hpp) |
| 12 | +- **🚀 Main Core**: [DrinksMachine.hpp](file:///Volumes/externo1tb/proyectos/esp/Wifi-irrigation-system/server/firmware/serverEspReact/apps/drinks machine/DrinksMachine.hpp) |
11 | 13 |
|
12 | 14 | ## 🛠 Configuración del Entorno (Arduino IDE) |
13 | 15 | Para poder cargar el código en el NodeMCU, necesitas instalar las definiciones de la placa y algunas librerías específicas: |
@@ -127,11 +129,16 @@ El proyecto se alimenta mediante una fuente de **12V DC**, dividiendo la potenci |
127 | 129 | ### 1. 📟 Interfaz Autónoma |
128 | 130 | El sistema utiliza la **pantalla OLED** para mostrar un menú de líquidos (Agua, CocaCola, Vodka, Naranja) y cócteles predefinidos (Sex on The Beach, etc.). |
129 | 131 |
|
130 | | -### 2. 🔄 Máquina de Estados de Navegación |
| 132 | +### 3. 🚿 Sistema de Boquilla Única (Single Nozzle) |
| 133 | +La máquina está diseñada para verter todos los líquidos a través de una **única boquilla de salida**. |
| 134 | +- **Lógica Secuencial**: Para evitar desbordamientos o salpicaduras en la boquilla, el sistema activa las bombas una por una. |
| 135 | +- **Mezcla Dinámica**: Los ingredientes se añaden consecutivamente siguiendo la receta, permitiendo capas o una mezcla homogénea dependiendo de la densidad de los líquidos. |
| 136 | + |
| 137 | +### 4. 🔄 Máquina de Estados de Navegación |
131 | 138 | El botón del encoder permite navegar a través de diferentes pantallas: |
132 | 139 | - **🏠 Index Server**: Menú principal de selección de bebidas. |
133 | 140 | - **❓ Pantalla de Confirmación**: Pregunta "Aceptar?" antes de servir. |
134 | | -- **⏳ Pantalla de Servicio**: Muestra el estado mientras las bombas están activas. |
| 141 | +- **⏳ Pantalla de Servicio**: Muestra el estado mientras la secuencia de bombas está activa. |
135 | 142 | - **✅ Pantalla Final**: Confirmación de bebida servida. |
136 | 143 |
|
137 | 144 | ### 4. ↩️ Navegación Inteligente (Context-Aware) |
|
0 commit comments