unsigned long tiempoAnterior = 0; // Variable para almacenar el tiempo anterior
unsigned long intervalo = 1000000; // Intervalo de 1 segundo en milisegundos
unsigned long contadorSegundos = 0; // Contador de segundos
boolean contar = false; // Bandera para indicar si se debe contar
void setup() {
Serial.begin(9600); // Iniciar la comunicación serial
Serial.println("hola");
}
void loop() {
if (Serial.available() > 0) {
char comando = Serial.read(); // Leer el comando ingresado por el usuario
if (comando == 'c' || comando == 'C') {
// Si se ingresa 'c' o 'C', habilitar el contador
contar = true;
tiempoAnterior = micros(); // Reiniciar el tiempo anterior
contadorSegundos = 0; // Reiniciar el contador de segundos
Serial.println("Contador habilitado. Ingrese la cantidad de segundos a contar:");
}
}
if (contar) {
unsigned long tiempoActual = micros(); // Obtener el tiempo actual en milisegundos
// Verificar si ha pasado 1 segundo desde la última vez
if (tiempoActual - tiempoAnterior >= intervalo) {
contadorSegundos++; // Incrementar el contador de segundos
tiempoAnterior = tiempoActual; // Actualizar el tiempo anterior
// Mostrar el contador de segundos en el puerto serial
Serial.print("Segundos transcurridos: ");
Serial.println(contadorSegundos);
}
}
// Tu código adicional aquí
// Ejemplo: si deseas realizar alguna otra acción mientras se cuenta, puedes hacerlo aquí.
}