byte flag=0; int ledState = 0; int interval = 1000; long previousMillis = 0; int rele = 8; int led = 13; int mode = 5; //int pulsador = ... ; //int clock_pin = 8; //int clock_gnd = 9; byte val = 0x00; void setup() { Serial.begin(19200); pinMode(rele, OUTPUT); pinMode(mode, INPUT); pinMode(led, OUTPUT); // pinMode(mode, INPUT); // pinMode(clock_pin, OUTPUT); // pinMode(clock_gnd, OUTPUT); digitalWrite(rele, LOW); digitalWrite(mode, HIGH); digitalWrite(led, HIGH); // digitalWrite(mode, HIGH); // digitalWrite(clock_gnd, LOW); // digitalWrite(clock_pin, HIGH); // delay(100); // digitalWrite(clock_pin, LOW); } void loop() { /* if (!digitalRead(pulsador)) { Serial.print(0, BYTE); // activado } else if (digitalRead(pulsador)) { Serial.print(1, BYTE); // desactivado } */ if (!digitalRead(mode)) { if (millis() - previousMillis > interval) { previousMillis = millis(); if (ledState == LOW) ledState = HIGH; else ledState = LOW; Serial.write(2); // modo automatico digitalWrite(led, ledState); delay(1000); } } else if (digitalRead(mode)) { Serial.write(3); // modo manual digitalWrite(led, HIGH); delay(1000); } if(Serial.available() > 0) { val = Serial.read(); if (val == 0x10) digitalWrite(rele,HIGH); else if (val == 0x20) digitalWrite(rele, LOW); // else if (val==0x30) // { // digitalWrite(clock_pin, HIGH); // delay(100); // digitalWrite(clock_pin, LOW); // } } }