Programa completo del Invernadero
Programa completo del invernadero.
El código que se muestra bajo estas líneas corresponde al programa completo del invernadero, con todas las funcionalidades, incluidas, IoT. Puedes arrastrar la imagen al entorno de microBlocks y modificarlo como desees. Muy brevemente, comentamos como funciona programa.
Suponemos todos los sensores y actuadores conectados al expansor del la micro:STEAMakers y la placa conectada al puerto USB y el entorno microBlocks abierto en el navegador Chrome o Edge, recordad que no funciona con Mozilla Firefox ni Safari (Este último da ciertos problemas aunque conecte webserial).
El programa principal, al empezar, inicializa las variables y servicios necesarios y repite indefinidamente el bucle: lectura de sensores, muestra esas lecturas en la pantalla oled, asigna el nivel de humedad de suelo a un nivel de filas de neopixeles en la placa, escucha los mensajes mqtt que le llegan desde la web de control y en función de ellos, o de la pulsación de los botones, activa riego o no y controla la luz ultravioleta. El control de riego irá en función del valor de la variable riego, y el control de la luz ultravioleta será función de la variable ultravioleta. Hay dos funciones con sus su correspondientes define que controlan las variables riego y ultravioleta.
La función riego tiene tres modos de funcionamiento según el valor de la variable riego (0,1,2), estos valores se cambian pulsando el pulsador "A" de la placa o bien desde el panel de control mqtt en un botón que cambia los modos de riego. Los valores son los siguientes:
- Riego apagado (valor 2), es el valor por defecto. La bomba nunca funciona.
- Riego automático (valor 0). La bomba funciona cuando el nivel de humedad es bajo.
- Riego forzado (valor 1). La bomba siempre funciona.
La función ultravioleta tiene dos modos de funcionamiento según el valor de la variable ultravioleta (0,1), estos valores se conmutan pulsando el pulsador "B" de la placa o bien desde el panel de control mqtt en un botón que cambia los modos de la luz ultravioleta. Los valores son los siguientes:
- Ultravioleta apagado (valor 0), es el valor por defecto. La luz ultravioleta se apaga.
- Ultravioleta encendido (valor 1). La luz ultravioleta se enciende.
SI deseas probar el código, arrastra la imagen al entono de programación MicroBlocks y clona el código
