surbyte:
Olvida a Blynk. Conecta todo en un simple código con una entrada digital y que te diga ON OFFComo si fuera un pulsador.
Cuando funcione me dices si funciona como supongo con estados estables para 220 o nada o si da pulsos.
#define BLYNK_PRINT Serial
#include <Blynk.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SPI.h>
#include <SimpleTimer.h>
char auth[] = "xxxxx";
char ssid[] = "xxxxx";
char pass[] = "xxxxx";
SimpleTimer timer;
int BotonRele = 0;
int opto;
BLYNK_WRITE(V5) {
BotonRele = param.asInt();
}
void setup() {
pinMode(2, OUTPUT);
pinMode(5, INPUT);
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
timer.setInterval(2000L, activacion);
}
void loop() {
opto = digitalRead (5);
Blynk.run();
timer.run();
}
void activacion() {
if(BotonRele==1){
digitalWrite(2, HIGH);
if (opto==1){
Blynk.setProperty(V5,"onLabel", "ON");
}
else if (BotonRele==0){
digitalWrite(2, LOW);
if (opto==0){
Blynk.setProperty(V5,"offLabel", "OFF");
}
}
}
}
Tengo esto, pero ya digo, soy un manco con el código y necesito ayuda con el mismo.
Con esto no leo el opto ni cambia el botón, sin el código para leer el opto el programa funciona bien para apagar y encender la luz desde la aplicación.