Retarder démarrage de la Loop()

Bonjour à tous,

A la mise sous tension de l'arduino, je souhaiterai retarder le démarrage de de la Loop() pour laisser le temps à un détecteur de présence de s'initialiser. J'ai récupérer ce détecteur (pas tout jeune mais qui fonctionne très bien) et je souhaite l'intégré dans un montage d'alarme que j'ai réalisé il y a quelques mois. Le problème est que ce détecteur se déclenche pendant une quinzaines de seconde à sa mise sous tension et donc me d'éclanche l'alarme! C'est également valable en cas de coupure de courant.

J'ai pensé mettre un delay(15000); dans le setup(). N'étant pas à la maison pendant 2 semaines, je n'ai pas d'arduino sous la main pour tester

Je m'en remets donc à vos connaissances, croyez vous que cette solution fonctionne?

Merci

plusieurs solution s'offrent à vous donc en voici une.

Mettre une variable boolean "démarrage" par exemple à la valeur true

Dans le "loop" tant que cet etat est à true et l'état du capteur actif, ne rien faire à part attendre que le capteur soit inactif. Une fois inactif, mettre la variable "démarrage" à false et exécuter la suite du prog normalement.

C'est une astuce que j'utilise souvent.

Bonsoir Lepro et merci pour votre solution.

Pas bête, je n'y avais pas pensé!

C'est une petite alarme basique que j'ai fait pour mon cabanon de jardin qui a été visité déjà 2 fois, y'a pas grand chose à volé mais c'est chant !!!! Elle fonctionne pour le moment avec des détecteurs chocs placés sur la porte et la fenêtre.

Le capteur de présence n'est pas spécialement très utile mais c'est de la récup, ça va améliorer le système et surtout me permettre d'apprendre.

Après si mettre un delay dans le setup fonctionne ça peut me convenir.

Merci

Le delay dans le setup fonctionnera si vous avez un temps max à partir duquel vous êtes sur que le capteur fonctionnera

Merci JLM pour votre confirmation. A la mise sous tension le capteur se d'éclanche pendant 10s, en retardant le démarrage de la Loop à 15s je suis tranquille. Leptro je garde votre excellente solution pour d'autres applications Merci pour vos réponse.

ok super on est toujours friand des retours d'expériences, vous nous tiendrez informé!

A la mise sous tension le capteur se d'éclanche pendant 10s, en retardant le démarrage de la Loop à 15s je suis tranquille.

Si ça reste déclenché (c.-à-d. Pas instable) Vous pourriez prendre l’idee De Leptro mais le mettre dans le setup() avec un while(digitalRead(pinCapteur) == HIGH); // attente au lieu du delay() (en supposant que le capteur est actif en HIGH) - comme ça vous attendrez juste le temps nécessaire sans avoir à estimer si c’est 10 ou 15 secondes qu’il faut...

Merci pour vos conseils, Encore une possibilité à laquelle je n'avais pas pensé. Je ne suis pas encore bien au point avec les boucles mais cette solution m'intéresse fortement car elle va me permettre d'en apprendre un peu plus.

Je ne pourrai tester que ce WE car en déplacement encore cette semaine. Je vous tiendrai informé de la solution retenue. Merci encore de votre aide