// 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 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 } }