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();
}
а так тоже можно?