Jeux de reflexe

image principale Jeux de reflexe

Difficulté:

Bonjour à tous! Grâce à ce tutoriel vous allez pouvoir voir une idée de ce que l'on peut faire avec une carte Arduino. Voici ci-dessous les règles.

 Chaque joueur qui appuie le premier sur son bouton après un signal (sonore ou lumineux) gagne 1 point. Les joueurs doit enfoncer en moins de 5 secondes. 

  •  Un joueur appuyant avant le signal est pénalisé des 2 points (-2 pts). Un signal lumineux ou sonore indique la fin du tour et marque le début du tour suivant. 
  •  La partie est terminée quand un joueur atteint 10 points. 
  •  Au reset, les joueurs recommencent une partie (prévoir un bouton pour le reset) 
  •  Les points de chaque joueur peuvent s'afficher sur une afficheur 7 segments et être envoyé par le port série à une application Processing pour affichage.

Matériel :

Budget : Non défini

Etape 1 : Matériel necessaire

Matériel : boutons (1 par joueur), LED, afficheur 7 segments (1 par joueur), bouton de reset 


Etape 2 : Fonction de tirage pseudo aléatoire sur Arduino

Voici ci-dessous le code qui va nous permettre de génerer des nombres aléatoires et de les afficher:


long randNumber;

void setup(){
  Serial.begin(9600);

  // if analog input pin 0 is unconnected, random analog
  // noise will cause the call to randomSeed() to generate
  // different seed numbers each time the sketch runs.
  // randomSeed() will then shuffle the random function.
  randomSeed(analogRead(0));
}

void loop() {
  // print a random number from 0 to 299
  randNumber = random(300);
  Serial.println(randNumber);

  // print a random number from 10 to 19
  randNumber = random(10, 20);
  Serial.println(randNumber);

  delay(50);
}

Etape 3 : Allumage de LED

void setup() {
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, INPUT);
  pinMode(10, INPUT);
}

void loop() {
  digitalWrite(12, LOW);    // set the LED off
  digitalWrite(13, LOW);    // set the LED off
  int t = random(1,9);
  delay(t*1500);
  digitalWrite(12, HIGH);   // set the LED on

  int s1 = 0;
  int s2 = 0;
  while (!s1 && !s2) {
  s1=digitalRead(11);  //
  s2=digitalRead(10);  //
  }

  if(s1 && !s2) {
    digitalWrite(13, HIGH);   // set the LED on
    digitalWrite(12, LOW);   // set the LED off
  }
  else if(!s1 && s2) {
    digitalWrite(13, LOW);   // set the LED off
    digitalWrite(12, HIGH);   // set the LED on
  }else {
    digitalWrite(13, HIGH);   // set the LED on
    digitalWrite(12, HIGH);   // set the LED on
  }
  delay(2000);              // wait for a second
}

Ces tutoriels devraient vous plaire

vignette Arduino et Porte automatique de poulailler
Arduino et Porte automatique de poulailler
vignette Comment fabriquer son filament pour imprimante 3D
Comment fabriquer son filament pour imprimante 3D
vignette fabrication de circuits imprimés facile
fabrication de circuits imprimés facile
avaatar Nathan ADIESSY

Nathan ADIESSY

Suivre

Vues: 501
Mis en favoris: 0

Découvrez d'autres tutoriels de

Nathan ADIESSY

Découvrez tous les tutoriels partagés sur Oui Are Makers

Powered by Oui Are Makers