Clignotement Led + Gestion time Help Me ??

Salut à tous,

Bon alors voila j’ai commencé un petit projet “Laser Game Maison”
Alors le but est assez simple,

à l’aide d’une photorésistance ont mesure sa tension celle ci varie en fonction du taux de luminosité quelle capte, arrivé à une certaine valeur on active une led en la faisant clignoter,

Dans mon cas des que la valeur arrive à 800 ou plus la led clignote, si la valeur et inférieur à 800 la LED reste éteinte.

Moi je voudrais qu’une fois la valeur atteinte donc 800 ou + la LED Clignote pendant 10sec même si entre temps la valeur est devenu inférieur à 800.

Je ces pas si c’est assez claire en tout cas j’ai fait quelque recherche et testé pas mal de fonction mais pour l’instant je ne parvient pas à mes fin !

Voici mon programme en espérant qu’une âme charitable me donne la solution :slight_smile:

// Fonction setup(), appelée au démarrage de la carte Arduino
void setup() {

  // Initialise la communication avec le PC
  Serial.begin(9600);
  pinMode(A1,OUTPUT);
  
  
}

// Fonction loop(), appelée continuellement en boucle tant que la carte Arduino est alimentée
void loop() {
  
  // Mesure la tension sur la broche A0
  int valeur = analogRead(A0);
  
  // Envoi la mesure au PC pour affichage et attends 250ms
  Serial.println(valeur);
  delay(250);
[code]
  if(valeur>800)
  {
  valeur<800;
  digitalWrite(A1,HIGH);
  delay(100);
  digitalWrite(A1,LOW);   
  delay(100); 
  }

  
  if(valeur<800)
  digitalWrite(A1,LOW);  
  
}

bonjour,
déjà code entre balise code </>

pour ton projet, fonction millis() sans delay()

unsigned long time;
bool vrai =false;
blabla

if(valeur>800 )
  {
time = millis();
vrai = true

}
while (millis() - time < 10000 && vrai == true){
clignotement de led
}

if (millis() - time > 10000 && vrai == true) vrai = false;

infobarquee:
bonjour,
déjà code entre balise code </>

pour ton projet, fonction millis() sans delay()

unsigned long time;

bool vrai =false;
blabla

if(valeur>800 )
  {
time = millis();
vrai = true

}
while (millis() - time < 10000 && vrai == true){
clignotement de led
}

if (millis() - time > 10000 && vrai == true) vrai = false;

Salut, désolé pour les balises,
Merci beaucoup pour ton aide, j’avais effectivement trouvé cette fameuse fonction (millis() mes j’avais un peu de mal à assimiler son utilisation.
En tout cas ça fonctionne parfaitement je vais pouvoir avancer un peux ^^

@++

vrai = false;

Ça pique un peu les yeux quand même .... ce serait pas mal de choisir un nom de variable plus approprié

J-M-L:

vrai = false;

Ça pique un peu les yeux quand même .... ce serait pas mal de choisir un nom de variable plus approprié

sur le moment c'est ce qui m'est venu à l'esprit et au plus simple de la compréhension pour l"intéressé.
donc dans ce cas, on se tape que ce soit vrai, courge, concombre, etc...

j'aurai pu mettre, cible_atteinte, ca te vas?

infobarquee:
sur le moment c'est ce qui m'est venu à l'esprit et au plus simple de la compréhension pour l"intéressé.
donc dans ce cas, on se tape que ce soit vrai, courge, concombre, etc...

j'aurai pu mettre, cible_atteinte, ca te vas?

Je voulais juste la solution, et tu me la donner donc pas de soucis tu m'a déjà bien aider merci