Hello,
Je souhaite utiliser des LEDS dans mon projet. Certaines sont fixes, d'autres clignotent en fonction des evènements
J'utilise les fonctions suivantes :
int LEDdisplay::cliLED()
{
if(millis() < (timerLED + 150)) { return 1; }
if(millis() >= (timerLED + 150) && millis() < (timerLED + 300)) { return 0; }
if(millis() >= (timerLED + 300)) { resetLED(); return 1; }
}
void LEDdisplay::resetLED()
{
timerLED = millis();
}
cliLED(1) allume bien la led, cliLED(0) éteint la LED : pas de problème
J'ai plusieurs fonctions similaires mais avec un interval de clignotement différent.
Je souhaite rajouter d'autres LEDS, gérées via la fonction boucle d'attente delayWithMillis(t) ci-dessous.
// Fonction d'attente en remplacement de la fonction delay()
void delayWithMillis(unsigned long t) {
// Calcul du temps lorsque t millisecondes se seront ecoules
unsigned long stopTime = millis() + t;
// Attente active jusqu'a ce que stopTime soit atteint
while ( millis() < stopTime ) {
}
}
Mon problème est que le clignotement des LEDS devient complètement anarchique, comme si les timer étaient tous inter-dépendants malgré le non usage de la fonction delay()
Où est mon erreur ?