// Définition des constantes et variables utilisées
const int Rouge_led= 4;
const int Verte_led = 3;
const int CAPTEUR_TEMP_HUMIDITE = A0;
const int INTERV_MESURE = 5000; // Intervalle de 5 secondes entre chaque mesure
float temp;
float hum;
unsigned long derniereMesure = 0;
// Boucle d'initialisation
void setup() {
pinMode(Rouge_led, OUTPUT);
pinMode(Verte_led, OUTPUT);
digitalWrite(Rouge_led, LOW);
digitalWrite(Verte_led, LOW);
Serial.begin(9600);
}
// Boucle de fonctionnement
void loop() {
unsigned long tempsActuel = millis();
// Mesure la température et l'humidité à chaque intervalle défini
if (tempsActuel - derniereMesure >= INTERV_MESURE) {
derniereMesure = tempsActuel;
int valeurCapteur = analogRead(CAPTEUR_TEMP_HUMIDITE);
temp = (valeurCapteur / 1024.0) * 500.0; // Conversion de la valeur en degrés Celsius
hum = (temp - 25.0) * 0.01; // Calcul de l'humidité en pourcentage
Serial.print("Température : ");
Serial.print(temp);
Serial.print(" °C, Humidité : ");
Serial.print(hum);
}
// Actualise l'état des LEDs en fonction des valeurs mesurées
if (temp > 20.0) {
digitalWrite(Rouge_led, HIGH);
Serial.println("LED rouge allumée");
} else {
digitalWrite(Rouge_led, LOW);
Serial.println("LED rouge éteinte");
}
if (hum > 30.0) {
digitalWrite(Verte_led, HIGH);
Serial.println("LED verte allumée");
} else {
digitalWrite(Verte_led, LOW);
Serial.println("LED verte éteinte");
}
delay(100);
}