problème de déutant

Bonjour,

J’ai bien essayé de retrouver dans les 512 pages la solution, mais en vain
J’ai un sept segments que j’incrémente avec un BP, tout va bien.
J’écris dans l’eeprom la valeur du moment, et je coupe l’alimentation.
A la remise sous tension ok je retrouve la valeur.
Pour chaque valeur j’ai des temps différents d’arrêt et de marche de pompe.
Cela fonctionne, sauf que bien entendu cela reste bloqué dans les tempos, et il n’est plus possible de changer la valeur au 7 segments.
Il faut donc ‘‘bypasser’’ (c’est le frigoriste de 64 ans qui le dit) ces tempos au moment ou le bouton est activé.
J’ai lu et relu et essayé plein de choses qui ne fonctionnent pas.
Cela va vous sembler stupide, mais j’ai besoin d’un petit coup de main pour ne pas baisser les bras.
Je me suis arrêté à 3 pour l’exemple

Merci d’avance pour votre aide

_2KIBO.ino (3.06 KB)

c'est quoi un "déutant" ? ;)

Plus sérieusement, tu utilises trop la fonction delay() qui est bloquante, lorsque tu souhaites gérer plusieurs choses en parallèle il vaut mieux utiliser la fonction millis() pour comptabiliser le temps écoulé entre deux appels... ca t'oblige à revoir la structure de ton code mais c'est le meilleur moyen de résoudre ton problème. Ce tuto ou encore celui-là te donnent quelques pistes utiles.

La fonction delay() dans la boucle loop() est le pire ennemi du programmeur Arduino

Il faut impérativement gérer soi même les temporisation Même avec une gestion des interruptions sur les BP, tu ne viendra pas à bout de la fonction delay()

Je reconnais que c'est un peu déroutant au début et ne simplifie pas la programmation

C'est pour ça que la structure d'un sketch Arduino est si particulière dans setup() tu initialises tes ES et variables (qui sont bien souvent des états)

dans loop(), si ton programme est bien fait, il doit être capable, a n'importe quel instant, autrement dit à n'importe quel tour de boucle de prendre une décision en fonction des états

un programme bien structuré devrait avoir le schéma suivant loop() { lecture des entrées

vérification des états prise de décision mise à jour des états

mise à jour des sorties }

Bonsoir,

Merci, je ne vous cache pas que je ne peux y travailler que le soir, et le soir ce n'est plus la grande forme. Je vous reviendrai prochainement. Encore merci excellente soirée