Problemas con un sketch cuando reinicio el Arduino UNO

Buenas,

Tengo un servidor web con un pagina que tiene 2 opciones ON / OFF la idea es prender un bombillo desde el Arduino UNO, al Arduino le tengo conectado un relé el cual prende cuando ejecuto un sketch que me funciona perfectamente cuando abro el IDE Arduino, subo el sketch para que quede grabado en el chip y luego voy a la pagina, si oprimo ON o OFF el relé prende perfectamente pero el problema viene cuando apago el Arduino o lo reinicio porque voy a la pagina, oprimo ON ó OFF y el Arduino lee el sketch (parpadea los leds de Rx, Tx y L) pero el relé no hace ningúna función, ni prende ni apaga ni emite el sonido que los relés normalmente emiten cuando están funcionando, la única forma que el relé funciona otra vez es cuando entro de nuevo al IDE Arduino le doy subir al sketch y así no debería de ser.

Agrego: El Arduino lo estoy manejando desde un Raspberry Pi el cual ya tiene instalado todos los paquetes de Arduino y los permisos que este necesita.

Si alguien conoce la razón por la cual no funciona les agradecería la ayuda.

Aqui dejare el sketch que estoy usando:

int option; // suponemos conectado el led al pin 12 int led = 12; void setup(){ Serial.begin(9600); pinMode(led, OUTPUT); }

void loop(){ //si existe datos disponibles los leemos if(Serial.available()>0){ //leemos la opcion enviada option=Serial.read(); if(option=='0') { digitalWrite(led, LOW); Serial.println("OFF"); } if(option=='1') { digitalWrite(led, HIGH); Serial.println("ON"); } } }

Hola, que tal.

Primero que todo tu código no esta colocado según las normas del foro y se encuentra ilegible, por favor coloca los "Tags" correspondientes.

Aparentemente el código esta bien, pero prefiero esperar a que corrijas su presentación y antes de poder pensar en alguna causa me gustaría respondieras las siguientes preguntas.

¿ El relé tiene puesto el diodo en paralelo a la bobina? ¿ Qué tan lejos se encuentra el relé del Arduino? ¿ Raspberry Pi y el Arduino están conectados por sus puertos seriales con level shifter o directamente pin a pin? ¿ Es necesario usar un arduino para activar/desactivar el relé si puedes hacerlo directamente desde un GPIO de Raspberry?

Saludos

int option;
// suponemos conectado el led al pin 12
int led = 12;
void setup(){
   Serial.begin(9600);
   pinMode(led, OUTPUT);
}

void loop(){
 //si existe datos disponibles los leemos
 if(Serial.available()>0){
   //leemos la opcion enviada
   option=Serial.read();
   if(option=='0') {
       digitalWrite(led, LOW);
       Serial.println("OFF");
   }
   if(option=='1') {
       digitalWrite(led, HIGH);
       Serial.println("ON");
   }
 }
}

Si, el rele tiene el led y la bobina en paralelo. Están muy cerca maso menos a unos 10-20 cm. El raspberry y el arduino esta conectado directamente pin a pin. Ps creo que no siempre es necesario pero en este caso si porque el proyecto consiste en encender el bombillo desde el raspoberry usando el arduino.