BLYNK ESP9266 кнопки
- Войдите на сайт для отправки комментариев
Ср, 22/12/2021 - 15:51
Здравствуйте, совсем запутался.Есть ESP, к ней на пин 15 подключена кнопка. В приложении настроена кнопка V2. На выход GPIO2 подключено реле. Не получается сделать так, чтобы реле можно было управлять и с виртуальной кнопки V2 и с физической с пина 15, т.е нажал на V2-реле включилось, нажал на кнопку(пин 15)-реле выключилось, т.е 4 варианта включения выключения. Подсобите пожалуйста.
#define BLYNK_PRINT Serial #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #define OUT_2 2 // Выход реле СВЕТ GPIO2 #define VBUTTO_2 V2 // Виртуальная кнопка в приложении boolean State ; BlynkTimer timer; int state_esp; char auth[] = "111111111111111111111"; //вводим TOKEN из приложения // Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "111"; char pass[] = "11111111"; // Это первое подключение bool is_First_Connection = true; // Если устройство перезагрузилось то интерфейс в приложении нужно привести // в соответствии с базовыми настройками BLYNK_CONNECTED() { if (is_First_Connection) { Blynk.virtualWrite(VBUTTO_2, LOW); is_First_Connection = false; } } BLYNK_WRITE(VBUTTO_2) { ////КНОПКА ВКЛЮЧЕНИЯ СВЕТА V2 int State = param.asInt(); // От виртуальной нопки получаем Число Blynk.virtualWrite(VBUTTO_2, State); digitalWrite(OUT_2,State); } void setup() { pinMode(OUT_2, OUTPUT); pinMode(15, INPUT); digitalWrite(OUT_2, HIGH); Blynk.begin(auth, ssid, pass); delay(1200); } void loop() { state_esp = digitalRead(15); if (digitalRead(15) == state_esp ) //15 пин-это пин кнопки { digitalWrite(OUT_2, state_esp); Blynk.virtualWrite(VBUTTO_2, state_esp); } Blynk.run(); timer.run(); }
а так тоже можно?