Salut à tous,
Voici un petit fil de discussion pour parler des techniques de lecture des signaux d'une radiocommande RC de modélisme avec Arduino pour éventuellement m'aider à rédiger le billet de mon blog en cours : Comment utiliser une radiocommande RC de modélisme pour piloter nos robots de manière optimale ?
En effet nous avons déjà rédigé un tutoriel très simple expliquant la méthode " facile" pour lire les signaux d'une télécommande RC de modélisme avec arduino
cependant cette méthode n'est pas super optimisé car elle utilise des delay et la fonction pulseIn, qui sont toutes les deux des fonctions " blocante" ( Rappelez moi que je dois pondre un article sur qu'est ce qu'une fonction bloquante, pourquoi faut il les éviter, quelques exemples de fonctions blocante, comment faire des fonctions non blocante ! )
Donc je m'intéresse à comment faire cette lecture de signaux RC sans utiliser de fonctions bloquantes pour la suite !
Pour ma part au vu de la problématique je ne vois que 3 approches possible :
Des interruption sur changement d'état : les interruption sur changement d'état des channels de la radion
Des interruptions sur timer : On va interrompre très fréquement notre code pour regarder l'état des channel de la radio
Une machine à état avec l'exécution d'un état etant super court, et on boucle à l'infini entre : lire les channel, mettre à jour l'état, exécuter l'état.
Avant de me lancer dans le code je fais quelques recherches sur ce qui existe déjà je tombe sur ces liens qui semblent être intéressant :
Sur le forum Anglais " RC Arduino" ( tien tien ce nom de forum a en effet visiblement vaguement un air de famille avec notre sujet )
http://rcarduino.blogspot.fr/2012/04/how-to-read-multiple-rc-channels-draft.html avril 2012
http://rcarduino.blogspot.fr/2012/11/how-to-read-rc-channels-rcarduinofastlib.html novembre 2012
On notera particulièrement que le travail présenté sur ces deux sujets est celui de Duane B
Question et réponses sur arduino cc
Question et réponses sur Stackoverflow
Bref vant que je ne continue plus loin mon investigation je me suis dit que je pouvais partager cette réflexion pour vois si certains utilisent déjà une librairie ou autre qui serait sympas ! =)