Arduino Tutorial 19: Contar hasta 10

Vamos a realizar un sencillo juego que consiste en contar mentalmente 10 segundos. Para ello solo vamos a necesita:

 

Esquema

esquema contar hasta 10

 

Antes de empezar el juego, hay que abrir el Monitor Serial. Después hay que pulsar el pulsador y empezar a contar mentalmente 10 segundos. Cuando conteis 10 segundos, hay que volver a pulsar el pulsador. En el Monitor Serial aparecerá si hemos contado menos, más o 10 segundos exactos.


Código

const int botonPin = 2;     // PIN para el botón
const int ledPin =  13;     // PIN para el LED
static int tiempo;      // variable que recoge tiempo. Se define como static para poder utilizarla fuera de bucles
int estadoBoton = 0;         // Estado del botón

void setup() {
  Serial.begin(9600); // Conecta con el Serial Monitor
  Serial.println("Pulsa el boton, cuenta mentalmente 10 segundos y clica de nuevo!");   // Frase de inicio del juego
  pinMode(ledPin, OUTPUT);  // indica que el LED es salida     
  pinMode(botonPin, INPUT); // indica que el botón es entrada
}

void loop(){
  estadoBoton = digitalRead(botonPin); // lee el estado del botón
  if (estadoBoton == HIGH) {    // si el botón es apretado
    digitalWrite(ledPin, HIGH); // el LED se enciende
    Serial.println("CONTANDO!"); // se indica que comienza la cuenta
    
    for (tiempo=0;tiempo<10000;tiempo=tiempo+100) { // bucle contador en décimas de segundo
      int segundoClick = digitalRead(botonPin); // se define segundoClick
      
      if (segundoClick==1 && tiempo>1000) {    // si hay segundoClick
        Serial.print("NO TE HAS PASADO DE 10, SOLO ");    // si pulsa el botón antes de llegar a 10 segundos...
        break; // se rompe el bucle
      };

      delay(100);
    };
    Serial.print("PASARON "); // ultimas frases indicando segundos contados
    Serial.print(tiempo/1000);
    Serial.println(" SEGUNDOS");
    Serial.println("--------------------");
    delay(1000);

    digitalWrite(ledPin, LOW); // se apaga el LED

    estadoBoton = LOW; // se reinicia el estado del botón a 0
  
  }
    
}

 

Guardar

Guardar

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *