Étape 3: Une fonction utilisable par un conduit
Et voici le code final avec un second conduit.
le var seul à déclarer à l’extérieur de la fonction est le tableau, qui stocke la valeur millis pour chacun de la led que vous souhaitez utiliser.
Donc lorsque vous appelez la fonction il faut taper : quel led, congés, temps, position du tableau (ce qui est unique pour chaque led!)
#define redLed 5#define bluLed 6long previousMillis[2]; //[x] = number of ledsvoid setup() { pinMode(redLed, OUTPUT); pinMode(bluLed, OUTPUT); } void loop() { //OnOffBlink(which led?, tOn, tOff, One of the previousMillis); OnOffBlink(redLed, 300, 500, 0); //array must be different OnOffBlink(bluLed, 300, 300, 1); //for each led }void OnOffBlink(int led, int tOn, int tOff, int array){ static int timer=tOn; if ((millis() - previousMillis[array]) >= timer) { if (digitalRead(led) == HIGH) { timer = tOff; } else { timer = tOn; } digitalWrite(led, !digitalRead(led)); previousMillis[array] = millis(); } }
Espérons qu’il vous plaira.
Si vous avez des conseils, astuce, critiques et tout s’il vous plaît commentaire ci-dessous !