90 lines
2.4 KiB
Markdown
90 lines
2.4 KiB
Markdown

|
|
|
|
## Materiel utilisé
|
|
- Arduino Nano
|
|
|
|
- sonde de température et d'humidité DHT11
|
|
|
|
- écran graphique LCD 2x16 avec bus I2C
|
|
|
|
## 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.
|
|
|
|
```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
|
|
*
|
|
```
|
|
|
|
## 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 |