/*
Se desea hacer un programa que mida el ancho de pulso de un pulsador.
Es decir, deseamos medir cuánto tiempo permanece en estado pulsado.
El pulsador se conecta en el pin N°2. Debe informarse dicho resultado
por monitor serie.
*/
unsigned long tiempoActual = 0;
unsigned long tiempoInicio = 0;
bool apreto = false;
const int pulsador = 22;
void setup() {
pinMode(pulsador, INPUT_PULLUP);
Serial.begin(9600);
}
void loop()
{
if(digitalRead(pulsador) == LOW) {
tiempoInicio = millis();
apreto = true;
while(digitalRead(pulsador) == LOW) {
tiempoActual = millis();
}
}
if(apreto == true) {
Serial.print("El tiempo de presionado fue: ");
Serial.print((tiempoActual - tiempoInicio) / 1000);
Serial.println(" segundos");
apreto = false;
}
delay(10);
}