Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Programmation > Snippets > Servomoteurs avec Arduino et Pure Data

Servomoteurs avec Arduino et Pure Data

samedi 31 juillet 2010, par Julien H.

Pour tester rapidement les positions des servomoteurs d’un robot, Pure Data est bien pratique, avec son extension PDuino qui fournit tout ce qu’il faut pour piloter une carte Arduino depuis un ordinateur.

PDuino

Un bloc fonction "Arduino" dispose d’une entrée (inlet) pour lui envoyer des informations et une sortie (outlet) pour recevoir des informations.

Il faut d’abord sélectionner le port série, ouvrir la communication, et ensuite on peut envoyer des valeurs au format Firmata dont le driver aura d’abord été chargé dans la carte avec le logiciel (Firmata Standard est fourni en exemple), mais tout cela est simplifié par PDuino, l’extension pour Pure Data.

Servomoteurs

Il suffit de spécifier la patte Digital PWM sur laquelle on a connecté un servomoteur, et envoyer la configuration de cette patte, en mode servo pour qu’il y ait génération automatique par Firmata des signaux.

Mise en application

Pour le bipède, on peut ainsi bouger chaque membre indépendamment, chaque articulation, ou bien les grouper.

J’ai essayé d’aller plus loin en utilisant ce pour quoi Pd est fait : la génération de signaux.

Une fonction "métronome" va donc incrémenter un compteur à intervalle régulier, qui va être modifié par une fonction "sinus" qui donnera aux servomoteurs un cycle régulier. Après quelques coefficients, tout cela est envoyé sur l’Arduino.

Voici le résultat :

Amélioration

J’ai trouvé hier soir une façon encore meilleure de tester les configurations du robot avec gcanvas.
Code disponible sur le Playground (voir nos guides).

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.