De la boucle loop? on ne peut pas vraiment, il faut que le microcontrôleur fasse quelque chose. Il ne peut pas ne rien faire. Pour lui demander de ne rien faire, on l'enferme dans une autre boucle dont il ne peut sortir. En général;
while(true);
C'est à dite "tant que true est vrai, tu recommence".
Setup est exécuté une fois. Puis loop est exécutée en boucle. Si tu veux que ton programme ne s'exécute qu'une seule fois, met le dans le setup, ou met le while(true)
olivier_pecheux:
De la boucle loop? on ne peut pas vraiment, il faut que le microcontrôleur fasse quelque chose. Il ne peut pas ne rien faire. Pour lui demander de ne rien faire, on l'enferme dans une autre boucle dont il ne peut sortir. En général;
while(true);
C'est à dite "tant que true est vrai, tu recommence".
Setup est exécuté une fois. Puis loop est exécutée en boucle. Si tu veux que ton programme ne s'exécute qu'une seule fois, met le dans le setup, ou met le while(true)
si la boucle for n ' est pas dans la loop , pour interrompre il faut placer un break ;
un truc comme ca :
for ( byte i = 0; i < 10; i++ ) {
Serial.print (i);
if ( i == 5 ) break;
}
J'ai essayé, le "break" fait sortir de la boucle for quand "i==5" mais ré-entre de nouveau dans la boucle for.
J'aimerais avoir un boucle for qui se répète juste une fois ou un équivalent, je peux peu être en prenant l'exemple ci-dessus, ajouter à chaque ligne +1 jusqu'à que la valeur atteigne 10 avant de stagner à 10 sans repartir à zéro ?
Tu sors de la boucle for quand la condition limite est atteinte. Dans ton premier programme tu sors quand fadeValue devient >255. Il n'y a rien d'autre à faire.
Le problème c'est que comme la boucle for est dans la loop() elle est exécutée indéfiniment. Si tu veux l'exécuter qu'une seule fois mets la sans le setup()
karistouf:
Il vaut mieux que tu crées deux fonctions hors de la loop: un Fade IN, un Fade Out, que tu appelleras depuis ta boucle principale avec des conditions.
Je pense que c'est la meilleure façon, merci de votre aide je vais essayer de me débrouiller.
//////////////////// mettre la boucle for EN DESSOUS de cette ligne : void setup () {
void setup() {
// put your setup code here, to run once:
//// ICI
for ( byte i = 0; i < 10; i++ ) {
Serial.print (i);
if ( i == 5 ) break;
}
//// ICI
}
//////////////////// mettre la boucle for EN DESSUS de cette ligne : void loop () {
void loop() {
// put your main code here, to run repeatedly:
}
si là tu ne comprends pas ce que tout le monde dis depuis le depart , je pense que ca va etre compliqué pour la suite , ni quoi ecrire pour te faire comprendre !!!
Comme une boucle while c'est quasi la même chose qu'une boucle for , votre code ci-dessus a exactement le même effet que votre code de votre premier post.