#include <DHT.h>
#include <LiquidCrystal.h>
#define DHTPIN 14 // Broche de données du capteur DHT connectée à GPIO 4
#define DHTTYPE DHT22
#define LED_PIN 27 // Type de capteur (DHT11 ou DHT22 selon votre cas)
// Initialisation du capteur DHT
DHT dht(DHTPIN, DHTTYPE);
// Initialisation de l'écran LCD
LiquidCrystal lcd(2, 4, 5, 18, 19, 21); // Utilisation des broches RS, E, D4, D5, D6, D7 pour l'écran LCD
void setup() {
// Initialisation du port série
Serial.begin(9600);
// Initialisation de l'écran LCD
lcd.begin(20, 4); // Initialisation de l'écran LCD 16x2
// Initialisation du capteur DHT
dht.begin();
// Initialisation de la LED
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// Lecture de l'humidité relative
float humidity = dht.readHumidity();
// Lecture de la température en degrés Celsius
float temperature = dht.readTemperature();
// Vérifier si la lecture du capteur est valide
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Erreur de lecture du capteur DHT !");
return;
}
// Affichage sur le port série
Serial.print("Humidité : ");
Serial.print(humidity);
Serial.print(" %\t");
Serial.print("Température : ");
Serial.print(temperature);
Serial.println(" °C");
// Affichage sur l'écran LCD
lcd.setCursor(0, 0);
lcd.print("Temp.: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humid.: ");
lcd.print(humidity);
lcd.print(" %");
// Allumer la LED
digitalWrite(LED_PIN, HIGH);
delay(500); // Allumer pendant 500ms
// Éteindre la LED
digitalWrite(LED_PIN, LOW);
delay(500); // Éteindre pendant 500ms
delay(500); // Délai de rafraîchissement
}