ENIB 2022 C : tape taupe lumineux : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Code)
Ligne 19 : Ligne 19 :
 
* Support en bois
 
* Support en bois
  
==Code==
+
// Fily Gabin, Pistoresi Dorian, Lapous Rémi
<pre>
+
// Ce programme sert à faire le tape taupe lumineux
ici je pose mon code documenté !
+
 
</pre>
+
const int Led[6] = {2,3,4,5,6,7};  //Led sur les sorties digitales 2,3,4,5,6,7
 +
const int B[6]={8,9,10,11,12,13};  //Boutons sur les sorties digitales 8,9,10,11,12,13
 +
const int Bstart = A0;              //Bouton de départ sur la sortie A0
 +
int BSval;                          //Valeur bouton de départ
 +
int start = 0;                      //Variable du début du jeu
 +
int i;                              //Utile pour l'initialisation
 +
int score = 0;                      //Score du joueur
 +
int randnumber;                    //Nombre aléatoire
 +
long lastTimer;                    //Timer commençant quand le jeu commence
 +
int led_delay = 600;              //Délai d'une minute
 +
 
 +
void setup() { //fonction d'initialisation de la carte
 +
  //contenu de l'initialisation
 +
Serial.begin(9600);                //Indique que Arduino se situe sur le port usb 9600
 +
pinMode(Bstart,INPUT_PULLUP);      //Indique que le bouton poussoir est une entrée
 +
for(i=0;i<6;i++){                  //Boucle parcourant toutes les variables de 0 à 5
 +
      pinMode(B[i], INPUT);        //Indique que le bouton poussoir est une entrée
 +
      pinMode(Led[i],OUTPUT);      //Indique que les leds sont des sorties
 +
      digitalWrite(Led[i],LOW);    //On met les leds au niveau bas (elles sont eteintes au depart)
 +
      digitalWrite(B[i],HIGH);      //On met les boutons au niveau haut
 +
}
 +
}
 +
 
 +
void loop(){
 +
 
 +
  if (start==0){                                //Si le jeu n'a pas commencé
 +
    BSval = analogRead(Bstart);                //Lis la valeur analogique du bouton de départ
 +
    if(BSval<200){                              //Si le bouton est actionné
 +
      start = 1;                                //Le jeu peut commencer
 +
    }
 +
  }
 +
 
 +
 
 +
if ((start == 1)&&(score<30)){
 +
 
 +
    randnumber = random(0,5);                //Choisis un nombre aléatoire entre 0 et 6
 +
     
 +
    while (digitalRead(B[randnumber])==1){    //Si le bouton correspondant au numéro choisit aléatoirement est au repos
 +
      digitalWrite(Led[randnumber],HIGH);  //On allume la LED correspondant au bouton
 +
    }
 +
    digitalWrite(Led[randnumber],LOW);        //Quand on sort de la boucle, on éteint la LED correspondante
 +
    delay(100);                              //Délai de 0.1 seconde pour reprendre son souffle
 +
    score = score + 1;                      //On incrémente le score de 1
 +
    Serial.println(score);
 +
  }
 +
if (score==30){                            //Si la partie est finie
 +
  start = 0;                               
 +
  score = 0;                                //On reset le score
 +
}
 +
}
  
 
==Catégories==
 
==Catégories==
  
 
[[Catégorie:Enib2022]]
 
[[Catégorie:Enib2022]]

Version du 17 janvier 2022 à 15:34

photo de l'équipe

Photoenib2018.jpg

présentation synthétique du tape taupe lumineux

Le principe du jeu tape taupe lumineux est le suivant: une des 6 leds s'allument aléatoirement, le participant doit appuyer le plus rapidement possible sur le bouton correspondant à cette led.
Le but étant d'appuyer sur le plus de boutons possible en 15 secondes. Le jeu commence lorsque le joueur appuie sur le bouton du milieu.

Membres du groupe

Fily Gabin
Lapous Rémi
Pistoresi Dorian

Liste des composants

  • Uno mini
  • 6 leds
  • 7 boutons poussoirs
  • Support en bois

// Fily Gabin, Pistoresi Dorian, Lapous Rémi // Ce programme sert à faire le tape taupe lumineux

const int Led[6] = {2,3,4,5,6,7}; //Led sur les sorties digitales 2,3,4,5,6,7 const int B[6]={8,9,10,11,12,13}; //Boutons sur les sorties digitales 8,9,10,11,12,13 const int Bstart = A0; //Bouton de départ sur la sortie A0 int BSval; //Valeur bouton de départ int start = 0; //Variable du début du jeu int i; //Utile pour l'initialisation int score = 0; //Score du joueur int randnumber; //Nombre aléatoire long lastTimer; //Timer commençant quand le jeu commence int led_delay = 600; //Délai d'une minute

void setup() { //fonction d'initialisation de la carte

  //contenu de l'initialisation
Serial.begin(9600);                //Indique que Arduino se situe sur le port usb 9600
pinMode(Bstart,INPUT_PULLUP);      //Indique que le bouton poussoir est une entrée
for(i=0;i<6;i++){                  //Boucle parcourant toutes les variables de 0 à 5
     pinMode(B[i], INPUT);        //Indique que le bouton poussoir est une entrée
     pinMode(Led[i],OUTPUT);       //Indique que les leds sont des sorties
     digitalWrite(Led[i],LOW);     //On met les leds au niveau bas (elles sont eteintes au depart)
     digitalWrite(B[i],HIGH);      //On met les boutons au niveau haut
}

}

void loop(){

 if (start==0){                                //Si le jeu n'a pas commencé
   BSval = analogRead(Bstart);                 //Lis la valeur analogique du bouton de départ
   if(BSval<200){                              //Si le bouton est actionné
     start = 1;                                //Le jeu peut commencer
   }
 }


if ((start == 1)&&(score<30)){
   randnumber = random(0,5);                 //Choisis un nombre aléatoire entre 0 et 6
     
   while (digitalRead(B[randnumber])==1){    //Si le bouton correspondant au numéro choisit aléatoirement est au repos
      digitalWrite(Led[randnumber],HIGH);   //On allume la LED correspondant au bouton
   }
   digitalWrite(Led[randnumber],LOW);        //Quand on sort de la boucle, on éteint la LED correspondante
   delay(100);                               //Délai de 0.1 seconde pour reprendre son souffle
   score = score + 1;                       //On incrémente le score de 1
   Serial.println(score);
 } 
if (score==30){                             //Si la partie est finie
 start = 0;                                
 score = 0;                                 //On reset le score
}

}

Catégories