Mesure de température et d'humidité : Différence entre versions

De Wiki L.A.B
Aller à : navigation, rechercher
 
(2 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
===== Matériel =====
+
==== [[Mesure de Température et d'humidité]] ====
* Arduino Uno
+
{{:Mesure de Température et d'humidité}}
* Plaque d'essai (breadbord)
+
* Capteur DHT11 ou DHT22
+
* Résistance 4,7kΩ 1/4W (si besoin)
+
* Straps ou fils de liaison
+
 
+
===== Montage =====
+
[[Fichier:DHT11_Fritzing.png|sans_cadre|Montage DHT11|600px]]
+
[[Fichier:DHT11_schéma.png|sans_cadre|Montage DHT11|300px]]
+
 
+
===== Programme =====
+
<br />
+
 
+
Voici le programme qu'il faut éditer dans l'IDE Arduino, puis compiler et charger dans la carte Arduino. Il utilise une librairie.<br />
+
 
+
Pour télécharger la librairie : [http://playground.arduino.cc/Main/DHT11Lib DHT11]
+
<br />
+
 
+
<syntaxhighlight lang="cpp" enclose="div">
+
/*
+
  Ce met en œuvre un capteur de température et humidité DHT11 (ou DHT22)
+
  les valeurs mesuréres sont affichées dans le moniteur série
+
*/
+
#include "DHT.h" // inclusion de la librairie DHT
+
#define DHTPIN 2 // la borne data du capteur est branchée sur la broche 2
+
#define DHTTYPE DHT11 //#define DHTTYPE DHT22 (pour un capteur DHT22)
+
DHT dht(DHTPIN, DHTTYPE); // on indique la broche et le type de capteur
+
float h = 0; // initialisation de la variable h (virgule flottante)
+
float t = 0; // initialisation de la variable h (virgule flottante)
+
void setup() // setup est déroulé une seule fois après la remise à zéro
+
{
+
  Serial.begin(115200); // initialisation de la liaison série à 115200 bauds
+
  dht.begin(); // initialisation du capteur
+
}
+
 
+
void loop() // loop est déroulé indéfiniment
+
{
+
  h = dht.readHumidity(); // lecture de la valeur de l'humidité
+
  t = dht.readTemperature(); // lecture de la valeur de la température
+
  if (isnan(t) || isnan(h)) Serial.println( "Lecture impossible !"); // test erreur
+
  else
+
  {
+
  Serial.print("Humidite :");  // affichage message
+
  Serial.print(h);            // affichage valeur humidité
+
  Serial.print(" %\t");
+
  Serial.print("Temperature :");// affichage message
+
  Serial.print(t);              // affichage valeur température
+
  Serial.println(" *C");
+
  }
+
delay(1000); // attente 1 seconde
+
}  
+
</syntaxhighlight>
+
 
+
[[Catégorie:Formation_Arduino]]
+
[[Catégorie:Jour 1]]
+

Version actuelle en date du 3 janvier 2016 à 12:40

Mesure de Température et d'humidité

Matériel
  • Arduino Uno
  • Plaque d'essai (breadbord)
  • Capteur DHT11 ou DHT22
  • Résistance 4,7kΩ 1/4W (si besoin)
  • Straps ou fils de liaison
Montage

Montage DHT11 Montage DHT11

Programme


Voici le programme qu'il faut éditer dans l'IDE Arduino, puis compiler et charger dans la carte Arduino. Il utilise une librairie.

Pour télécharger la librairie : DHT11

/*
  Ce met en œuvre un capteur de température et humidité DHT11 (ou DHT22)
   les valeurs mesuréres sont affichées dans le moniteur série
*/
#include "DHT.h" // inclusion de la librairie DHT
#define DHTPIN 2 // la borne data du capteur est branchée sur la broche 2
#define DHTTYPE DHT11 //#define DHTTYPE DHT22 (pour un capteur DHT22)
DHT dht(DHTPIN, DHTTYPE); // on indique la broche et le type de capteur
float h = 0; // initialisation de la variable h (virgule flottante)
float t = 0; // initialisation de la variable h (virgule flottante)
void setup() // setup est déroulé une seule fois après la remise à zéro
{
  Serial.begin(115200); // initialisation de la liaison série à 115200 bauds
  dht.begin(); // initialisation du capteur
}

void loop() // loop est déroulé indéfiniment
{
  h = dht.readHumidity(); // lecture de la valeur de l'humidité
  t = dht.readTemperature(); // lecture de la valeur de la température
  if (isnan(t) || isnan(h)) Serial.println( "Lecture impossible !"); // test erreur
  else
  {
   Serial.print("Humidite :");  // affichage message
   Serial.print(h);             // affichage valeur humidité
   Serial.print(" %\t");
   Serial.print("Temperature :");// affichage message
   Serial.print(t);              // affichage valeur température
   Serial.println(" *C");
  }
 delay(1000); // attente 1 seconde
}