Différences entre versions de « Arduino DHT11 »

De The Linux Craftsman
Aller à la navigation Aller à la recherche
Ligne 12 : Ligne 12 :
 
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
int sensorPin = A0;
+
#define DHTPIN 8
int sensorValue = 0;
+
// de-commenter le capteur utilise
void setup() {
+
#define DHTTYPE DHT11 // DHT 11
  Serial.begin(9600);
+
//#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() {
+
 
  // Lit la valeur du capteur
+
void loop(){
   sensorValue = analogRead(sensorPin);
+
delay(2000);
  Serial.print(F("LDR value: "));
+
// Lecture des valeurs:
  Serial.println(sensorValue);
+
// Hygrometrie
  delay(1000);
+
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>

Version du 5 octobre 2016 à 08:02

Partie électronique

Le composant

Le DHT11 ressemble à ceci:

DHT11.jpg

Ce composant permet de mesurer la température ainsi que l'humidité.

Le montage

DHT11 diagram.jpg

Partie logicielle

Récupérer la luminosité

Voila un exemple qui affiche la valeur de la température ainsi que l'humidité

#include "DHT.h"
// PIN data du DHT
#define DHTPIN 8
// 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 :

Arduino LDR temp reading serial.png