Compteur de boucle comment faire ? Je suis bloqué !

Salut Salut ! :)

Je suis actuellement en train de débuter dans l'univers de l'arduino Uno, et de ce fait je suis en train de me distraire en faisant clignoter des leds dans la fonction "void loop" et avec les "digitalWrite" et les "delays". Ce qui fait que ma boucle tourne en boucle ...(Wouah bravo t'es intelligent toi non !?) Mais ce que j'aimerais bien faire c'est qu'on compte le nombre de boucle pour qu'a quand j'arrive a 5 boucles de faites celle ci s’arrête ( la première boucle), et une autre boucle s'active et tourne elle aussi 5 fois puis s’arrête et la première boucle reprend le relais etc etc.... de ''façon infinie''

Donc voila j'avoue que je suis bloqué je sais pas comment faire, j'ai eu beau chercher sur Google/YouTube et je n'ai pas trouvé mon bonheur Hélas :(

Donc j’espère que vous pourriez m'aider a résoudre ce problème de "débutant" je présume xD Voila,Voila j’espère recevoir quelques réponses pouvant m'aider ! A bientôt ! :p

bonjour,
rien de compliqué
compteur = 0
loop
si compteur < 6
boucle
si compteur == 5
boucle
compteur++

autre solution
for (int compteur = 0 ; compteur <6; compteur++)
cligno led
fin du for

for (int compteur1 = 0 ; compteur1 <6; compteur1++)
cligno led 2
fin for

etc…

Merci pour vos réponses ! d'accord mais je ne sais pas vraiment comment utiliser ces fonctions là :/

Ca c'est ma 1ere boucle :

digitalWrite (6,HIGH); digitalWrite (2,LOW); delay(80); digitalWrite (2,HIGH); digitalWrite (3,LOW); delay(80); digitalWrite (3,HIGH); digitalWrite (4,LOW); delay(80); digitalWrite (4,HIGH); digitalWrite (5,LOW); delay(80); digitalWrite (5,HIGH); digitalWrite (6,LOW); delay(80);

Et voici la 2nde :

digitalWrite (6,LOW); digitalWrite (2,HIGH); delay(80); digitalWrite (2,LOW); digitalWrite (3,LOW); delay(80); digitalWrite (3,LOW); digitalWrite (4,HIGH); delay(80); digitalWrite (4,LOW); digitalWrite (5,HIGH); delay(80); digitalWrite (5,LOW); digitalWrite (6,HIGH); delay(80);

Du coup c'est censé donner quoi si j'utilise les compteurs ? pour que ca alterner entre 5xBoucle 1; 5xboucle 2, 5xBoucle 1; 5xboucle 2 .....?

tu pourrais chercher un peu quand même :wink:

if (compteur < 6 ){
digitalWrite (6,HIGH);
  digitalWrite (2,LOW);
  delay(80);
  digitalWrite (2,HIGH);
  digitalWrite (3,LOW);
  delay(80);
  digitalWrite (3,HIGH);
  digitalWrite (4,LOW);
  delay(80);
  digitalWrite (4,HIGH);
  digitalWrite (5,LOW);
  delay(80);
  digitalWrite (5,HIGH);
  digitalWrite (6,LOW);
  delay(80);
compteur++;
}

if (compteur == 5 && compteur < 11){
 digitalWrite (6,LOW);
  digitalWrite (2,HIGH);
  delay(80);
  digitalWrite (2,LOW);
  digitalWrite (3,LOW);
  delay(80);
  digitalWrite (3,LOW);
  digitalWrite (4,HIGH);
  delay(80);
  digitalWrite (4,LOW);
  digitalWrite (5,HIGH);
  delay(80);
  digitalWrite (5,LOW);
  digitalWrite (6,HIGH);
  delay(80);
compteur++;
}
if(compteur == 10) compteur =0;

D'accord ! :o tous simplement effectivement oui mais ca ne marchais pas j'ai tester mais je comprenais pas le système de compteur +++ ! ^^

Juste petit bémols on me dis que "'compteur' was not declared in this scope"

faut peut être apprendre les bases

int compteur = 0;

void setup

void loop

Mdr merci et bien je le sais maintenant xD faut dire qu'ils m'ont appris à allumer des Leds mais pas a déclarer des variables au lycée :'c

iDoOteX: Mdr merci et bien je le sais maintenant xD faut dire qu'ils m'ont appris à allumer des Leds mais pas a déclarer des variables au lycée :'c

et les exemples dans l'ide, ils servent à quoi? ca sent un projet bac ton truc.

Oui c’est ca ::slight_smile: , mais je compte continuer la dedans après en parallèle de mes études, mais c’est compliqué a apprendre seul quand on connait pas grand choses :confused:

Du coup là ca tourne mais y’a que la 1ere boucle qui se fait puis a la 2eme ca reste figé sur tout les leds sont allumés sauf celle du pin 6 : :roll_eyes:

int compteur = 0;
void setup() {
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
   digitalWrite(2,LOW);
   digitalWrite(3,LOW);
   digitalWrite(4,LOW);
   digitalWrite(5,LOW);
   digitalWrite(6,LOW);
   delay(2000);
   digitalWrite(2,HIGH);
   digitalWrite(3,HIGH);
   digitalWrite(4,HIGH);
   digitalWrite(5,HIGH);
   digitalWrite(6,HIGH);
   delay(700);
   digitalWrite(2,LOW);
   digitalWrite(3,LOW);
   digitalWrite(4,LOW);
   digitalWrite(5,LOW);
   digitalWrite(6,LOW);
   delay(700);
   digitalWrite(2,HIGH);
   digitalWrite(3,HIGH);
   digitalWrite(4,HIGH);
   digitalWrite(5,HIGH);
   digitalWrite(6,HIGH);
   delay(700);
   digitalWrite(2,LOW);
   digitalWrite(3,LOW);
   digitalWrite(4,LOW);
   digitalWrite(5,LOW);
   digitalWrite(6,LOW);
   delay(700);
   digitalWrite(2,HIGH);
   digitalWrite(3,HIGH);
   digitalWrite(4,HIGH);
   digitalWrite(5,HIGH);
   digitalWrite(6,HIGH);
   delay(700);
   digitalWrite(2,LOW);
   digitalWrite(3,LOW);
   digitalWrite(4,LOW);
   digitalWrite(5,LOW);
   digitalWrite(6,LOW);
   delay(300);
}

void loop() {

  digitalWrite (6,HIGH);
  digitalWrite (2,LOW);
  delay(80);
  digitalWrite (2,HIGH);
  digitalWrite (3,LOW);
  delay(80);
  digitalWrite (3,HIGH);
  digitalWrite (4,LOW);
  delay(80);
  digitalWrite (4,HIGH);
  digitalWrite (5,LOW);
  delay(80);
  digitalWrite (5,HIGH);
  digitalWrite (6,LOW);
  delay(80);
  compteur++;
}

if (compteur == 5 && compteur < 11){
  digitalWrite (6,LOW);
  digitalWrite (2,HIGH);
  delay(80);
  digitalWrite (2,LOW);
  digitalWrite (3,HIGH);
  delay(80);
  digitalWrite (3,LOW);
  digitalWrite (4,HIGH);
  delay(80);
  digitalWrite (4,LOW);
  digitalWrite (5,HIGH);
  delay(80);
  digitalWrite (5,LOW);
  digitalWrite (6,HIGH);
  delay(80);
  compteur++;
}
if(compteur == 10) compteur =0;
}

regardes bien ton code et analyse le un peu mieux :) tu as oublié un truc et fermé le } du loop juste après

 delay(80);
  compteur++;

donc le reste est comme du commentaire et non inclus dans le code