Hola:
Si cargo este programa en el Arduino, me funciona bien pero si le quito alimentacion y se la vuelvo meter ya no va.
Con otros programas no me pasa eso, es decir, me guarda el programa aunque le quite alimentacion. Solo me falla con la funcion pulsein
El programa es:
#define TcortoMin 100
#define TcortoMax 250
#define TlargoMin 1000
#define TlargoMax 2000
#define Tdelay 150
const byte led = 13;
const byte boton = 2;
unsigned long timeout1 = 3000;
unsigned long timeout2 = 3000;
unsigned long timeout3 = 5000;
unsigned long duracion = 0;
void setup(){
Serial.begin(9600);
pinMode(led, OUTPUT);
pinMode(boton, INPUT);
}
void loop(){
duracion = pulseIn(boton, HIGH, timeout1*1000 )/1000;
if (duracion){
Serial.print("Se ha pulsado durante ");
Serial.print(duracion );
Serial.println(" ms");
if (duracion > TcortoMin && duracion < TcortoMax) {
Serial.println("La duracion entra en margen 1");
delay (Tdelay);
duracion = pulseIn(boton, HIGH, timeout2*1000)/1000;
if (duracion){
Serial.print("Se ha pulsado por segunda vez durante ");
Serial.print(duracion );
Serial.println(" ms");
if (duracion > TcortoMin && duracion < TcortoMax) {
Serial.println("La duracion entra en margen 2");
delay (Tdelay);
duracion = pulseIn(boton, HIGH, timeout3*1000) /1000;
if (duracion){
Serial.print("Se ha pulsado por tercera vez durante ");
Serial.print(duracion );
Serial.println(" ms");
if (duracion > TlargoMin && duracion < TlargoMax){ //si la duración esta entre los valores establecidos
Serial.println("Pulsacion LARGA. Encendemos LED");
digitalWrite (led, HIGH); //encender led
delay (3000); //retardo de 3 segundos
digitalWrite (led, LOW); //apagamos el led
} else Serial.println("Duracion no valida. Salimos!");
}else Serial.println(" No se ha pulsado. Salimos!");
}else Serial.println("Duracion no valida. Salimos!");
}else Serial.println("Salimos");
}else Serial.println("Duracion no valida. Salimos!");
}//else Serial.println(" No se ha pulsado. Salimos!");
}
Lo curioso es que juraria que antes no me hacia esto, es decir, que tengo cargado este programa, deconectar y conectar Arduino y todo bien.
No se porque ahora me hace esto. Y lo curioso que solo con este programa.
Alguna idea?