Les cookies assurent le bon fonctionnement de nos services. En utilisant ces derniers, vous acceptez l'utilisation des cookies. En savoir plus

Jeux de reflexe

Sauvegarder: 0 J'aime

Partager:

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 : 1€

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
}

Sources :


Sauvegarder: 0 J'aime

Partager:

Recevez une fois par mois les meilleurs tutoriels Déco dans votre boîte mail


Ces tutoriels devraient vous plaire

Du papier qui pousse
Thé hanté pour halloween
Bouillotte Sèche avec du riz

Nathan ADIESSY

Suivre

Vues: 42
J'aime: 0

Découvrez d'autres tutoriels de

Nathan ADIESSY

Jeux de reflexe