Interfaçage du capteur d'humidité de température DHTxx avec Arduino

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article, nous allons examiner les capteurs de la série DHTxx, qui sont utilisés pour mesurer la température et l'humidité, les deux fonctionnalités étant intégrées dans un seul module.

Nous allons voir leurs spécifications, afin que vous puissiez choisir le meilleur capteur pour votre projet et enfin nous allons l'interfacer avec arduino et lire les valeurs dans le moniteur série du logiciel IDE arduino.



DHTxx se compose de seulement deux séries DHT11 et DHT22. La principale différence entre eux est leur spécification et leur coût. DHT11 est un capteur bas de gamme et DHT22 est un capteur haut de gamme. DHT22 est plus cher que DHT11, mais le bas de gamme est assez décent pour un projet de loisir, à moins que vous ne fassiez des mesures sérieuses avec votre projet.

DHTxx est un appareil à 4 broches, l'un d'entre eux étant NC ou sans connexion, nous allons donc utiliser seulement 3 broches. Deux d'entre eux sont des broches d'alimentation et l'autre est une broche de sortie. Le capteur peut sembler simple, mais il nécessite une bibliothèque pour le gérer.



Le capteur se compose d'une thermistance, d'un dispositif de détection d'humidité et d'un microcontrôleur intégré dans un module. Leurs spécifications sont les suivantes:

DHT11:
• La plage de tension de fonctionnement est de 3 à 5V.
• Sa consommation de courant maximale est de 2,5 mA.
• Il peut mesurer l'humidité avec une précision de 20% à 80% - / + 5%.
• Il peut mesurer des températures allant de 0 à 50 degrés Celsius +/- 2% de précision.
• Il actualise sa valeur toutes les secondes.
• Sa taille est de 15,5 mm x 12 mm x 5,5 mm

DHT22:
• La tension de fonctionnement est de 3 à 5 V
• Sa consommation de courant maximale est de 2,5 mA.
• Il peut mesurer l'humidité de 0% à 100% avec une précision de 2 à 5%.
• Il peut mesurer des températures allant de -40 à +125 degrés Celsius +/- 0,5% de précision.
• Il actualise sa valeur deux fois par seconde.
• Sa taille est de 15,1 mm x 25 mm x 7,7 mm
À partir des spécifications brutes ci-dessus, vous pouvez choisir celle qui convient le mieux à votre projet.

Capteur d

La broche de données doit toujours être connectée avec une résistance pull-up de 4,7K à 10K. Le capteur illustré ci-dessus est livré avec un circuit imprimé avec une broche NC éliminée et une résistance de rappel vers le haut. Mais certains capteurs sont livrés sans ces fonctionnalités, sans la résistance de pull-up, les lectures envoyées à Arduino seront des valeurs d'erreur fatale.

Nous allons maintenant interfacer le capteur DHT avec arduino. Avant de poursuivre le projet, téléchargez le fichier de bibliothèque à partir du lien suivant:

https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

Vous avez juste besoin de ces quatre composants: capteur DHTxx, arduino Uno, câble USB et un PC.

Insérez simplement le capteur sur les broches analogiques de l'arduino comme illustré dans le prototype et transférez le code sur arduino, ouvrez le moniteur série et vous pouvez voir les lectures.
Prototype de l'auteur:

Interfaçage du capteur d//----------------------Program developed by R.Girish-------------// #include dht DHT #define DHTxxPIN A1 int p = A0 int n = A2 int ack int f void setup(){ Serial.begin(9600) pinMode(p,OUTPUT) pinMode(n,OUTPUT) } void loop() { digitalWrite(p,1) digitalWrite(n,0) ack=0 int chk = DHT.read11(DHTxxPIN) switch (chk) { case DHTLIB_ERROR_CONNECT: ack=1 break } if(ack==0) { f=DHT.temperature*1.8+32 Serial.print('Temperature(°C) = ') Serial.println(DHT.temperature) Serial.print('Temperature(°F) = ') Serial.print(f) Serial.print(' ') Serial.print('Humidity(%) = ') Serial.println(DHT.humidity) Serial.print(' ') delay(500) } if(ack==1) { Serial.print('NO DATA') Serial.print(' ') delay(500) } } //----------------------Program developed by R.Girish-------------//

Sortie moniteur série:




Une paire de: Faites ce circuit de robinet sans contact pour un contrôle de robinet mains libres Prochain: Faites ce circuit numérique de mesure de température et d'humidité en utilisant Arduino