Plusieurs LED en parallele avec chacune des cycles personnels.

Bonjour,
Le projet : sur une carte marine de la pointe de Bretagne, je vais mettre une LED à chaque emplacement de phare. Chaque phare a sa façon de clignoter et c’est comme cela qu’on le reconnait.
J’ai fait un code avec 3 phares. Les LED clignotent bien au rythme voulu mais les LED s’allument les unes après les autres alors que chacune doit faire son cycle sans tenir compte du cycle de la LED voisine. J’ai regardé pas mal de tuto sur les LED mais là je cale et j’ai besoin d’aide. A l’allumage les 3 leds devraient s’allumer et ensuite chacune clignote à son rythme.
Voici le code qui fonctionne, mais pas comme je voudrai. Merci d’avance

const int FOUR=12;
const int ARMEN=11;
const int LESTIFF=10;

void setup()
{
pinMode(FOUR,OUTPUT); // activation led12 5 eclats blancs toutes les 15 sec
pinMode(LESTIFF,OUTPUT);//activation led10 2 eclats rouges toutes les 10 sec
pinMode(ARMEN,OUTPUT);//activation led11 2+1 eclats blancs toutes les 20s

}

void loop()
{
digitalWrite(FOUR,HIGH); // allumage du FOUR
delay(500);
digitalWrite(FOUR,LOW);//extinction four
delay(500);
digitalWrite(FOUR,HIGH); // allumage du FOUR
delay(500);
digitalWrite(FOUR,LOW);//extinction four
delay(500);
digitalWrite(FOUR,HIGH); // allumage du FOUR
delay(500);
digitalWrite(FOUR,LOW);//extinction four
delay(500);
digitalWrite(FOUR,HIGH); // allumage du FOUR
delay(500);
digitalWrite(FOUR,LOW);//extinction four
delay(500);
digitalWrite(FOUR,HIGH); // allumage du FOUR
delay(500);
digitalWrite(FOUR,LOW);//extinction four
delay(15000);

digitalWrite(LESTIFF,HIGH); // allumage du STIFF
delay(100);
digitalWrite(LESTIFF,LOW);//extinction STIFF
delay(490);
digitalWrite(LESTIFF,HIGH); // allumage du STIFF
delay(100);
digitalWrite(LESTIFF,LOW);//extinction STIFF
delay(10000);

digitalWrite(ARMEN,HIGH); // allumage du ARMEN
delay(490);
digitalWrite(ARMEN,LOW);//extinction ARMEN
delay(200);
digitalWrite(ARMEN,HIGH); // allumage du ARMEN
delay(490);
digitalWrite(ARMEN,LOW);//extinction ARMEN
delay(400);
digitalWrite(ARMEN,HIGH);//allumage ARMEN
delay(490);
digitalWrite(ARMEN,LOW);
delay(20000);

}

C’est bien ce que fait ton code, les unes après les autres.

Il faut structurer différemment et utiliser plutôt millis(). La gymnastique n’est pas la même.

Voir du côté de l’exemple de l’IDE Blink without delay

Merci de ta réponse. Mon problème est que je souhaite que chaque LED ait son allumage individuel et non pas qu’elle se rallume quand toutes les autres ont fait leur cycle.
Je m’explique : exemple :le cycle de la LED1 est, en tout, de 30 secondes; le cylce de la LED2 est de 10 secondes. La LED2 devrait s’allumer 3 fois pendant le cycle de la LED1. Avec mon code ce n’est pas le cas. Il faut que le cycle de le LED1 soit fini pour que la LED2 commence à s’allumer.
C’est pour àa que je parle d’allumage en parallèle et non pas en série comme fait mon code.

Bonsoir Pepe,
Les leds ne sont pas synchronisées, elles sont effectivement independantes.

Je vais tester cela, je te tiens au courant.Déjà merci.