#include "DHT.h"
//Connecter la broche 2 du capteur à votre DHTPIN
#define DHTPIN 2
#define DHTTYPE DHT22
// Inclure le code de la bibliothèque:
#include <LiquidCrystal_I2C.h>
// Initialiser la bibliothèque avec les dimensions de l'interface
LiquidCrystal_I2C lcd(0x27, 20, 4);
// Initialisation du capteur DHT.
DHT dht(DHTPIN, DHTTYPE);
char buffer[20];
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
// Initialisation de l'interface LCD
lcd.init();
// Active le rétro-éclairage du LCD
lcd.backlight();
}
void loop() {
// Attendre quelques secondes entre les mesures.
delay(1000);
// La mesure de la température ou de l'humidité prend environ 250 millisecondes !
// Les mesures du capteur peuvent également remonter jusqu'à 2 secondes (c'est un capteur très lent).
// Lit l'humidité et stock ça valeur dans h au format float.
float h = dht.readHumidity();
// Lire la température en degrés Celsius (valeur par défaut) et stock ça valeur dans t au format float.
float t = dht.readTemperature();
// Vérifiez si des lectures ont échoué et quittez plus tôt (pour réessayer).
if (isnan(h) || isnan(t)) {
Serial.println(F("Echec de la lecture à partir du capteur DHT!"));
return;
}
Serial.print(F("Humidité: "));
Serial.print(h);
Serial.print(F("% Température: "));
Serial.print(t);
Serial.println(F("°C "));
//LCD//////////////
// placer le curseur sur la colonne 4, ligne 0
// (note : la ligne 0 est la première ligne, puisque le comptage commence par 0):
lcd.setCursor(4, 0);
// Imprime un message
lcd.print ("Temperature");
// placer le curseur sur la colonne 6, ligne 1
lcd.setCursor(6, 1);
// Imprime la température en degrés Celsius qui est stockée dans t
lcd.print(t);
// ETC...
lcd.setCursor(12, 1);
lcd.print((char)223);
lcd.setCursor(13, 1);
lcd.print("C");
lcd.setCursor(5, 2);
lcd.print ("Humidite");
lcd.setCursor(6, 3);
lcd.print(h);
lcd.setCursor(13, 3);
lcd.print("%");
}