Il est possible sur un Arduino de « simuler » un système multi-taches. Par exemple, on dispose de plusieurs capteurs et l’on souhaite lire leurs valeurs selon une période donnée, de plus on voudrait afficher les valeurs à une période fixée.
Bibliothèque
De nombreuses bibliothèques existent. Après plusieurs tests, il apparaît que la bibliothèque “SimpleTimer » est particulièrement facile à utiliser. Il suffit dans la procédure “setup » de déclarer les taches à exécuter à une période fixée et la procédure “loop » ne comporte qu’une seule instruction !
https://playground.arduino.cc/Code/SimpleTimer
Exemple :
C
x
1
#include <SimpleTimer.h>
2
3
SimpleTimer timer;
4
5
void tacheLireCapteur()
6
{
7
Serial.println("Tache getLireCapteur");
8
}
9
10
void tacheAfficherLesValeurs()
11
{
12
Serial.println("Tache afficherLesValeurs");
13
}
14
15
void setup()
16
{
17
Serial.begin(9600);
18
// Toutes les 2 secondes
19
timer.setInterval(2000, tacheLireCapteur);
20
// Toutes les 5 secondes
21
timer.setInterval(5000, tacheAfficherLesValeurs);
22
}
23
24
void loop()
25
{
26
timer.run();
27
}