Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int estadoAnterior1=0;
- int estadoAnterior2=0;
- int cont=0;
- struct myMillis{
- unsigned long offset = 0;
- unsigned long get(){
- return millis() - offset;
- }
- void reset(){
- offset=millis();
- }
- void set(unsigned long value){
- offset = millis() - value;
- }
- };
- myMillis MM;
- void setup(void) {
- Serial.begin(9600);
- pinMode(5 , INPUT); //boton 1
- pinMode(6, INPUT); // boton 2
- }
- void loop(void) {
- int btn1= digitalRead(5);
- int btn2= digitalRead(6);
- if(btn1!=estadoAnterior1){ //Si hay un cambio de estado, entramos en el if
- if(btn1==0){
- cont++; //Aumentamos en una unidad la cuenta
- Serial.println(cont); //Imprime el valor por consola
- }
- }
- estadoAnterior1=btn1; //guardamos el estado actual del pulsador para la siguiente iteración
- if(btn2!=estadoAnterior2){ //Si hay un cambio de estado, entramos en el if
- if(btn2==0){
- cont++; //Aumentamos en una unidad la cuenta
- Serial.println(cont); //Imprime el valor por consola
- }
- }
- estadoAnterior2=btn2; //guardamos el estado actual del pulsador para la siguiente iteración
- if(cont==3){ // Si se presionaron los botones 3 veces entre los dos...
- if (MM.get() > 5000) { // Si pasaron los 5 segundos...
- Serial.println("pasaron los 5 segundos"); // Imprime
- cont=0; // Se inicializa el contador. (esta parte depende si se continua o no el programa)
- MM.reset(); // reseteo el millis().
- }
- }
- if(cont==10){
- cont=0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement