AlexLPD:
Lo que tu buscas esta en un ejemplo: dentro de la IDE de Arduino, BlinkWithoutDelay.
Eso lo se pero no consigo implementarlo pero consegui que se apague cuando conteo llega a 6000, pero no consigo que se repita de nuevo cuando pulso, solo puedo cuando lo reinicio.
Yo hago que cuando llega a mas de 6000 apague el led y resetee la variable conteo, lo hace porque lo comprobe pero no vuelve a contar al darle al boton. No se si es por las variables de estado o salida, el codigo lo dejo para que lo veais:
#define boton 2
int led = 6;
int leds = 3;
int estado = 0;
int estadoAN = 0;
int salida = 0;
int salidaAN;
unsigned long conteo;
unsigned long tempOn = 6000;
void setup() {
// put your setup code here, to run once:
pinMode(boton, INPUT_PULLUP);
pinMode(led, OUTPUT);
pinMode(leds, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
estado = digitalRead(boton);
if((estado == 1)&&(estadoAN == 0)){
salida = 1 - salida;
}
estadoAN = estado;
if(salida == 0){
digitalWrite(led, HIGH);
digitalWrite(leds, HIGH);
conteo = millis();
if ((conteo >= tempOn)){
digitalWrite(led, LOW);
digitalWrite(leds, LOW);
conteo = 0;
salida = 1 - salida;
}else{
digitalWrite(led, HIGH);
digitalWrite(leds, HIGH);
}
}
else{
digitalWrite(led, LOW);
digitalWrite(leds, LOW);
}
}