1 // Ce programme sert à faire le chasse-led
2 int led[4]={8,9,10,11}; //Déclaration des pattes des leds
3 int bp[4]={2,3,4,5}; //Déclaration des pattes des boutons poussoirs
4 //Déclaration et initialisation des variables globales servant pour la suite du code
5 int initLed = 0;
6 int i;
7 int randnumber ;
8 int tirage = 0;
9 int compteur;
10 int score;
11
12 void setup(){ //Fonction permettant d'initialiser le matériel (leds et boutons poussoir)
13
14 Serial.begin(9600); //Indique que Arduino se situe sur le port usb 9600
15 for(i=0;i<4;i++){ //Boucle parcourant toutes les variables de 0 à 3
16 pinMode(bp[i], INPUT); //Indique que le bouton poussoir est une entrée
17 pinMode(led[i],OUTPUT); //Indique que les leds sont des sorties
18 digitalWrite(led[i],LOW); //On met les leds au niveau bas (elles sont eteintes au depart)
19 digitalWrite(bp[i],HIGH); //On met les boutons poussoirs au niveau haut
20 }
21
22 compteur=0; //Initialisation du compteur à 0
23 }
24
25 void loop(){
26 if (initLed == 0) { //Premier passage dans la fonction loop
27 randnumber=random(0,4); //Déclaration d'un premier nombre aléatoire de 0 à 3
28 digitalWrite(led[randnumber],HIGH); //Met la led correspondant au numéro aléatoire au niveau haut
29 Serial.println("valeur aleatoire:"); //Affiche "valeur aléatoire :" dans le terminal
30 Serial.println(randnumber,DEC); //Affiche dans le terminal le numéro aleatoire
31 compteur = compteur + 1; //incrémentation du compteur
32 initLed =1; //Indique que le programme est déjà lancé pour ne plus aller dans ce test
33 tirage = 1; //Permet d'aller au test suivant
34 delay(500); //Attente d'une demi seconde (500 = 500ms)
35 }
36
37 if (tirage == 1 ){ //Deuxième test valide si on a passé le premier test
38 if(digitalRead(bp[randnumber])==LOW){ //Regarde si le bouton poussoir associé a la led est active
39 Serial.println("valeur du compteur:"); //Affiche "valeur du compteur :" dans le terminal
40 Serial.println(compteur,DEC); //Affiche la valeur du compteur dans le terminal
41 digitalWrite(led[randnumber],LOW); //Éteint la led quand on a appuyé sur le bp (bp=bouton poussoir)
42 randnumber=random(4); //Cherche un autre nombre aléatoire
43 digitalWrite(led[randnumber],HIGH); //Allume la led correspondant a ce nouveau nombre
44 compteur = compteur + 1; //Incrémente le compteur
45 Serial.println("valeur aleatoire:"); //Affiche "valeur aléatoire :" dans le terminal
46 Serial.println(randnumber,DEC); //Affiche dans le terminal le numéro aléatoire
47 delay(500); //Attente d'une demi seconde
48 }
49
50 else if ( digitalRead(bp[(randnumber+1)%4])==LOW){
51 // ce code semble incomplet ?
52 }
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #