ACTIVIDAD ARD.MILI.1.- Tiempo de reacción un jugador

Para este reto necesitas conectar a la placa cuatro leds y un pulsador.

Monta los leds y el pulsador de manera que los cuatro leds se enciendan secuencialmente de manera cíclica. Ordena los leds físicamente en una línea vertical. Realiza la lectura del pulsador cada vez que se produzca un cambio en la activación de uno de los leds.

Analiza lo que pasa y responde a las siguientes preguntas:

¿ Que hace la función parpadea_y_mira_pulsador ( pin_led, tiempo, pin_pulsador) ?
¿ Que valores devuelve la función parpadea_y_mira_pulsador ( pin_led, tiempo, pin_pulsador) ?
Si el pulsador se pulsa cuando únicamente cuando está activado el led de más a la derecha ¿ qué ocurre ?
Si el pulsador se pulsa cuando está activado alguno de los otros leds, ¿ qué ocurre ?










////////////////////////////////////////////////////// ////// DECLARACIONES Y DEFINICIONES GENÉRICAS //////// ////////////////////////////////////////////////////// // Constantes de pines #define PIN_DEL_PULSADOR 5 // Entrada digital del pulsador #define PIN_DEL_LED1 2 // Salida digital del led1 #define PIN_DEL_LED2 3 // Salida digital del led2 #define PIN_DEL_LED3 4 // Salida digital del led3 // Declaración de variables y objetos globales int valor_dig_del_pulsador = 0 ; //[num 0-1] int valor_dig_para_led1 = 0 ; //[num 0-1] int valor_dig_para_led2 = 0 ; //[num 0-1] int valor_dig_para_led3 = 0 ; //[num 0-1] int led_actual = PIN_DEL_LED1; void activa3(int valor) { digitalWrite( PIN_DEL_LED1 , valor ); digitalWrite( PIN_DEL_LED2 , valor ); digitalWrite( PIN_DEL_LED3 , valor ); delay(1000); } void activa_led_y_muestrea_pulsador( int pin_actual) { digitalWrite( pin_actual , 1 );delay(300); digitalWrite( pin_actual , 0 );delay(300); valor_dig_del_pulsador = digitalRead( PIN_DEL_PULSADOR ); // valor_dig_del_pulsador es un 0 o un 1 if (valor_dig_del_pulsador==1 ){ if( pin_actual==PIN_DEL_LED2){ activa3(1); } else { activa3(0); } } } ////////////////////////////////////////////////////// ////////// DEFINICIÓN DE LA INICIALIZACIÓN ////////// ////////////////////////////////////////////////////// void setup( ) { // pinMode de los pines digitales de salida. pinMode( PIN_DEL_LED1 , OUTPUT ); pinMode( PIN_DEL_LED2 , OUTPUT ); pinMode( PIN_DEL_LED3 , OUTPUT ); } // fin de la definición de la función de INICIALIZACIÓN setup( ) ////////////////////////////////////////////////////// ////////////// DEFINICIÓN DEL PROGRAMA /////////////// ////////////////////////////////////////////////////// void loop( ) { activa_led_y_muestrea_pulsador(led_actual); led_actual++; activa_led_y_muestrea_pulsador(led_actual); led_actual++; activa_led_y_muestrea_pulsador(led_actual); led_actual=PIN_DEL_LED1; } // fin de definición de la función de PROGRAMA loop( )