Différences entre versions de « Arduino DHT11 »
Aller à la navigation
Aller à la recherche
(5 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
== Le composant == | == Le composant == | ||
Le DHT11 ressemble à ceci: | Le DHT11 ressemble à ceci: | ||
− | [[Fichier:DHT11.jpg|centré| | + | [[Fichier:DHT11.jpg|centré|150px]] |
Ce composant permet de mesurer la température ainsi que l'humidité. | Ce composant permet de mesurer la température ainsi que l'humidité. | ||
== Le montage == | == Le montage == | ||
− | |||
[[Fichier:DHT11_diagram.jpg|centré|400px]] | [[Fichier:DHT11_diagram.jpg|centré|400px]] | ||
= Partie logicielle = | = Partie logicielle = | ||
− | == Récupérer la | + | == Import de la librairie == |
+ | Avant de continuer, il faut importer la librairie nécessaire à l'utilisation des capteurs DHT. | ||
+ | [[Fichier:Arduino_IDE_DHT_Adafruit_install.png|centré|400px]] | ||
+ | == Récupérer la température et l'humidité == | ||
Voila un exemple qui affiche la valeur de la température ainsi que l'humidité | Voila un exemple qui affiche la valeur de la température ainsi que l'humidité | ||
<source lang="c"> | <source lang="c"> | ||
+ | #include "DHT.h" | ||
// PIN data du DHT | // PIN data du DHT | ||
− | + | #define DHTPIN 2 | |
− | + | // de-commenter le capteur utilise | |
− | void setup() { | + | #define DHTTYPE DHT11 // DHT 11 |
− | + | //#define DHTTYPE DHT22 // DHT 22 (AM2302) | |
+ | //#define DHTTYPE DHT21 // DHT 21 (AM2301) | ||
+ | |||
+ | // Déclaration du capteur DHT | ||
+ | DHT dht(DHTPIN, DHTTYPE); | ||
+ | |||
+ | void setup(){ | ||
+ | Serial.begin(9600); | ||
+ | // Connexion au capteur | ||
+ | dht.begin(); | ||
} | } | ||
− | void loop() { | + | |
− | + | void loop(){ | |
− | + | delay(2000); | |
− | + | // Lecture des valeurs: | |
− | + | // Hygrometrie | |
− | + | float h = dht.readHumidity(); | |
+ | // temperature en celsius | ||
+ | float t = dht.readTemperature(); | ||
+ | // temperature en farenheit | ||
+ | float f = dht.readTemperature(true); | ||
+ | |||
+ | //On verifie si la lecture a echoue, si oui on quitte la boucle pour recommencer. | ||
+ | if (isnan(h) || isnan(t) || isnan(f)){ | ||
+ | Serial.println("Failed to read from DHT sensor!"); | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | // Calcul de l'indice de temperature en Farenheit | ||
+ | float hif = dht.computeHeatIndex(f, h); | ||
+ | // Calcul de l'indice de temperature en Celsius | ||
+ | float hic = dht.computeHeatIndex(t, h, false); | ||
+ | |||
+ | //Affichages : | ||
+ | Serial.print("Humidite: "); | ||
+ | Serial.print(h); | ||
+ | Serial.print(" %\t"); | ||
+ | Serial.print("Temperature: "); | ||
+ | Serial.print(t); | ||
+ | Serial.print(" *C "); | ||
+ | Serial.print(f); | ||
+ | Serial.print(" *F\t"); | ||
+ | Serial.print("Indice de temperature: "); | ||
+ | Serial.print(hic); | ||
+ | Serial.print(" *C "); | ||
+ | Serial.print(hif); | ||
+ | Serial.println(" *F"); | ||
} | } | ||
</source> | </source> | ||
Ligne 30 : | Ligne 72 : | ||
== Résultat == | == Résultat == | ||
Voila le résultat : | Voila le résultat : | ||
− | [[Fichier:Arduino | + | [[Fichier:Arduino DHT reading serial.png|centré|400px]] |
Version actuelle datée du 13 juillet 2017 à 19:25
Partie électronique
Le composant
Le DHT11 ressemble à ceci:
Ce composant permet de mesurer la température ainsi que l'humidité.
Le montage
Partie logicielle
Import de la librairie
Avant de continuer, il faut importer la librairie nécessaire à l'utilisation des capteurs DHT.
Récupérer la température et l'humidité
Voila un exemple qui affiche la valeur de la température ainsi que l'humidité
#include "DHT.h"
// PIN data du DHT
#define DHTPIN 2
// de-commenter le capteur utilise
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Déclaration du capteur DHT
DHT dht(DHTPIN, DHTTYPE);
void setup(){
Serial.begin(9600);
// Connexion au capteur
dht.begin();
}
void loop(){
delay(2000);
// Lecture des valeurs:
// Hygrometrie
float h = dht.readHumidity();
// temperature en celsius
float t = dht.readTemperature();
// temperature en farenheit
float f = dht.readTemperature(true);
//On verifie si la lecture a echoue, si oui on quitte la boucle pour recommencer.
if (isnan(h) || isnan(t) || isnan(f)){
Serial.println("Failed to read from DHT sensor!");
return;
}
// Calcul de l'indice de temperature en Farenheit
float hif = dht.computeHeatIndex(f, h);
// Calcul de l'indice de temperature en Celsius
float hic = dht.computeHeatIndex(t, h, false);
//Affichages :
Serial.print("Humidite: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Indice de temperature: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
}
Résultat
Voila le résultat :