[conseil] utiliser millis() pour programmer "pendant au moins 10s" ?

Bonjour à tous,
Mon projet est un store automatique.
S'il y a trop de vent "pendant au moins 10s" le store remonte.
J'arrive à programmer la lecture de mon capteur (anémomètre) et la remontée du store s'il dépasse une certaine valeur mais je ne m'en sort pas pour programmer le "pendant au moins 10s".
Quelqu'un peut-il me donner quelques pistes ?
Je vous en remercie par avance.

Bien à vous.

Kotayk P-))

Bonsoir,
Tu n'es pas dans la bonne rubrique

Désolé pour ce sujet dans la mauvaise rubrique !
Comment le supprimer ?

Re,
Le faire déplacer par un modérateur via "Repport to moderator" en bas du sujet.

Merci, Icare.

kotayk:
Bonjour à tous,
Mon projet est un store automatique.
S'il y a trop de vent "pendant au moins 10s" le store remonte.
J'arrive à programmer la lecture de mon capteur (anémomètre) et la remontée du store s'il dépasse une certaine valeur mais je ne m'en sort pas pour programmer le "pendant au moins 10s".
Quelqu'un peut-il me donner quelques pistes ?
Je vous en remercie par avance.

Bien à vous.

Kotayk P-))

bonsoir
expose déjà ton code et pense bien à mettre ton code programme entre balises codes :sunglasses:

Bonjour

lorsque le vent est trop fort compter le temps pour avoir dix secondes (un indice... millis()) , si le vent est moins fort remettre le compteur à zéro...

chrica76 > c'est bien ça, mais je pense que tu as mal exprimé ce que tu voulais dire.

kotayk>

En effet, à chaque seconde il faut incrémenter une variable tant que le capteur indique un vent assez élevé. Si le capteur indique un vent faible, alors on la ré-initialises à 0.

SI tu veux qu'on corrige du code, il faut en montrer

Merci beaucoup pour vos réponses.
Voila, dans le code suivant je voudrai insérer ou ajouter (ou ?)
que "frequence" soit supérieure à 35hz pendant au moins 10s.

// si BP Montée est appuyé ou fréquence anémomètre supérieur à 35 Hz
if (etatMont == LOW || (frequence > 35 && etatFCMont == HIGH))) {

// tant que le FC "Monté" n'est pas actionné
while (etatFCMont == HIGH){

// lire l'état du FC Montée
etatFCMont = digitalRead(findecourseMont);                       

// Faire tourner le moteur dans le sens de la montée
moteurs.setM1Speed(-300);                                         
}
}

// si aucun BP est appuyé laisser le moteur à l'arrêt
else {
moteurs.setM1Speed(0);   // laisser le moteur à l'arrêt      
}

Très bonne soirée à tous !

Kotayk P-))

Il faudrait que tu donnes tout ton code pour qu'on te dise où le mettre, parce que là, y a un problème d'accolades déjà

Et implémente déjà le comptage de secondes avec millis(). Y a plein d'exemples sur internet et sur ce site

kotayk:
Merci beaucoup pour vos réponses.
...
Très bonne soirée à tous !

Kotayk P-))

ton code ne compile déjà pas , donc ---> :sunglasses: