Des sketchs à ajouter à ArdPyLog (suite)


5. Capteur DHT 22
 (Mesure de la température et du taux d’humidité – Catégorie: Température)

L’objectif de cette activité est de mesurer la température et le taux d’humidité ambiant à l’aide d’un capteur numérique d’humidité et de température DHT22.

Le montage est très simple, il suffit de câbler le 5 V de l’Arduino Uno sur la broche 5 V, la masse de l’Arduino Uno sur la broche GND et la broche DATA du capteur sur la broche numérique 2 de l’Arduino Uno par exemple.

Caractéristiques du DHT 22 :

Le capteur de température et d’humidité DHT22 (ou AM2302) communique avec un microcontrôleur via un port série. Le capteur est calibré et ne nécessite pas de composants supplémentaires pour pouvoir être utilisé.

. Alimentation : 3,3 à 6 Vcc
. Consommation maxi : 1,5 mA
. Consommation au repos : 50 μA
. Plage de mesure :
– température : -40 à +80 °C
– humidité : 0 à 100 % RH
. Précision :
– température : ± 0,5 °C
– humidité : ± 2 % RH

 

Le code de l’activité nécessite l’installation au préalable de la librairie « DHT sensor library by Adafruit ».
Afin d’ajouter une librairie à l’IDE Arduino, il faut aller dans le menu « Outils ->Gérer les bibliothèques » :

Il suffit ensuite de rechercher et d’ajouter la librairie «DHT sensor library» d’Adafruit :

 

Le programme

Voici le code de l’activité :

#include « DHT.h »

#define DHTPIN 2

#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
Serial.begin(9600);
Serial.println(« DHT22 test! »);

dht.begin();
}

void loop() {
delay(2000);

float h = dht.readHumidity();

float t = dht.readTemperature();

Serial.print(« Humidity: « );
Serial.print(h);
Serial.print( » %\t »);
Serial.print(« Temperature: « );
Serial.print(t);
Serial.println( » *C « );

}

 

Déroulement du programme :

– 1. Insertion des bibliothèques :

. Insertion de la librairie Adafruit_DHT

 

– 2. Déclaration des constantes et variables :

. #define DHTPIN 2 (déclaration de la broche de mesure du capteur)

. #define DHTTYPE DHT22 (déclaration du type de capteur)

. DHT dht(DHTPIN, DHTTYPE) (initialisation du capteur)

 

– 3. Initialisation des entrées et sorties :

. Initialisation de la liaison série à un débit de 9600 bauds

. Début de la mesure

 

– 4. Fonction principale en boucle :

–> lecture des mesures,

–> une pause de 2 secondes est insérée entre 2 mesures,

–> Affichage des valeurs dans le moniteur série.