Haut de la page
Tutoriels
Capteur de température et humidité DHT22

Connecter le capteur DHT22 avec la carte AZ-Delivery NodeMCU ESP8266 ESP-12F

Bibliothèques Adafruit DHT sensor library

Pour installer la première bibliothèque, allez dans le menu Outils / Gérer les bibliothèques... puis entrée DTH dans le champ de recherche et installé la bibliothèque DHT sensor library.

Bibliothèque Adafruit pour les capteurs d'humidité et de température de la série DHT. Cette bibliothèque dépend de la bibliothèque de capteurs unifiés Adafruit . Pour utiliser la bibliothèque DHT sensor library, vous devez télécharger également la bibliothèque Adafruit Unified Sensor.

Site officiel Github

Pour installer la deuxième bibliothèque, allez dans le menu Outils / Gérer les bibliothèques... puis entrée adafruit unified sensor dans le champ de recherche et installé la bibliothèque Adafruit Unified Sensor.

Github
Branchement

L'alimentation du capteur est fourni par la sortie 2 et 4, le pin SDA est relié au port GPIO 4.

Placer la résistance, le capteur et la carte Esp8266 sur la platine d'essai, puis mettez les câbles en place comme indiqué ci-dessous.

Le câblage terminé, connecter le montage à votre ordinateur.

Schéma.

Câblage
N°    6
Préparation logiciels

Avant de commencer, assurez-vous que la dernière version de l'IDE Arduino est installée sur votre ordinateur...

... et que les pilotes de la carte soit bien installer dans l'IDE Arduino.

... voir également...

Télécharger la dernière version de l'IDE Arduino Installer Arduino IDE sous Windows 7 Connecter la carte AZ-Delivery NodeMCU ESP8266 ESP-12F

Ouvrir l'IDE Arduino

Code...
Code Esp8266 : Connecter le capteur DHT22 avec la carte Esp8266

/*

  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.