Probleme temporisation

Bonjour,

Je rencontre un petit soucis de programmation :

Sur ce code la :

digitalWrite(vanne1,HIGH); delay(3000); digitalWrite(vanne1,LOW);

digitalWrite(vanne2,HIGH); delay(3000); digitalWrite(vanne2,LOW);

A l'instant T j'ouvre vanne1 pendant 3secondes et ensuite vanne2 pendant 3 secondes, donc ce qui me prend en tout 6 secondes et je suis obligé d'attendre que vanne1 est fini son travail pour actionner vanne2.

Comment faire pour que à l'instant T de l'envoi de la commande (appuie sur un bouton poussoir) je déclenche les deux vannes ensembles en même temps et que V1 reste ouverte 1,5 secondes et que V2 reste ouverte 3 secondes...

Des idées ?

Utiliser millis() plutôt que delay.

Bonjour
digitalWrite(vanne1,HIGH);
digitalwrite(vanne2,HIGH);
delay (1500);
digitalWrite(vanne1,LOW);
delay (1500);
digitalWrite(vanne2,LOW);

Merci de vos réponses. Je vais tester tout cela :)

La librairie Timer.h permet de faire ce genre de temporisation.