Utilisation de SNAP4Arduino en robotique éducative pour animer la main du robot Humanoïde INMOOV

Scratch est un langage ou plutôt un outil d’initiation à la programmation que l’on ne présente plus. De plus en plus utilisé par les écoles, il permet aux plus jeunes une approche ludique et graphique du codage.

Scratch ne gérant pas nativement l’arduino, il existe un add-on  ajoutant des blocks prenant en charge l’arduino (http://s4a.cat/),  mais  cette évolution ne gère qu’un unique servomoteur.

Nous avons préféré utiliser dans cet exemple une déclinaison de Scratch, SNAP4Arduino plus complète et qui utilise Firmata sur Arduino  permettant ainsi un contrôle total de toutes les entrées sorties du microcontrôleur.

Autre avantage, si vous utiliser déjà notre outil Educative Lab, vous n’aurez rien à modifier sur votre arduino, Firmata étant déjà pré chargé.

Cet article présente un exemple robotique d’animation d’une main du robot InMoov.

Quelques mot sur SNAP4ARDUINO  (version 1.2 au 07/11/2016)

SNAP est une ré implémentation de SCRATCH permettant la création de block et ajoutant des concepts de programmation avancée comme les classes ou les listes. Cette version est éditée par l’université de Berkley. Elle est en tout point semblable à scratch.

SNAP est compatible Windows, Mac et Linux, il fonctionne même dans un navigateur chrome, nous l’avons testé dans cette version sur un Raspberry 3 avec le même code source et un résultat identique à la version PC installée localement.

Pour tester la version online de Snap4arduino http://snap4arduino.org/run/
ATTENTION : sur cette version online la prise en charge de la communication USB avec l’arduino, requiert  d’installer un extension Chrome (fichier Snap4Arduino_chromium-plugin-1.2.crx à glisser déposer dans les extensions de chrome)

Enfin autre avantage de SNAP4ARDUINO, il installe localement un mini serveur Web permettant la réception d’ordres sous formes d’url du type.

http://IP:42001/vars-update=VARIABLE-NAME=VARIABLE-VALUE

Rendant possible le pilotage à distance via un navigateur de vos applications SNAP…

Installation locale de SNAP4ARDUINO:

Etape 1 : charger Firmata Standard dans votre Arduino (cf. procédure ici, idem que pour EducativeLAB)

Etape 2 : téléchargez et dézippez l’archive correspondant à votre OS : http://snap4arduino.org/#download

Etape 3 : lancer SNAP, pour tester l’application, utiliser le menu  import, de même pour la sauvegarde  utiliser Export pour conserver un fichier XML localement sur votre disque dur. Toutes les données de votre  projet : sons, images, code sont encodés dans cet unique fichier XML.

Le menu Load/Save réalise une sauvegarde dans l’espace du navigateur ce qui ne vous permettra pas de partager vos créations.

Télécharger le fichier XML zippé de l’applicationsnap4arduino-inmoov-hand-v1.zip

Cette application gère le contrôle des 5 servomoteurs avec des  sliders permettant de fixer la position entre 0 et 180 degrés.

Modifiez le code du sprite START_Button en fonction de vos connexions à l’arduino ainsi que le nom du port USB sur lequel votre arduino est connecté.

snap4arduino-connexion-ardu

Démo en vidéo de SNAP4Arduino  pour le contrôle d’une main robot INMOOV

Bilan

La possibilité de contrôler l’arduino via SNAP4Arduino offre de nombreuses possibilités en robotique éducative, d’autant plus que des extensions existent pour contrôler des capteurs d’humidité, des senseurs ultrasons, des moteurs pas à pas etc…

Les enfants ayant déjà eu une initiation à Scratch, pourront très rapidement prendre en main SNAP4ARDUINO pour réaliser des projets robotique.