Problema al declarar funciones en Arduino

Hola!

Últimamente he tenido la necesidad de encontrar una manera de llamar una función mediante un Switch, pero no he encontrado ninguna viable para mi pequeño problema.

Bueno, aquí hice un pequeño programa, lamentablemente no funciona cómo yo quisiera.
La razón de este programa es de que al momento en que el Switch esté en HIGH. Se encienda el led de pin 13, tarde 1 seg. y llame a la función para apagar ese mismo led. Lo sé es inútil eso, más sin embargo quisiera hacerlo. Gracias por la atención.

int pinLed=13;
int pinSw=2;

int valorSw = 0;

void setup(){

pinMode(pinLed, OUTPUT);
pinMode(pinSw, INPUT);

}

void loop(){

valorSw = digitalRead(pinSw);

if (valorSw == HIGH){

digitalWrite(pinLed, HIGH);
delay(1000);
offt();
}
}

void offt(){

digitalWrite(pinLed, LOW);
delay(1000);
loop();
}
 
Atrás
Arriba