Lenteur Arduino

Bonjour à tous,

Je suis actuellement occupé de créer un système d'alarme.

lorsque je branche ma carte Arduino pour faire mes tests, elle tourne correctement, moins d'une seconde pour faire la boucle loop.

Par contre une fois mis en condition réelle, la carte tourne à 5 secondes. ce qui pose problème.

Est ce que cela pourrait venir des println ? Avez-vous déjà eu le cas ?

D'avance merci

Guillaume.

Sur que ,si en production tu as laissé tous les "serial.Print" de mise au point et qu'il n'y a rien au bout, cela ne va pas le faire.

Les capteurs d'alarme sont bien branchés sur des interruptions, et activent juste un flag, pour ne rien rater dans la boucle loop ?

Si c'est le même soft en production et en test il n'y a pas de raison qu'il soit plus lent.
Les Serial.print se moquent pas mal qu'il y ait un terminal au bout ou pas.
Donc je pencherais plus sur un problème dû au fait que les capteurs sont déportés et que peut être cela t'amène des perturbations

Est-ce que tu es certain que la carte ne reboot pas ? Les atmega étant très sensible à l'alimentation, suivant sa qualité et/ou les variations induites par d'autres consommateurs (relais, solenoid, moteur ...) il se peut qu'il décroche et redémarre. Comme ça prend à peu près 5 sec ...

Alors je n'ai pas utilisé les interruptions. Je devrais peut-être me renseigner dessus.

Pour ce qui est du fonctionnement, j'ai mis différents relais qui sont en état fermé par défaut, lorsqu'un capteur détecte la présence, le relais passe en ouvert et l'arduino sait que le capteur a détecté qqch.

j'utilise une carte Arduino Mega 2560 avec une carte de 8 relais.
Oui sur que la carte ne reboot pas car l'alarme marche correctement , j'ai juste un souci a un seul moment lors de la désactivation, le temps que l'Arduino détecte le signal, il a déjà sonné. Car vu les 5 secondes il ne prend pas correctement le signal.

Merci beaucoup pour vos réponses.

je peux placer une partie du code si cela peut vous aider.

Bonjour,

Effectivement avec le code se serait plus pratique :wink:
Perso je pense qu'il s'agit d'un timeout quelque par ou d'un capteur qui déconne.