/ 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//
}