Étape 7: Thermoigrometer
Cette procédure consiste également à faire un « patchwork » entre deux codes.
Ouvrez les fichiers codes et copie & passé le code de LCD_display_control.ino dans celui de dht22andDS3231.ino.
Dans cette étape nous allons faire un croquis qui indique les valeurs détectées par DHT22 et heure / date sur l’écran LCD. Bien sûr, il faut remplacer tous les Serial.print() avec des fonctions lcd.print() . Cette opération est très simple si vous utilisez un éditeur de texte qui a la découverte automatique et remplacez la fonction (Notepad ++, par exemple). Par conséquent, rechercher Serial et remplacera toutes avec écran lcd.
L’en-tête de l’esquisse
Maintenant, ajoutez la bibliothèque requise par l’écran LCD et déclarer deux variables et les constantes utilisées pour allumer il marche.
Juste après cette partie, vous devrez déclarer deux tableaux d’octets. Ces deux tableaux, drop et temp, dessiner les icônes affichées sur l’écran LCD. Si vous souhaitez dessiner vos propres icônes, vous pouvez utiliser l’éditeur de site web suivant : éditeur de polices écran LCD.
Puis, afin d’initialiser l’écran LCD, il faut utiliser la fonction LiquidCrystal(). Les parenthèses, il y a les broches utilisées.
Fonctions
Défilement vers le bas de l’esquisse, nous trouvons plusieurs fonctions :
- bcdToDec---comme dit précédemment, il est nécessaire de convertir des nombres binaires en nombres décimaux
- readDS3231time---pour lire les données de DS3231
- displayTime---nécessaire pour imprimer des données et l’heure sur l’écran LCD
- dht22---requis pour détecter et imprimer les valeurs de température et d’humidité
Pour une meilleure visualisation, nous avons fait quelques changements dans displayTime et dht22. Fondamentalement, nous avons besoin de montrer sur la première ligne date et d’heure et dans le second une température et d’humidité. Un écran LCD a seulement 16 caractères par ligne, donc si vous voulez lui montrer tout ce que vous devez organiser la sortie.
Tout d’abord, nous avons raccourci les noms des jours de la semaine, comme vous pouvez le voir dans la première instruction switch/case . Nous avons ensuite ajouté un autre switch/case le nom raccourci des mois. Nous avons également supprimé l’année courante et les secondes.
Pour la même raison, nous avons fait quelques changements dans la fonction dht22 . Cette esquisse n’imprime pas des infos sur la bibliothèque de dht22 ainsi que la ligne "Type, statut, humidité (%), Temperature (C)", mais elle imprime uniquement les deux icônes (goutte et temp) et la valeur de température suivie "° C" (parce que nous avons utilisé Celsius degrés) et l’humidité, suivi par "%". Puisqu’il n’y a pas assez d’espace, nous avons décidé également de supprimer le deuxième chiffre décimal de température et d’humidité.
Fonction de réglage
Les deux premières lignes de la fonction de réglage initialiser la broche bouton et LUMIN. Ils sont utilisés pour contrôler le rétro-éclairage de l’écran LCD.
La troisième ligne Initialise le DS3231.
Les quatrième et cinquième lignes créent les deux icônes personnalisées.
Le dernier d'entre eux Initialise l’écran LCD.
Fonction de boucle
Dans la fonction de boucle, nous trouvons les instructions nécessaires pour contrôler le rétro-éclairage LCD. Nous n’allons pas revenir sur leur fonctionnement car nous l’avons fait à l’étape précédente.
Les deux dernières instructions rappellent ces fonctions qui affichent la date & heure, température et humidité.
La seule différence consiste à changer la valeur du compteur de 1000 (comme nous l’avons vu précédemment) à 5 parce que maintenant nous avons inséré un retard de deux secondes.