Bonsoir
Après etre entré dans le monde de l'Arduino UNO, j'ai bien fait tous les exercices, en ai modifié certains, bref je me suis bien amusé, dans un but précis, faire fonctionner mes trains miniatures.
Mais ce soir j'arrive au bout de mes compétences.
Mon problème, en gros faire fonctionner en parrallèle plusieurs actions indépendantes.
J'arrive bien a faire fonctionner 2 potentiometres pour piloter 2 LMD18200 sous 12V avec 2 inverseurs pour modifier le sens de rotation.
J'arrive bien a faire fonctionner 3 relais avec 3 boutons poussoirs distincts qui seront remplacés par 1 bouton poussoir et 2 ILS sur place.
Mais réunir le tout sur le meme programme la ca veut plus.
J'ai éssayé de mettre du delay, mais comme il n'y a pas en soit de programation, mais plutot des actions mecaniques ( BP ou ILS ou INVERSEUR ) je ne pense pas que cela soit la bonne solution.
Je vous livre mon code en piece jointe et vous remercie d'avance pour vos bonnes suggestions..
Bonsoir,
Tu ne pourras jamais faire des actions en parallèles (ce n'est pas du multi-tâches et, plus, il n'y a pas d'OS).
Par contre dans ta loop tu peux traiter autant d'action que tu veux (dans la limite de la rapidité souhaitée).
Pour arriver à un résultat acceptable il faut éviter les delay() qui sont des fonctions bloquantes (le microcontrôleur ne fait rien et attend que le temps passe).
Pour éviter ce blocage, il existe des algorithmes qui font la même chose sans blocage.
Voir : http://arduino.cc/en/Tutorial/BlinkWithoutDelay
Attention même un OS n'est pas multi-tâches c'est l'impression qu'on a en tant qu'utilisateur mais au fond c'est mono-tâche. Tout est dans l'optimisation.