/ Broche “DATA” du DHT11 */ const byte DHT11_PIN = 5; / Code d'erreur de la fonction readDHT11() */ enum {
DHT11_SUCCESS, //!< Pas d'erreur DHT11_TIMEOUT_ERROR, //!< Temps d'attente dépassé DHT11_CHECKSUM_ERROR //!< Données reçues erronées
};
/ Fonction setup() */ void setup() { /* Initialisation du port série */ Serial.begin(115200); } / Fonction loop() */ void loop() {
/* Variables d'usage */ byte temperature, humidity;
/* Lecture de la température et de l'humidité + gestion des erreurs */ switch (readDHT11(DHT11_PIN, &temperature, &humidity)) { case DHT11_SUCCESS: while((humidity>75 || humidity<55) && (temperature>25 || temperature<15)){ if (humidity > 75) { digitalWrite(LEDpin, HIGH) //LED rouge// } else if (humidity < 55) { digitalWrite(LEDpin, HIGH) //LED bleue// } else{ digitalWrite(LEDpin, HIGH) //LED verte// } if (temperature > 25) { digitalWrite(LEDpin, HIGH) //LED rouge// } else if (temperature < 15) { digitalWrite(LEDpin, HIGH) //LED bleue// } else{ digitalWrite(LEDpin, HIGH) //LED verte// } delay(3000) digitalWrite(LEDpin, LOW) digitalWrite(LEDpin, LOW) digitalWrite(LEDpin, LOW) digitalWrite(LEDpin, LOW) digitalWrite(LEDpin, LOW) digitalWrite(LEDpin, LOW) } if (humidity < 75 and humidity > 55) { digitalWrite(LEDpin, HIGH) //LED verte// } if (temperature > 15 and temperature < 25) { digitalWrite(LEDpin, HIGH) //LED verte// }