Oui, en creusant un peu plus, j'arrive aussi à la conclusion que ScheduleTable est ce qu'il me faut.
Pour le positionnement du servo, j'ai décrit le mouvement : une seconde pour passer de 0 à 5 ° avec une loi parabolique en fn du temps, puis 8 à 9 secondes à ~ 10 °/sec pour passer de 5 ° à 90 °, puis un rebond de 5 ° sur 1 seconde, puis un rebond de 2,5 ° sur une seconde, puis stop.
La question du temps de rafraîchissement : 1/10e de seconde, ça fait un pas de 1 °, et j'ai lu quelque part que cela pouvait paraître saccadé. Mais si je rafraîchis plus souvent, ça fait plus de valeurs à calculer. Je réfléchis en parallèle sur deux concepts :
- Tabuler toutes les valeurs de positionnement dans un tableau au setup, puis le positionnement est simple : au pas n, positionner le servo à l'angle n,
- ou, dans le loop, découper le temps par phase et calculer l'angle "en direct".
Y a-t-il des limitations de taille pour les tableaux ? Une séquence de 10 secondes au 1/20, ça fait 201 valeurs.
J'ai une autre réflexion en cours : j'ai un bouton poussoir qui commande le bouclage entre 4 cycles d'éclairage. Je voudrais l'utiliser pour, à la mise sous tension, ne démarrer le programme qu'après le premier appui (histoire d'être sûr que tout est bien configuré après l'installation du modulino au milieu de ses copains en début d'expo). Ma question : est-ce qu'on peut mettre ce test dans le setup, qui attendrait ce premier appui pour donner la main à la loop, ou bien ça ne marche pas et il faut un flag et un if .. else en début de loop ?