Curso de Arduino y Robótica para automatizar tus inventos
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 ?
///////////////////////////////////////
////// BLOQUE DE DECLARACIÓN //////////
///////////////////////////////////////
// #defines de los pines usados
#define PIN_LED_ROJO 10
#define PIN_LED_VERDE 9
#define PIN_PULSADOR_J1 6
#define PIN_PULSADOR_J2 5
/////////////////////////////////////////
////// BLOQUE DE INICIALIZACIÓN /////////
/////////////////////////////////////////
void setup() {
pinMode(PIN_LED_ROJO , OUTPUT);
pinMode(PIN_LED_VERDE , OUTPUT);
} // fin de void setup()
////////////////////////////////////////
////// BLOQUE DE PROGRAMA //////////////
////////////////////////////////////////
void loop() {
// Enciende los dos leds
digitalWrite(PIN_LED_ROJO , HIGH);
digitalWrite(PIN_LED_VERDE , HIGH);
// Espera un tiempo aleatorio
int tiempo = 3000 ;
delay(tiempo);
// Apaga los dos leds
digitalWrite(PIN_LED_ROJO , LOW);
digitalWrite(PIN_LED_VERDE , LOW);
// 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 == HIGH) {
digitalWrite(PIN_LED_ROJO , HIGH);
digitalWrite(PIN_LED_VERDE , LOW);
} else {
digitalWrite(PIN_LED_ROJO , LOW);
digitalWrite(PIN_LED_VERDE , HIGH);
}
// espera 5 segundos para comenzar una nueva partida.
delay(5000);
} // fin de void loop()
Copyright © 2015 - Todos los derechos reservados - Arduino Inventor
Plantilla : OS Templates