====== Sonde température et humidité sur Arduino ======

{{ electronique:arduino:dht11_arduinouno_lcd.jpg?nolink&800 |}}

===== Materiel utilisé =====

<WRAP group>
<WRAP third column>
  * Arduino Nano
</WRAP>

<WRAP third column>
  * sonde de température et d'humidité DHT11
</WRAP>

<WRAP third column>
  * écran graphique LCD 2x16 avec bus I2C
</WRAP>
</WRAP>


===== Code =====
 

Le code suivant permet d'afficher les informations relevées sur la sonde DHT11.

Pour cela j'utilise les méthodes ''dht.readHumidity()'' et ''dht.readTemperature()'' de la bibliothèque ''DHT''.
La fonction ''isnan'' (is Not A Number) permet de faire connaitre une défaillance en cas d'une lecture non numérique des valeurs.

<code c>
#include <Adafruit_Sensor.h>

#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h> 


#define DHTPIN 7
#define DHTTYPE DHT11 

DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27,16,2); // affecter l'adresse à 0x27 pour 16 caractères et 2 lignes d'affichage
int tim = 1000; //valeur d'attente


void setup()
{
  lcd.init(); //initialiser le LCD
  lcd.backlight(); //allumer le LCD
  lcd.setCursor(0,0);
  lcd.print("dht11_test");
  lcd.setCursor(0,1);
  lcd.print("version 20161203");
  delay(5 * tim); //attendre
  lcd.clear();
  
  Serial.begin(9600);
  dht.begin();

}

void loop()
{
  float h = dht.readHumidity(); // lire la valeur de l'humidité
  float t = dht.readTemperature(); :: lire la valeur de la température
  if (isnan(t) || isnan(h)) { // vérifier le présence d'une valeur numérique
    lcd.setCursor(0,0);
    lcd.println("Failed to read  ");
    lcd.setCursor(0,1);
    lcd.println("from DHT11    ");
  } else {  
    lcd.setCursor(0,0);
    lcd.print("Temp.   ");
    lcd.print(t);
    lcd.print(" *C");
    lcd.setCursor(0,1);
    lcd.print("Humidi. ");
    lcd.print(h);
    lcd.print(" %");
  }

  delay(tim);
}
//
// END OF FILE
//
</code>


===== Bibliographie =====

Capteur de pression 
  * http://www.diopter.fr/index.php/technique/electro-numerique/43-capteur-de-pression-et-arduino

Autre réalisation avec la sonde DHT11
  * https://www.carnetdumaker.net/articles/utiliser-un-capteur-de-temperature-et-dhumidite-dht11-dht22-avec-une-carte-arduino-genuino/

Sonde  de température DS18B20
  * https://www.carnetdumaker.net/articles/mesurer-une-temperature-avec-un-capteur-1-wire-ds18b20-et-une-carte-arduino-genuino/

Comparatif des sondes DHT 11 et 22
  * https://learn.adafruit.com/dht/overview

Kit SunFounder
  * https://www.sunfounder.com/learn/Sensor-Kit-v2-0-for-Arduino/lesson-11-humiture-detection-sensor-kit-v2-0-for-arduino.html


Amazon
  * sonde DHT 22 - https://www.amazon.fr/gp/product/B00AZG1RBK/ref=ox_sc_act_title_2?ie=UTF8&psc=1&smid=A3I826466U8R8A