je veux faire fonctionner plusieurs fonction en même temps ( fonction de lire température , chronométré ,régulation température ..... et affichage sur un tft tactile .... mais a cause de manque d'expérience je trouve pas la meilleur et ce que vous avez des idées et merci
On ne peut pas faire de multitâche, mais on peut enchaîner rapidement plusieurs actions.
Certaines actions nécessitent sans doute l'usage d'interruptions, comme le chronométrage, si ça doit être bien précis.
D'autres peuvent attendre, comme mesurer la température.
Bonjour,
Pourquoi de multiple posts (anglais et français) avec le terme récurent multi-tâche.
Arduino n'est pas multi-tâche et toutes les solutions que tu peux trouver ne sont que des compromis. Fait au moins l'effort de lire les liens qui te sont donnés sur le forum (français ou anglais).
Je vous ferais remarquer que le demandeur n'a pas écrit le mot multi-tâches, alors pas la peine d'orienter la discussion vers les RTOS et de sombrer dans un niveau de technicité sordide .
L'utilisation d'un arduino pour faire plusieurs choses à peu près en même temps, me semble plus que répandue dès lors que l'on souhaite fabriquer un automate.
J'ajouterais même que très souvent, le besoin ne nécessite pas de faire appel à des interruptions, car on est sur un automate au biorythme assez lent, qui peut se satisfaire de déclencher ses diverses fonctionnalités à une poignée de secondes près.
Effectivement la question revient régulièrement ici ou ailleurs. Personnellement, j'y vois plutôt la conséquence d'une lacune dans le "standard arduino" face à ce type de besoin.
A mon sens, l'architecture logicielle de base setup()+loop() mériterait une surcouche standard et facile à mettre en oeuvre pour les débutants.
En gros : un ordonnanceur basique et simple d'accès.
Le fait que chacun ait à chercher comment programmer un système d'enchaînement d'appels de fonctions relativement courtes et alternées, amène forcément ce flot de questions régulières.
@mohamed : cherche du côté de "arduino scheduler" si tu trouves ton bonheur.
On trouve différentes versions plus ou moins adapatées aux besoins simples.
bricoleau:
J'ajouterais même que très souvent, le besoin ne nécessite pas de faire appel à des interruptions, car on est sur un automate au biorythme assez lent, qui peut se satisfaire de déclencher ses diverses fonctionnalités à une poignée de secondes près.
+1, je dirai même que souvent c'est bien moins d'une poignée de seconde...
Peut-être qu'il manque un tuto dans la lignée de "BlinkWithoutDelay" qui permettrait d'initier les Arduinistes au pseudo-multitâches qui peut être réalisé à partir de ce type de modèle...
J'ajoute que bien souvent quand on débute sur Arduino, on imagine très mal la durée d’exécution du code dans la machine... et un programme qui est long à lire dans l'IDE sera imaginé long à s’exécuter...