#include <DHT.h>
#include <LiquidCrystal.h>
// Définition des broches pour les capteurs DHT
#define DHTPIN1 A0
#define DHTPIN2 A1
#define DHTPIN3 A2
#define DHTTYPE DHT22 // Définir le type de capteur DHT
DHT dht1(DHTPIN1, DHTTYPE);
DHT dht2(DHTPIN2, DHTTYPE);
DHT dht3(DHTPIN3, DHTTYPE);
const long interval = 5000; // Intervalle de 5 secondes en millisecondes
// Initialisation de l'afficheur LCD
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
unsigned long previousMillis = 0; // pour stocker la dernière fois que l'événement a été exécuté
void setup() {
Serial.begin(9600);
// Initialisation des capteurs DHT
dht1.begin();
dht2.begin();
dht3.begin();
// Initialisation de l'écran LCD
lcd.begin(16, 2);
Serial.println("Démarrage du système de mesure...");
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis; // enregistrer le moment de la dernière mesure
// Lecture des valeurs de chaque capteur DHT22
float humidity1 = dht1.readHumidity();
float temperature1 = dht1.readTemperature();
float humidity2 = dht2.readHumidity();
float temperature2 = dht2.readTemperature();
float humidity3 = dht3.readHumidity();
float temperature3 = dht3.readTemperature();
// Affichage des données sur l'écran LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("T1:");
lcd.print(temperature1);
lcd.print(" H1:");
lcd.print(humidity1);
lcd.setCursor(0, 1);
lcd.print("T2:");
lcd.print(temperature2);
lcd.print(" H2:");
lcd.print(humidity2);
// Affichage sur le moniteur série
Serial.println("Données des capteurs :");
Serial.print("Temp1: ");
Serial.print(temperature1);
Serial.print("C, Humid1: ");
Serial.print(humidity1);
Serial.println("%");
Serial.print("Temp2: ");
Serial.print(temperature2);
Serial.print("C, Humid2: ");
Serial.print(humidity2);
Serial.println("%");
Serial.print("Temp3: ");
Serial.print(temperature3);
Serial.print("C, Humid3: ");
Serial.print(humidity3);
Serial.println("%");
// Delay temporaire juste pour la visualisation, peut être supprimé dans le cas d'une utilisation réelle
delay(1000);
}
}