Programmation Arduino – Gestion du temps – fonctions delay(), millis()

Accueil/Questions/Programmation Arduino – Gestion du temps – fonctions delay(), millis()
Programmation Arduino – Gestion du temps – fonctions delay(), millis() 2016-03-15T18:52:52+00:00

Accueil Forums Questions Programmation Arduino – Gestion du temps – fonctions delay(), millis()

Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • Patchy
    Participant
    Nombre d'articles : 1
    #9643 |

    Bonjour à toutes et à tous!

    Je vous expose mon problème en espérant que quelqu’un pourra m’apporter de l’aide:

    Dans le cadre d’un stage, je dois créer un système le plus simple possible qui permette de déclencher un compte-à-rebours de 90 jours et qui, au terme de ces 90 jours, montre que le délai était écoulé.

    Après s’être concertés avec mon tuteur de stage, on a dit qu’on voulait: un bouton-poussoir qui déclenche le comte-à-rebours; une LED verte qui s’allume dès qu’on appuie sur le BP et pendant 90 jours; une LED rouge qui s’allume au bout des 90 jours; et un élément capable de décompter ce délai.
    Je me suis d’abord penché sur la programmation d’un PIC, mais honnêtement, j’y connais rien, et mes recherches tournaient en rond. Ayant programmé en langage JAVA, je me suis rabattu sur un ARDUINO.
    Donc j’ai pris un Arduino LEONARDO (pas cher et largement assez polyvalent pour la tâche voulue, il me semble).

    Je programme, je programme, et ça marche PRESQUE comme je le veux: j’appuie sur le BP, la LED verte s’allume pendant 90 jours; au bout de 90 jours elle s’éteint, et c’est la rouge qui prend le relais. Bien sûr, j’allais pas attendre 180 jours, pour la simulation j’ai mis 5 secondes pour chaque.
    Alors voilà le problème: j’aimerais qu’à n’importe quel moment, que la LED verte ou la LED rouge soit allumée, je puisse relancer le cycle en ré-appuyant sur le BP. Actuellement, je dois attendre la fin du cycle avant de pouvoir en relancer un. J’ai pensé au bouton RESET, mais l’Arduino sera placé dans boîtier étanche, et donc inaccessible.

    Il semblerait que ce soit la fonction « delay() » qui soit gênante. J’ai fait des recherches sur la fonction « millis() » cet après-midi, mais je ne suis pas sûr de bien comprendre comment la gérer.

    Je crois avoir bien expliqué mon problème, dites-moi si quelque chose n’est pas clair!
    Je joins un bloc-notes contenant l’écriture de mon programme.
    Et par pitié: À L’AIDE!!

    Merci!

    fichiers attachés:
    You must be logged in to view attached files.
Affichage de 1 message (sur 1 au total)

Vous devez être connecté pour répondre à ce sujet.