Para la proxima un par de consejos:
Los esquemas de Fritzing son sinceramente horribles para entender un esquema.
Intenta tu entender que dice ahí, yo no puedo.
No puede ampliarse el esquema y por lo tanto no se puede ver donde esta conectado qué?
Se puede suponer y con algún buen tiempo detectar que era aca y allá pero.. estamos para ayudar no para estar haciendo del Sherlock.
Perdona mi crítica pero .... llevo varios minutos para responder algo que con 2 minutos estaría.
Tu código además no esta comentado asi que de nuevo a deducir por los pines y lo que dice.
Algo tan simple como decir:
OptoDetector conectado a pin tal.
esto mira. yo he resuelto basado en lo que deduje que estan acá.
const byte BotonPin = 0;
const byte optoPin = 5;
const byte relePin = 2;
Para mi el RELE asi como esta conectado no funciona pero ya nos diras.
Los reles de 5V conectados a 3.3V no funcinan bien, suelen ponerse a vibrar.
Como debe ir conectado tmb esta explicado en el foro y en Documentación =>Indice de temas tutoriales
Ahora te paso un pequeño código con los pines conectados a los GPIOXX
cuando digo 0 es
GPIO0 o sea D3
GPIO2 o sea D4
GPIO5 o sea D1
const byte BotonPin = 0; // GPIO0 o sea D3
const byte optoPin = 5; // GPIO5 o sea D1
const byte relePin = 2; // GPIO2 o sea D4
bool opto, optoAnt = false; // variable para estado del sensor 220VAC. optoAnt para conocer cambios
bool status, statusAnt = false; // variable de estado del pulsador conectado entre GND y pin D3
void setup() {
pinMode(relePin, OUTPUT);
pinMode(optoPin, INPUT);
pinMode(BotonPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
opto = digitalRead (5);
if (opto != optoAnt)
Serial.println(opto?"ON":"OFF");
optoAnt = opto;
delay(1000); // si no pongo una pausa se llena la pantalla del Monitor Serie.
status = digitalRead(BotonPin);
if (status && !statusAnt) {
estado != estado;
}
if (estado)
digitalWrite(relePin, LOW); // activo RELE
else
digitalWrite(relePin, HIGH); // desactivo RELE
}
con este código veras el estado del sensor ON OFF que debería coincidir con la lampara.
Tambien presionando en el boton conectado a D3 podras activar/desactivar el RELE y por ende la lámpara pero si no conectas debidamente el RELE, asi como lo veo en tu esquema fallará.