/*
Connecter le capteur DHT22 avec la carte AZ-Delivery NodeMCU ESP8266 ESP-12F
Bibliothèque Adafruit DHT sensor
Arduino IDE, ESP8266-DHT22.ino
http://nano-ordinateur-info.fr/
*/
#include "DHT.h"
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
Serial.println("Capteur DHT22, Humidité et température.");
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Impossible de lire le capteur DHT22 !");
return;
}
Serial.print("Humidité: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Température: ");
Serial.print(t);
Serial.println(" *C ");
delay(2000);
}
Principales commandes pour afficher la température et l'humidité dans le moniteur.
Inclue la bibliothèque Adafruit DHT.
#include "DHT.h"
Utilisation du port GPIO 4 de l'ESP8266 pour lire les données.
#define DHTPIN 4
Donne un nom (DHTTYPE) à une valeur constante (DHT22).
#define DHTTYPE DHT22
Initialisation d’une nouvelle instance.
DHT (DHTPIN, DHTTYPE);
Définit le débit de données en bits par seconde pour la transmission de données série.
Serial.begin (115200);
Affiche les données sur le port série sous forme de texte ASCII suivi d'un caractère de retour chariot (println).
Serial.println("Capteur DHT22, Humidité et température.");
Initialiser l'objet DHT à l'aide de la fonction begin().
dht.begin();
Lecture de la l'humidité en Celsius (par défaut).
float h = dht.readHumidity();
Lecture de la température en Celsius (par défaut).
float t = dht.readTemperature();
On vérifie si la lecture a échoué, si oui on quitte la boucle pour recommencer.
if (isnan(h) || isnan(t)) {
Serial.println("Impossible de lire le capteur DHT22 !");
return;
}
Affiche la chaine de caractère Humidité.
Serial.print("Humidité: ");
Affiche la valeur de l'humidité
Serial.print(h);
Affiche le signe pour cent (%), plus une tabulation (\t).
Serial.print(" %\t");
Affiche la chaine de caractère Température.
Serial.print("Température: ");
Affiche la valeur de la température.
Serial.print(t);
Affiche la valeur de la température suivi d'un caractère de retour chariot (println).
Serial.println(" °C ");
Le capteur est un peu lent, les valeurs peuvent être lues toutes les deux seconde.
delay(2000);
Téléchargé le programme à l'adresse suivante...
...ou coller le code suivant dans l'IDE Arduino.
Allez dans le menu Fichier / Outils... pour ouvrir le Moniteur série...
... les valeurs de la température et de l'humidité doivent s'afficher sur le moniteur série.
Cliquer sur le bouton Téléverser pour transférer le programme à l'ESP32.