Code Arduino ayant servi, dans le cadre du projet ARE 2015, à tester les conditions de température et d'humidité afin de garantir le bon fonctionnement de l'éthylotest. Le code est dédié pour un capteur DHT11.
#include <dht.h>
#define dht_dpin A0
/ 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
};
void setup() {
/* Initialisation du port série */ Serial.begin(115200);
}
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:
while1){
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//
}