For (int x=0 ; x<3 ; x++)


bonjour à tous,
je suis tombé sur le tuto suivant et j'aimerais avoir quelques explications :

quote
int ledpin = 10 ;  // on crée une constante « ledpin » que l'on associe à la broche pin 10
voidsetup () {
pinmode (ledpin, outpout) ;  //on indique que la constante « ledpin » est une sortie
}
voidloop ()
//pour faire les 3 signaux courts
for (int x=0 ; x<3 ; x++) {
digitalwrite (ledpin, high) ;  //on laisse passer l'électricité et allume le pin de la broche 10
delay(150);  // on attend un délai de 150 millisecondes
digitalwrite (ledpin, low) ;  // on ne laisse pas passer l'électricité et éteint le pin de la broche 10
delay(100);  // on attend un délai de 100 millisecondes
}
// créer un delais entre les signaux courts et longs
delay(100);  // on attend un délai de 100 millisecondes
//pour faire les 3 signaux longs
for (int x=0 ; x<3 ; x++) {
digitalwrite (ledpin, high) ;  //on laisse passer l'électricité et allume le pin de la broche 10
delay(400);  // on attend un délai de 400 millisecondes
digitalwrite (ledpin, low) ;  // on ne laisse pas passer l'électricité et éteint le pin de la broche 10
delay(100);  // on attend un délai de 100 millisecondes
}
// créer un delais entre les signaux  longs et cours
delay(100);  // on attend un délai de 100 millisecondes
//pour faire les 3 signaux courts
for (int x=0 ; x<3 ; x++) {
digitalwrite (ledpin, high) ;  //on laisse passer l'électricité et allume le pin de la broche 10
delay(150);  // on attend un délai de 150 millisecondes
digitalwrite (ledpin, low) ;  // on ne laisse pas passer l'électricité et éteint le pin de la broche 10
delay(100);  // on attend un délai de 100 millisecondes
}
// créer un delais de 5 secondes avant de lancer la boucle et donc le sos
delay(5000);  // on attend un délai de 5000 millisecondes soit 5 secondes
a quoi sert le code (int x=0 ; x<3 ; x++), je pensait qu'il limitait la boucle à ne pas reboucler au début de ce code.

merci pour votre éclairage.

je sais pas où tu trouvé ce tuto mais il n'est pas des mieux écrits

une boucle s'écrit for(... ; ... ; ...) et pas for(... ; ... ; ...) (avec une majuscule)
déclarer le variable int x dans chaque boucle ne sert à rien
code: [select]

void loop() {
   int x;
   for(x=0, x<3; x++) {
      ...
      }
   for(x=0; x<3; x++) {
      ...
      }

passons.

code: [select]
for (int x=0 ; x<3 ; x++) {
digitalwrite (ledpin, high) ;  //on laisse passer l'électricité et allume le pin de la broche 10
delay(150);  // on attend un délai de 150 millisecondes
digitalwrite (ledpin, low) ;  // on ne laisse pas passer l'électricité et éteint le pin de la broche 10
delay(100);  // on attend un délai de 100 millisecondes
}


exécute 3 fois les lignes de code entre { et }

c'est valable pour les 3 boucles

mais comme loop() est une boucle qui se répète indéfiniment toutes les lignes contenues entre { et } après loop(), se répètent elles aussi indéfiniment

juste pour info : 3 signaux courts, 3 signaux longs, 3 signaux courts
en morse ça donne ...---...
qui est le signal de détresse sos


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > For (int x=0 ; x<3 ; x++)


arduino

Comments

Popular posts from this blog

Error compiling for board Arduino/Genuino Uno.

Installation database is corrupt

esp8266 (nodemcu 0.9) client.write très lent ???