Arduino, Tutoriels

Comment utiliser DHT21 AM2301 avec Arduino

DHT21 AM2301 avec Arduino

Introduction 

DHT21 AM2301 capteur de température et d’humidité DHT21/AM2301 est un composant précis et fiable utilisé dans de nombreux projets basés sur Arduino. Il permet de mesurer avec précision la température et l’humidité de l’environnement, ce qui en fait un outil essentiel pour les systèmes de surveillance environnementale, les projets d’IoT et bien d’autres applications.  

Ce guide complet vous fournira toutes les informations nécessaires pour utiliser le capteur DHT21/AM2301 avec Arduino, y compris les spécifications techniques, les schémas de câblage, la programmation et des exemples de projets. 

DHT21 AM2301 avec Arduino

Spécifications techniques

  • Plage de mesure de température : -40°C à 80°C
  • Précision de mesure de température : ±0,5°C
  • Plage de mesure d’humidité : 0% à 100%
  • Précision de mesure d’humidité : ±3% RH
  • Tension d’alimentation recommandée : 3,3V à 5,2V
  • Consommation électrique : Faible consommation d’énergie
  • Interface de communication : Communication numérique
  • Protocole de données : Protocole propriétaire du capteur

Avantages du capteur de température et d’humidité DHT21

  • Précision de mesure élevée pour la température et l’humidité.
  • Plage étendue de mesure pour la température et l’humidité.
  • Faible consommation d’énergie.
  • Interface de communication simple à un seul fil de données.
  • Prix abordable pour les performances offertes.

Inconvénients potentiels du capteur de température et d’humidité

  • Sensibilité à l’humidité ambiante, ce qui peut affecter les mesures dans des environnements très humides.
  • Nécessité d’une calibration périodique pour maintenir la précision des mesures.
  • Disponibilité de bibliothèques de support pour l’Arduino, nécessitant une installation supplémentaire pour une intégration fluide dans les projets.

Les utilisations du capteur DHT21

  1. Surveillance environnementale et météorologique : Le DHT21/AM2301 est idéal pour surveiller les conditions de température et d’humidité dans des environnements tels que les serres, les chambres de culture, les entrepôts, etc.
  2. Contrôle climatique dans les systèmes HVAC : Ce capteur peut être utilisé pour mesurer et contrôler les paramètres climatiques dans les systèmes de chauffage, de ventilation et de climatisation.
  3. Projets d’IoT et de domotique : Il peut être intégré dans des projets d’IoT et de domotique pour la surveillance et le contrôle intelligents de la température et de l’humidité.
  4. Enregistreurs de données (data loggers) : En combinant le capteur avec une carte Arduino et une carte SD, il est possible de créer un enregistreur de données pour stocker et analyser les variations de température et d’humidité dans le temps.
  5. Régulateurs d’humidité : AM2301 peut être utilisé dans des systèmes de régulation de l’humidité pour maintenir des conditions optimales dans des applications telles que les laboratoires, les caves à vin, etc.

La difference entre DHT21 et DHT11

La difference entre DHT21 et DHT11
CaractéristiquesDHT21DHT11
Plage de mesure de température-40°C à 80°C0°C à 50°C
Plage de mesure d’humidité0% à 100% HR20% à 80% HR
Précision de mesure de température±0.5°C±2°C
Précision de mesure d’humidité±3% HR±5% HR
Tension d’alimentation3.3V à 5.2V3V à 5.5V
Consommation de courant (actif)Moins de 1.5 mAMoins de 1.5 mA
Consommation de courant (veille)Moins de 100 µAMoins de 50 µA
DimensionsPlus grandPlus petit
CoûtLégèrement plus cherPlus économique
Temps de réponsePlus rapidePlus lent
Stabilité de mesureMeilleureMoins stable
Sortie de donnéesNumériqueNumérique
Résistance aux interférencesMeilleureBonne
Nécessite un calibrageNonNon

Interfaçage du DHT21 AM2301 avec Arduino

Interfaçage du DHT21 AM2301 avec Arduino

Connectez le capteur à l’Arduino

  • Connectez la broche VCC (alimentation) du capteur à la broche 5V de l’Arduino.
  • Connectez la broche GND (masse) du capteur à la broche GND de l’Arduino.
  • Connectez la broche Data du capteur à une broche numérique de l’Arduino (par exemple, D2).

Connectez un buzzer à l’Arduino (optionnel)

  • Connectez le fil positif (rouge) du buzzer à la broche 5V de l’Arduino.
  • Connectez le fil négatif (masse) du buzzer au Collecteur d’un transistor NPN 2N2222.
  • Connectez l’Émetteur du transistor à la masse (GND).
  • Connectez la base du transistor à une broche numérique de l’Arduino (par exemple, D4) via une résistance de 10kΩ.

Connectez un afficheur OLED à l’Arduino

  • Connectez la broche SDA du module d’affichage à la broche A4 de l’Arduino.
  • Connectez la broche SCL (ou SCK) du module d’affichage à la broche A5 de l’Arduino.
  • Connectez la broche VDD/VCC du module d’affichage à la broche 3.3V de l’Arduino.
  • Connectez la broche GND du module d’affichage à la broche GND de l’Arduino.

Condensateur 470µF

  • Connectez une patte du condensateur au pin Vin (entrée) du régulateur 7805 IC.
  • Reliez l’autre patte du condensateur à la borne positive (+) de l’adaptateur d’alimentation 12V1A FEMELLE (Jack vers bornier).
  • Assurez-vous également de relier cette patte à la broche GND (masse) de l’Arduino.

Deuxième condensateur 470µF

  • Connectez une patte du condensateur à la broche GND (masse) de l’Arduino.
  • Connectez l’autre patte du condensateur à la broche GND (masse) du DHT21/AM2301.

Résistance 10KOhm

  • Reliez une patte de la résistance à la broche de base (B) du transistor NPN 2N2222.
  • Connectez l’autre patte de la résistance à une broche numérique de l’Arduino (par exemple, D4).

Installation des bibliothèques requises

Avant de programmer l’Arduino pour le capteur DHT21/AM2301, assurez-vous d’installer les bibliothèques suivantes :

Code

Voici un exemple de code Arduino pour lire les valeurs de température et d’humidité du capteur DHT21/AM2301 et les afficher sur un écran OLED

#include <DHT.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define DHTPIN 2           // Broche de données du capteur DHT
#define DHTTYPE DHT21      // Type de capteur (DHT21/AM2301)

DHT dht(DHTPIN, DHTTYPE);   // Initialisation du capteur DHT

#define SCREEN_WIDTH 128   // Largeur de l'écran OLED
#define SCREEN_HEIGHT 64   // Hauteur de l'écran OLED

#define OLED_RESET -1      // Broche de réinitialisation de l'écran OLED (non utilisée)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
  Serial.begin(9600);
  dht.begin();
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.setTextColor(WHITE);
}

void loop() {
  delay(2000);  // Attendre 2 secondes entre les mesures

  float humidity = dht.readHumidity();       // Lire l'humidité en pourcentage
  float temperature = dht.readTemperature(); // Lire la température en degrés Celsius

  // Afficher les valeurs sur le moniteur série
  Serial.print("Humidite : ");
  Serial.print(humidity);
  Serial.print("%   Température : ");
  Serial.print(temperature);
  Serial.println(" °C");

  // Effacer l'écran OLED
  display.clearDisplay();

  // Afficher les valeurs sur l'écran OLED
  display.setTextSize(2);
  display.setCursor(0, 10);
  display.print("Humidite :");
  display.setCursor(0, 30);
  display.print(humidity);
  display.print("%");

  display.setCursor(0, 50);
  display.print("Temperature :");
  display.setCursor(0, 70);
  display.print(temperature);
  display.print("C");

  display.display();
}

FAQ

Q1 : Quelle est la différence entre le DHT21/AM2301 et le DHT22 ?

R : Le DHT21 et le DHT22 sont très similaires en termes de spécifications et de fonctionnement. La principale différence réside dans la plage de mesure de la température et de l’humidité, ainsi que dans la précision des mesures. DHT21 a une plage de mesure de température de -40 à 80 degrés Celsius, tandis que le DHT22 peut mesurer de -40 à 125 degrés Celsius. En ce qui concerne l’humidité, AM2301 peut mesurer de 0% à 100% d’humidité relative, tandis que DHT22 peut mesurer de 0% à 100% avec une meilleure précision.

Q2 : Comment puis-je améliorer la précision des mesures avec le DHT21/AM2301 ?

R : Pour améliorer la précision des mesures avec le DHT21/AM2301, voici quelques conseils :

  • Effectuez une calibration périodique du capteur en utilisant une référence de température et d’humidité connue. Comparez les mesures du capteur avec celles de la référence et appliquez les ajustements nécessaires.
  • Protégez le capteur contre l’accumulation de poussière et d’humidité excessive. Assurez-vous que le capteur est correctement installé et isolé des éléments externes qui pourraient fausser les mesures.
  • Utilisez un boîtier ou un environnement contrôlé pour minimiser les variations externes de température et d’humidité qui pourraient influencer les mesures du capteur.

Q3 : Puis-je alimenter le DHT21/AM2301 avec 3,3 V au lieu de 5 V ?

R : Oui, le capteur DHT21/AM2301 peut être alimenté avec une tension de 3,3 V à 5,2 V. Cela le rend compatible avec les microcontrôleurs fonctionnant à 3,3 V tels que les cartes Arduino basées sur ESP8266. Assurez-vous de connecter correctement les broches d’alimentation du capteur à la tension appropriée pour éviter d’endommager le capteur ou le microcontrôleur.

Q4 : Quelle est la fréquence de mesure du capteur DHT21/AM2301 ?

R : Le capteur DHT21/AM2301 a une fréquence de mesure maximale d’environ 1 Hz, ce qui signifie qu’il peut fournir des mesures mises à jour environ une fois par seconde. Si vous avez besoin d’une fréquence de mesure plus élevée, vous devrez utiliser d’autres capteurs ou techniques de mesure plus rapides.

Q5 : Le capteur DHT21/AM2301 nécessite-t-il une résistance de pull-up externe ?

R : Non, le capteur DHT21/AM2301 dispose d’une résistance de pull-up interne, ce qui signifie qu’il n’est pas nécessaire de connecter une résistance de pull-up externe sur la ligne de données (Data) du capteur. Cela simplifie le câblage et l’interfaçage avec l’Arduino.

Video descriptif du tutoriel

Lien outilles