Paso 4: Combinar DS3231 y DHT22
Bueno, es hora de combinar los dos dispositivos que anteriormente se habían vistos!
Este procedimiento consiste en hacer un "patchwork" entre los dos códigos anteriormente visto.
Abrir códigos y copia y pasado el código de DHT22 en del DS3231 (ds3231_bis.ino).
Bibliotecas, variables y constantes
En el código de ds3231_bis.ino agregar la biblioteca necesaria por la dht22, definir qué pin va a utilizar y establezca la variable usada para leer y escribir los valores de la temperatura y la humedad detectada. Aquí es cómo debería ser el principio del código:
Funciones
Justo después de las dos funciones principales (bucle vacío y configuración vacío), nos vamos a poner los "secundarios":
- bcdToDec---como dije antes, es necesario para convertir a números binarios a decimales
- readDS3231time---para leer datos del DS3231
- displayTime---necesaria para imprimir los datos y la hora en el monitor serial
Para no estropear nada, hicimos otra función llamada dht22. Contiene todas las líneas en la función de configuración de nuestro dht22.ino. Gracias a esto, nuestro lazo y configuración va a ser limpio y ordenado.
Función de configuración
Las funciones más importantes son Wire.begin() y Serial.begin(). Inicializan el DS3231 y el monitor de serie, respectivamente. Las otras líneas de impresión no estrictamente necesaria información acerca de DHT22.
Función Loop
La función de bucle es muy simple: sólo llama a dos funciones, retrasando la operación de 2 segundos. ¿Por qué dos segundos? Porque DHT22s necesita dos segundos para hacer una detección.
Como de costumbre nos adjunta el código listo para usar.