Bonjour,
Je débute en arduino, et je me permets de poster au sujet de la fonction milli.
Je cherche à allumer une led verte lorsque j’appuie sur un bouton puis 5 secondes après une led rouge puis ensuite une led jaune.(avec le même bouton qui reste enclenché)
Je cherche depuis déjà un moment et je coince déjà avec deux led (la verte (ca va !) mais la rouge >:( )...en fait cela fonctionne si j'appui dès le lancement du programme. Mais si j'appui sur le bouton 10s après le début du programme, les deux s'allume en même temps...
Je vois bien que cela viens de la fonction milli, mais je ne vois pas comment régler le problème de programmation...
Une bonne âme charitable pourrait-il me venir en aide...
Merci par avance
// Numéro de la pin du bouton
const int pinBtn =2;
const int pinled1 =7;
const int pinled2 =6;
// État d'activation de la tempo
// Temps à l'activation de la tempo
unsigned long tempodepart = 0;
unsigned long currentMillis = 0;
int valeurentree=0;
void setup() {
Serial.begin(9600);
pinMode(pinBtn, INPUT);
pinMode(pinled1, OUTPUT);
pinMode(pinled2, OUTPUT);
}
void loop() {
valeurentree=digitalRead(pinBtn);
Serial.println("Etat de l'entrée");
Serial.println(valeurentree);
// Si le bouton est enfoncé,
if ( digitalRead(pinBtn) == LOW ) {
// Alors on active la led verte
Serial.println("LED verte allumée");
digitalWrite(pinled1,HIGH);
currentMillis = millis(); // stocke la valeur courante de la fonction millis()
}
if((currentMillis - tempodepart > 5000)&& ( digitalRead(pinBtn) == LOW )) {
// mémorise la valeur de la fonction millis()
tempodepart = currentMillis;
digitalWrite(pinled2,HIGH);
Serial.println("Led 2 rouge allumée");}
}
Tempo4.ino (1.08 KB)