A la ferme du code heureux, des codes, des programmes, broutent en champ libre.
Comment faire clignoter plusieurs leds à des vitesses différentes
Ceci est un code pour l'Arduino permettant de faire clignoter deux leds à des fréquences différentes sans l'utilisation de la fonction delay()
Par Pierre Dragicevic, Workshop Arduino à l'INRIA 2013.



// (cc) guillaume stagnaro
// atelier hypermedia
// http://www.ecole-art-aix.fr/hypermedia
// http://www.happycodefarm.net

// on déclare les périodes des deux leds
float period1 = 1000; // un clignotement par seconde
float period2 = 1000/3.0; // un clignotement par tiers de seconde

void setup() {
// on utilise les sorties 9 et 10 pour les leds
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}

void loop() {
long t = millis();

// la fonction getStateAtTimeWithPeriod() retourne l'état que doit prendre la led au temps t
// et à la période donnée.
digitalWrite(9, getStateAtTimeWithPeriod(t, period1));
digitalWrite(10, getStateAtTimeWithPeriod(t, period2));
}

boolean getStateAtTimeWithPeriod(long t, float period) {
boolean onOrOff = ((int)(t / period)) % 2;
return onOrOff;
}


Voir aussi Comment faire clignoter élégamment deux carrés à des fréquences différentes pour la version Processing.