Добрый день подскажите пожалуйста, правильно ли я код написал? Код (C++): #include "DHT.h" // Подключение библиотеки датчика влажности и температуры #define DHTPIN 5 // Cигнальный выход датчика подключен к 6 пину // выбор используемого датчика #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE); //инициализация датчика DHT int sens = 2;//устанавливаем датчик света на 2 пин... int relepin = 6; //Определяем для вентилятора пин 6... int dhtmax=53; int dhtminim=50; unsigned long currentTime;//переменные для времени unsigned long loopTime; //Блок настроек, выполняется однократно void setup() { // Начало инициализации блока Serial.begin(9600); currentTime = millis(); // считываем время loopTime = currentTime; pinMode(sens, INPUT);//устанавливаем значение нашего датчика света, как вход pinMode(relepin, OUTPUT);//устанавливаем значение нашего датчика вентиляции, как выход // Запускаем ход чаов } // Основной блок программы, выполняется бесконечно, циклично void loop() { // Начало инициализации блока int h = digitalRead(5); int dsens = digitalRead(sens); //переменная для считывания показаний с датчика света Serial.print(h); if (dsens==1 && h>=dhtmax)//если свет выключен, то проверяем состояние датчика влажности и если оно превышает 53% { digitalWrite(relepin, HIGH); //включаем вентилятор } if (dsens==0 && h>=dhtmax)//если включили свет и влажность по прежнему > 53%, то... { currentTime = millis(); // считываем время if(currentTime >= (loopTime + 60000*3) && dsens==0)//ставим условие: если через 3 мин свет включен то... { digitalWrite(relepin, LOW);//выключаем реле. } else if (currentTime < (loopTime + 60000*3) && dsens==1)//в противном случае если свет выключили раньше 3 мин то... { digitalWrite(relepin, HIGH);//включить реле } } else if (h<=dhtminim)//если влажность меньше 50%, то... { digitalWrite(relepin, LOW);//выключаем реле. } }
h всегда будет либо 1, либо 0, других значений у digitalRead не бывает, поэтому дальнейшее h>=dhtmax не сработает как задумано. Посмотри в примерах к библиотеке DHT как правильно получать значения для h и что прописывать в setup/