// библиотека для работы с датчиком DHT21 #include // номер цифрового пина реле #define RELAY_PIN A0 // задаём минимальное и максимальное значение #define MIN_LEVEL 40 #define MAX_LEVEL 60 // создаём объект класса DHT21 и передаём номер пина к которому подключён датчик DHT dht(4, DHT21); // переменная для хранения состояния работы вентилятора bool state = false; // переменная для хранения показателя влажности окружающей среды float humidity; void setup(){ // открываем последовательный порт для мониторинга действий в программе Serial.begin(9600); // начало работы с датчиком DHT21 dht.begin(); // назначаем 13 пина в режим выхода pinMode(RELAY_PIN, OUTPUT); } void loop() { // считывание данных с датчика dht.read(); switch (dht.getState()) { // всё OK case DHT_OK: // считываем показания влажности с датчика humidity = dht.getHumidity(); break; // если ошибка выводим в порт«Err» default: Serial.println("ERR"); break; } if (humidity > MAX_LEVEL && !state){ // включаем реле digitalWrite(RELAY_PIN, HIGH); state = true; } if (humidity < MIN_LEVEL && state) { // выключаем реле digitalWrite(RELAY_PIN, LOW); state = false; } Serial.println(humidity); // ждём 2 секунды delay(2000); }