Programa:
// Rodolfo E. Escobar U. // Facultad de Ciencias de la Electrónica, BUAP, México. int conta = 0; // Variable para el contador boolean lastButton = LOW; // Estado anterior boolean currentButton = LOW; // Estado actual void setup() { Serial.begin(9600); // Inicia comunicación serial pinMode(8,INPUT); //Pin 8 como una entrada (entrada de pulso) } boolean debounce(boolean last) // Función antirebote { boolean current = digitalRead(8); if (last != current) // Se verifica haya ocurrido un cambio de estado { delay(5); current = digitalRead(8); //Se vuelve a leer el pin después de un delay } return current; } void loop() { currentButton = debounce(lastButton); // Eliminación de rebote // Si hay cambio de estado en el botón if ( lastButton == LOW && currentButton == HIGH) { conta++; //Incrementa el contador Serial.println(conta); //Imprime el valor por consola delay (100); // Retardo } lastButton = currentButton; // Actualiza estado } //Fin programa
2 comentarios:
Me ha sido de mucha utilidad, gracias.
Saludos desde España
Excelente funciona a la perfección!!!! Gracias
Publicar un comentario