Bonjour,
Je débute et je suis en train de jouer avec les variable et les boucles histoire d'apprendre les bases.
Je bute sur un détail ou je ne vois pas du tout comment faire.
Faire clignoter une led, c'est simple, a base de
digitalWrite(1,HIGH);
delay(1000)
digitalWrite(1,LOW);
delay(1000);
Mais si je fait ce code ça fonctionne, par contre si j'ai un code plus complexe, avec d'autre delay insérés par exemple, ça ne fonctionnera plus.
Comment je fait si par exemple je veux une sortie qui clignote en permanence ou suivant un événement dans le programme.
Merci de vos lumières.
Bonjour
Il ne faut pas/plus utiliser de delay
mais les Millis
@+
iznobe
October 11, 2019, 3:41pm
3
Salut logiquement le code que tu as donné est dans loop {
}
qui signifie en fait boucle ( infinie )
donc inutile de faire autrechose pour que ca clignote en fait :
en gros si tu fais void setup {
// definitions des pins , des variables , des constantes , des fonctions
}
puis void loop {
digitalWrite(1,HIGH);
delay(1000)
digitalWrite(1,LOW);
delay(1000);
}
ca clignote en permanence .
Salut logiquement le code que tu as donné est dans loop {
}
qui signifie en fait boucle ( infinie )
donc inutile de faire autre chose pour que ça clignote en fait :
Si je ne fait que ça oui, mais si j'ajoute du code et dans ce code il y a un autre delai, il va s'ajouter donc ça ne fonctionnera plus de la même façon.
Bonjour
Il ne faut pas/plus utiliser de delay
mais les Millis
https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
@+
Vais aller étudier ça.Merci
iznobe
October 11, 2019, 3:58pm
5
la fonction delay " bloque " le programme .
donc si tu veux ne pas bloquer ton execution de programme il faut effectivement utiliser la fonction millis ().
mais tu devrais peut etre continuer ton apprentissage , ca sera certainement detaille un peu plus en avant de tes cours.
il ne faut pas vouloir mettre la charue avant les boeufs
iznobe:
la fonction delay " bloque " le programme .
donc si tu veux ne pas bloquer ton execution de programme il faut effectivement utiliser la fonction millis ().
mais tu devrais peut etre continuer ton apprentissage , ca sera certainement detaille un peu plus en avant de tes cours.
il ne faut pas vouloir mettre la charue avant les boeufs
Je sais, mais quand je lis un truc et que j'ai une idée, ça me bloque, et comme patience n'est pas mon deuxième prénom 8)
Jambe
October 11, 2019, 5:42pm
7
Après si tu veux aller plus loin, utilise les timers, chacun agissent sur 2 broches et rien de transparaît dans ta boucle loop()
lesept
October 12, 2019, 9:23am
8
Tu trouveras des liens vers des tutos ici