ACTIVIDAD ARD.ALEAT.1.- Juego del Tiempo de reacción con espera aleatoria

Analiza el siguiente programa y conecta dos pulsadores, un led rojo y un led verde a la placa arduino.
Pasa el programa a la placa y observa su funcionamiento.
Se trata de un juego.

Responde a las siguientes preguntas:
¿ Que led está enciendido al iniciar el juego?
¿ Cuándo se apaga este led y se enciende el otro?
¿ Quién gana el juego ?
¿ Cómo sabemos quien gana ?

Posteriormente modificalo para que el tiempo de espera sea un valor aleatorio entre 3 y 6 segundos




///////////////////////////////////////
////// BLOQUE DE DECLARACIÓN //////////
///////////////////////////////////////

// #defines de la shell que estemos utilizando
#define D0 11
#define D1 10
#define D2 9
#define D3 6
#define D4 5
#define D5 3
// #defines genéricos
#define APAGADO 0
#define ENCENDIDO 1
#define SALIDA 1
// #defines de los pines usados
#define PIN_LED_ROJO D1
#define PIN_LED_VERDE D2
#define PIN_PULSADOR_J1 D3
#define PIN_PULSADOR_J2 D4

/////////////////////////////////////////
////// BLOQUE DE INICIALIZACIÓN /////////
/////////////////////////////////////////

void setup() {

  pinMode(PIN_LED_ROJO , SALIDA);
  pinMode(PIN_LED_VERDE , SALIDA);
  // aqui puedes usar randomSeed(analogRead(A2));

} // fin de void setup()

////////////////////////////////////////
////// BLOQUE DE PROGRAMA //////////////
////////////////////////////////////////

void loop() {

  // Enciende los dos leds
  digitalWrite(PIN_LED_ROJO , ENCENDIDO);
  digitalWrite(PIN_LED_VERDE , ENCENDIDO);

  // Espera un tiempo aleatorio
  int tiempo = 3000;
  delay(tiempo);

  // Apaga los dos leds
  digitalWrite(PIN_LED_ROJO , APAGADO);
  digitalWrite(PIN_LED_VERDE , APAGADO);


  // Comienza un bucle de espera hasta que el pulsador sea presionado
  int valor_pulsado_j1 = 0;
  int valor_pulsado_j2 = 0;
  while (valor_pulsado_j1 == 0 && valor_pulsado_j2 == 0 ) {
    valor_pulsado_j1 = digitalRead(PIN_PULSADOR_J1 );
    valor_pulsado_j2 = digitalRead(PIN_PULSADOR_J2 );
    delay(50);
  } // fin del bucle while



  // Discrimina cual es el jugador que ha pulsado
  // en caso contrario se enciende el led verde

  if (valor_pulsado_j1 == ENCENDIDO) {

    digitalWrite(PIN_LED_ROJO , ENCENDIDO);
    digitalWrite(PIN_LED_VERDE , APAGADO);

  } else {

    digitalWrite(PIN_LED_ROJO , APAGADO);
    digitalWrite(PIN_LED_VERDE , ENCENDIDO);

  }

  // espera 5 segundos para comenzar una nueva partida.
  delay(5000);


} // fin de void loop()