Arduino Cloud dispone de un panel gráfico en el que se pueden incluir multiples servicios que interactúan con nuestra placa, activando o apagando variables booleanas. Este es el caso del Schelude o calendario.
En resumen, se le asigna una variable que se activará ciertos días y a ciertas horas, configurables desde el panel online, por lo que no hay que reprogramar la placa. Lo único que hay que hacer en el microcontrolador es asignar la variable en cuestión a las tareas que queremos temporizar, como activación de salidas digitales que permitan encender o apagar sistemas como calefacción, riego, accesos, etc.
Vamos a hacer un pequeño programa en el que se active una vez a cierta hora, que marcaremos en el Dashboard, el led asociado al pin 13 del Arduino Esp32 Nano, durante unos segundos. Para ello, primero crea un Device, si no lo tienes creado de antes. En Things, crear la variable tipo CloudShedule, con nombre “horarioSem”:
Vincula el Thing donde está la variable anterior, al Device, la placa con la que se está trabajando:
Ahora, en Dashboard, crea el calendario y vincularle la variable anterior:
Una vez configurado el sistema en el Cloud, en microlsb.es se ha de realizar el programa. Para ello, habrá que definir la variable «horarioSem», del tipo CloudSchelude, y luego utilizarla en una condición. Esta variable, igual que otras como la que gestiona el color, no son estándar, son propias de la librería Arduino Cloud, y por tanto, tienen sus bloques específicos:
El programa, tras definir la lectura de la variable e incluirla en una condición que activa la salida trece, queda de la siguiente manera:
La activación anterior se realizará solo durante el horario que se indique en el Dashboard. Para hacer una prueba, puedes poner una hora cercana en el horario y comprobar que se activa la salida durante el tiempo definido:
Puedes elegir los días de la semana que se activa, las horas, las repeticiones, etc. O usar varios, si solo uno no se ajusta a tus necesidades.
Retroalimentación
Es interesante usar una variable que nos envíe desde la placa la confirmación de que el sistema está encendido correctamente. Para eso, añade una variable booleana al sistema anterior, tento en el Cloud como en el programa:
La variable «estadoSalida» estará activa mientras lo esté el pin 13 y podemos confirmar su estado en un visor en el Dashboard.
El resultado se ve de la siguiente manera: