Faire tourner un moteur

Bonjour a tous je suis en terminal STI2D. Aujourd'hui nous devons créer un programme arduino capable de faire tourner un moteur en marche avant pendant 5 seconde et en marche arrière pendant 10 secondes. Ce schéma doit être répéter 3 fois puis s'arrêter.

Je n'ai aucune idée de comment créer ce programme merci de votre aide !!

Il faut un pont en H pour faire tourner le moteur dans des sens différent.
Pour la gestion du temps, essaie de faire un programme avec des LED qui reproduit ton schéma et après tu passera au moteur.

Met tout sur papier pour avoir les idées plus claire pour l’emboîtement des instruction

Comment je peux faire une boucle 3 fois puis que ça s'arrete

Tu utilises une variable
Tu l'intialises à 0
A chaque boucle tu incrémentes de 1
Tu testes si la variable est égale ou supérieure à 3
Si oui tu arrêtes
Si non tu continues.

C'est la même boucle for que l'on utilise sur la calculatrice pour faire une action plusieurs fois qu'il faut utiliser.

Tu utilise une carte contrôleur pour le moteur, ou il est alimenté directement par ton arduino ?

Pour inverser le sens de rotation d'un moteur standart (pas un moteur pas à pas), il faut juste inverser les polaritées : mettre le vcc sur un pate le gnd sur l'autre.

Pour la gestion du temps, regarde les fonctions "time" : Arduino Reference - Arduino Reference

Tu enregistre la valeur de millis() dans une variable, elle te donnera un temps à l'instant T de l'arduino, en milliseconde.
Tes 5 seconde sont passés (soit 5000 millisecondes), lorsque la variable enregistrée + 5000 et plus petite que la valeur courante de millis() : à ce moment, tu inverse le sens de rotation du moteur et ré-enregistre la valeur de millis() dans ta variable.

Pour faire simple, tu n'auras pas besoin de faire de boucle : la partie du code dans void() boucle tout le temps, elle te servira de boucle.
Tu as juste a initialisé ta variable temps dans setup(), et dans void faire une condition pour controler si les 5 secondes se sont écoulées.

Il faudrait savoir le matériel dont vous disposez et si vous avez vu en cours des notions comme la boucle for ou les while et if que vous devriez mettre en pratique

Il y a l'option programmeur du dimanche qui n'a pas écouté en cours aussi

Déclencher dans le sens +
Attendre 5 secondes
Déclencher dans l'autre sens
Attendre 10 secondes
Déclencher dans le sens +
Attendre 5 secondes
Déclencher dans l'autre sens
Attendre 10 secondes
Déclencher dans le sens +
Attendre 5 secondes
Déclencher dans l'autre sens
Attendre 10 secondes
Arrêter le moteur

:slight_smile: