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
}

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

Calendrier de l’avent !
Un Sac à dos Lapinou
Calendrier de l’Avent

Nathan ADIESSY

Suivre

Vues: 58
J'aime: 0

Découvrez d'autres tutoriels de

Nathan ADIESSY