Arduino avec capteur DHT22 et LCD



 Arduino dht22


C'est un message très simple et petit, mais toujours simple et de petites choses fabriquent des produits intelligents et d'entreprise. De toute façon, c'est mon rêve que j'écris un programme que je peux vérifier la température et l'humidité de ma pièce au lieu de regarder à partir de petits appareils.
J'utilise le capteur de température et d'humidité DHT22 avec Arduino Uno R3 et d'obtenir ses données de Arduino Serial Monitor. Avant d'aller à l'étape suivante, je pense que je dois vous dire quelque chose à propos du DHT22. Sa plage d'humidité est de 0 à 100% et la plage de température est de -40 à 125 ° C, c'est pourquoi je préfère le DHT22 par rapport au DHT11.

 

 Download Arduino DHT22

 Arduino avec capteur DHT22 et LCD

Après l'interfaçage du capteur Arduino avec DHT11 (RHT01), voyons comment connecter l'Arduino avec DHT22 (AM2302 - RHT03) Humidité numérique et capteur de température.
Interfaçage Arduino avec le capteur DHT11 et l'écran LCD Comme ce qui a été fait dans le sujet précédent, les valeurs de température et d'humidité mesurées sont affichées sur l'écran LCD 1602.

Spécifications techniques du capteur DHT22:

 

 Plage d'humidité: 0 ~ 100% rh
     Précision d'humidité: ± 2% RH (max ± 5% RH)
     Plage de températures: -40 ~ 80 ° C
     Précision de la température: ± 0,5 ° C
     Tension de fonctionnement: 3,3 V ~ 5,5 V
     Résolution = 0,1

Matériel requis:

     Conseil d'administration d'Arduino
     Capteur DHT22 (ou AM2302 - RHT03)
     Écran LCD 1602
     Résistance de 4,7k ohms
     Résistance variable de 10k ohms (ou potentiomètre)
     Résistance de 330 ohms
     Planche à pain
     Fils de cavalier

Arduino + DHT22 + Circuit de connexion LCD:
Le diagramme du circuit d'interfaçage est illustré ci-dessous.

 Télécharger le schema



 Le DHT22 a 4 broches: VCC (+ 5V), broche de données, NC (PIN non connectée) et GND (de gauche à droite). Une résistance de traction doit être ajoutée à la broche de données avec une valeur comprise entre 4,7 et 10k.

La résistance variable 10K est utilisée pour contrôler le contraste de l'écran LCD et la résistance de 330 ohms fournit la LED de rétro-éclairage LCD.



Code Arduino:
Dans cet interfaçage, j'ai utilisé la bibliothèque des capteurs DHT (DHT11, DHT21 et DHT22) à partir d'AdaFruit. Cette bibliothèque initie le capteur DHT22 et lit les valeurs de l'humidité et de la température.
La bibliothèque DHT Adafruit renvoie un nombre flottant d'humidité ainsi que la température et puisque la résolution du capteur DHT22 est de 0,1, nous n'avons besoin que d'un nombre après le point. Pour cela, j'ai utilisé deux variables avec Type int (signé 16 bits) qui sont RH et Temp. La multiplication des nombres flottants par 10 nous donne ce dont nous avons besoin en tant que nombres entiers sans aucun point.
Les valeurs entières de l'humidité et de la température doivent être affichées sur l'écran LCD après la lecture, et pour cela, j'ai utilisé deux tableaux de caractères nommés: température (température de char [] = «temp = 00,0 C»;) et humidité (humidité du charbon [ ] = «Rh = 00,0%»;). L'humidité et les valeurs de température sont copiées sur les tableaux précédents avant de l'afficher. Par exemple, la valeur de température est copiée dans la température du réseau comme suit:
Température [7] = (Temp / 100)% 10 + 48;
Cette ligne signifie que le 7ème caractère du tableau est égal à la température des centaines

température [8] = (temp / 10)% 10 + 48;
Cette ligne signifie que le 8ème caractère du tableau est égal aux dizaines de température

température [10] = temp% 10 + 48; (Temp% 10 est égal au reste de Temp / 10)
Et cette ligne signifie que le 10e caractère du tableau est égal à ceux de Temp

Par exemple, si la température = 37,2 ° C et c'est la valeur que la bibliothèque Adafruit renvoie en utilisant la fonction dht.readterature (), en multipliant cette valeur par 10, nous obtenons 372.
rendements: (372/100)% 10 = 3
(372/10)% 10 = 7
372% 10 = 2
Le numéro 48 est utilisé pour convertir les nombres décimaux en ASCII car l'écran LCD fonctionne avec le format ASCII.
La température de la ligne [11] = 223; est pour le symbole de degré (°).
Le code Arduino complet est ci-dessous.
 

Télécharger le Code

 

أحدث أقدم