Skip to main content

Tic tac, tic tac

Ahora que ya hemos conectado nuestro Arduino a internet, iremos un paso más allá y conectaremos nuestro Arduino a IoT Cloud para crear una alarma que funcione con el reloj interno de nuestro Arduino. Esta alarma lo que hará es encender un LED virtual cuando sea la hora que nosotras decidamos. No vamos a necesitar material adicional únicamente nuestro NANO 33 IoT y el cable USB para conectarlo a nuestro ordenador.


RTC: el reloj de nuestro Arduino

Un reloj en tiempo real es un reloj que lleva la cuenta de la hora actual y puede utilizarse para programar acciones específicas en un momento determinado. El término reloj en tiempo real se utiliza para evitar la confusión con los relojes de hardware ordinarios, que son sólo señales que gobiernan la electrónica digital, y no son usados para contar en horas, minutos y segundos, sino que se utilizan para el funcionamiento interno del propio componente electrónico.

La mayoría de los RTC (Real Time Clock) utilizan un oscilador de cristal cuya frecuencia es de 32,768 KHz (la misma frecuencia utilizada en los relojes de cuarzo). Además, el RTC sigue funcionando en modo de reposo, por lo que se puede utilizar para despertar el dispositivo de los modos de reposo de forma programada. Cada vez que se alimenta la placa, el RTC se resetea y comienza desde la fecha estándar. Para mantener la hora y el RTC en funcionamiento es necesario mantener el dispositivo alimentado.

Para utilizar este reloj, usaremos la librería RTCZero. Esta librería nos permite controlar y utilizar el RTC interno en todas las placas Arduino con la arquitectura SAMD (como la que tiene nuestro NANO 33 IoT). La librería se encarga de la inicialización del RTC interno e incluye varias funciones que utilizaremos en esta práctica.

Para saber más sobre esta librería, haz click aquí.

 


Primer paso: Creamos nuestra primera Thing

image-1665055346267.18.27.png

Renombramos nuestra thing como Nano Alarm:

image-1665055416726.18.41 copia.png

Vincularemos un dispositivo a nuestra thing:

image-1665055483548.18.41 copia 2.png

Como ya lo hemos asociado antes, nos debería aparecer esta pantalla, en la que IoT Cloud ya lo reconoce: 

image-1665055511230.19.08.png


Creamos nuestras variables

image-1665055900397.19.17 copia.png

Nos aparecerá la siguiente ventana: 

image-1665055988275.32.35.png

En ella introduciremos la información de nuestra primera variable:
Name: alarm_state
Select variable type: boolean
Variable Permission: Read & Write
Variable Update Policy: On Change

image-1665056132088.34.40.png

Le daremos a ADD VARIABLE y nos aparecerá así:

image-1665056261340.37.03.png

Haremos lo mismo con las siguientes variables:
(poner info)

int se llama Integer Number:

image-1665056843240.39.18 copia.png

Una vez hayamos creado todas las variables, nos aparecerán como en la siguiente imagen:

image-1665057437084.56.57.png

El orden en que nos aparezcan puede variar, pero eso no es problema. Lo importante es que alarm_state y led tengan valores boolean y que tanto hours_alarm, minutes_alarm y seconds_alarm tengan valores integer.

No debemos olvidar introducir las credenciales de nuestra red. Ese proceso ya te lo he explicado en este apartado.
Una vez hayamos introducido el nombre y contraseña de nuestro Wi-Fi, haremos click sobre la pestaña Dashboard:


Y veremos la siguiente pantalla, en la que haremos click sobre BUILD DASHBOARD:

image-1665057185882.51.34.png

Tenemos que tener en consideración que al ser un servicio conectado a Internet, hay cierta latencia y los valores no se actualizan inmediatamente. Si queremos comprobar que nuestra alarma funciona, es mejor que la pongas con un margen de unos 8 o 10 minutos.



Va a ser necesario que nuestra conexión sea bastante rápida, sino encontraremos mucha latencia y tendremos que esperar bastante hasta ver el valor de nuestras variables actualizadas. En mi caso, las variables se actualizaban con una latencia de 8 minutos...


FUENTES:
Alarma con Arduino 33 IoT: https://docs.arduino.cc/tutorials/nano-33-iot/iot-cloud