Дальше в IDE добавляешь новую вкладку , называешь ralgoritm , и копируешь в неё свой код.Только надо убрать всё что связано с WiFi . компа под рукой нет - проверить не могу ((.
PS Посмотри как ser009 дописал вкладку Авторегулирования. Где то здесь. ))
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
void ravtoregWork(){
if(digitalRead(pirPin) == HIGH ) //если сигнал с датчика высокого уровня(т.е. есть движение)
{
if(light == 0) //и если свет не был включен
{
for(int i=0; i<=150; i++) //то плавно включаем свет
{
analogWrite(fadePin, i);
delay(100); //каждые 10мс увелияение на 1
}
light = 1; //и передаем значение переменной, что свет включен
}
}
else //иначе
{
if(light == 1) //если свет включен
{
for(int i=150; i>=0; i--)//плавно гасим его
{
analogWrite(fadePin, i);
delay(100);
}
light = 0; //и передаем значение переменной, что свет выключен
}
}
int sensorVal = analogRead(rainSensor);
Serial.print(sensorVal);
if(sensorVal < sensortrigger){
Serial.println("Water Detected!");
digitalWrite(dryLED, LOW);
digitalWrite(rainLED, HIGH);
}
else {
Serial.println("No Water Detected!");
digitalWrite(rainLED, LOW);
digitalWrite(dryLED, HIGH);
}
delay(750);
Serial.print(" Requesting temperatures...");
sensors.requestTemperatures(); // запрос на получение данных
Serial.println("DONE");
Serial.print("Temperature for Device 1 is: ");
Serial.print(sensors.getTempCByIndex(0)); // получаем температуру и печатаем
}
На работе скомпилить не могу. Если код компилится - то по идее и работать должен. Как состояние передать в МД - тут надо придумать имя переменной light . Сам тяжело разбираюсь в программировании ((.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ledstrip:14: error: 'modulLedstrip' does not name a type
pirs.ino: In function 'void pirsWorks()':
pirs.ino:136:19: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
pirs.ino:139:32: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
pirs.ino:150:23: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
pirs.ino:153:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
rtemp.ino: In function 'void getTemperature(byte)':
rtemp.ino:124:83: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
rtemp.ino:128:84: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
На ворнинги не смотри. Вообще оптимальный вариант для компиляции - использовать драйвера 2.4.0 - r1. Скорость возрастет вывода на страницу. Но это после отладки.
-
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
А вообще хорошая тема. У меня на DUE 6 пиров и 5 реле. Со страницы все управляется и отображается. Есть вкладка авторегулирования для одного реле по времени, в ручную , а вот по датчику не получается. Если срабатывает условие - реле переключается в другое состояние и тут же возвращается в исходное состояние. Так и не победил.
В идеале хочется какой то код для привязки датчиков к реле. Иначе даже тупую вытяжку не сделать - если влажность превысила порог - включи вентилятор.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
serghei писал(а):В идеале хочется какой то код для привязки датчиков к реле. Иначе даже тупую вытяжку не сделать - если влажность превысила порог - включи вентилятор.
void vitagka(){ // функцию добавляем в loop (твой код есть только для 32)
if(hum > 60) { digitalWrite(27, HIGH); } // если влажность выше 60% включаем реле сидящее на gpio27
if(hum < 50) { digitalWrite(27, LOW); } // если влажность ниже 50% выключаем
}
eGorka писал(а): Пт июл 13, 2018 9:34 pm
Или надо совсем изощрённо-извращённо?
Таки да и уже есть , но не работает . ser009 предоставил код , работает со страницы. Выбор срабатывания реле по времени , вручную по нажатию на экран. А вот по условию влажности не хочет. Выставляю верхнею и нижнею границы. Запоминаю. При превышению значения реле начинает бешено переключаться.