Programmation graphique avec Arduino et Ardublock (pour les curieux)

Mise à jour du 22 février 2016

Cet article date de janvier 2015. Attention, le logiciel Ardublock est en fin de vie. Depuis maintenant deux ans environ, de nouveaux logiciels de programmation ont été développés, la plupart à partir de Blockly conçu spécialement par Google pour faciliter justement le développement de ce type de logiciels pédagogiques. On trouve aujourd’hui des logiciels capables de remplacer avantageusement Ardublock. J’ai choisi d’utiliser Blockly Arduino qui a entre autre l’avantage de pouvoir facilement s’adapter à mes besoins pédagogiques. J’ai rédigé un article qui vous expliquera plus précisément les avantages de Blockly Arduino par rapport à Ardublock, ainsi que les points à améliorer prochainement.

Arduino et Ardublock au collège

Arduino est à la fois un type de cartes électroniques programmables et un logiciel qui permet de travailler avec ces cartes. En plus d’être libre et gratuit, ce logiciel a le gros avantage d’être devenu un standard mondial. Le matériel compatible Arduino est fabriqué aujourd’hui en grande série et distribué à des prix de plus en plus bas par de nombreux fournisseurs.

Le logiciel Arduino a cependant le gros inconvénient de nécessiter une programmation en langage C. Son usage est donc hors programme, aussi bien au collège qu’au lycée. Le logiciel Ardublock est un logiciel libre et gratuit qui permet d’ajouter une interface de programmation graphique au logiciel Arduino. L’écriture des programmes se faut avec des blocs qui s’emboîtent intuitivement comme des pièces d’un puzzle. C’est très simple et ça limite fortement les sources d’erreurs. Ardublock est suffisamment simple et performant pour être utilisé aussi bien au collège qu’au lycée.

Interface graphique d’Ardublock

L’interface graphique d’Ardublock ne possède que 6 boutons (et non pas 6 menus !) situés sur un bandeau en haut de l’interface : difficile de faire plus simple !

Le bouton “Téléverser vers l’Arduino” lance la compilation et uploade le programme dans la mémoire de programme de la carte Arduino.

L'interface graphique d'Ardublock ne possède que 6 boutons (et non pas 6 menus) : difficile de faire plus simple (Source : Collège Jean Macé)

L’interface graphique d’Ardublock ne possède que 6 boutons (et non pas 6 menus) : difficile de faire plus simple (Source : Collège Jean Macé)

Une liste de librairies situées à gauche avec des boutons colorés permettent d’accéder à des blocs que l’on sélectionne et dépose sur l’espace de travail (cliquer / déposer) situé à droite, pour écrire le programme.

On peut sélectionner le bloc correspondant à la structure de contrôle souhaitée : Boucle faire ..., Si ... alors ..., Tant que ... (Source : Collège Jean Macé)

On peut sélectionner le bloc correspondant à la structure de contrôle souhaitée : Boucle faire …, Si … alors …, Tant que … La qualité de la traduction varie en fonction des versions. Des sous-programmes peuvent être réalisés (blocs non visibles sur cette image). (Source : Collège Jean Macé)

Interface graphique d’Ardublock, avec un programme pour faire clignoter une LED sur la broche 13. Des commentaires ont été ajoutés, ici en jaune pâle (ils peuvent être masqués éventuellement). Cliquer sur l’image pour zoomer. (Source : Collège Jean Macé)

Les blocs s’emboitent comme des pièces de puzzle de manière à empêcher la plupart des erreurs de syntaxe. Déplacer ou copier des blocs se fait très simplement. Pour supprimer des blocs, on les glisse en dehors de l’espace de travail, tout simplement.

LDR + Led +BP EF V2

Autre exemple de programme écrit avec Ardublock : commande de la sortie 10 (lampe par exemple) à partir d’un capteur de lumière (entrée 5 mémorisée dans la variable Lum) avec deux seuils (< 500 ou > 600) et/ou de l’entrée 12 (bouton poussoir par exemple). Cliquer sur l’image pour zoomer. (Source : collège Jean Macé)

 

Le matériel de base pour utiliser Arduino au collège

La carte Arduino de base disponible actuellement s’appelle l’Arduino Leonardo. Elle est amplement suffisante pour gérer la plupart des projets que nous menons au collège. Elle coûte environ 20 € TTC. Un câble micro USB standard (celui de votre smartphone par exemple) suffit pour l’alimenter, la programmer, communiquer avec le PC, …

Carte Arduino Leonardo (Source : arduino.cc)

Il existe des variantes de cette carte Arduino Leonardo. J’apprécie celle développée par DF Robot qui utilise des connecteurs de couleurs et qui a ajouté un connecteur qui permet d’ajouter notamment un module Bluetooth, tout en étant moins cher que la version de base (18 € TTC chez Gotronic le 18/1/15) :

Carte Arduino Leonardo DFRobot DFR0221 (Source : dfrobot.com)

Carte Arduino Leonardo DFRobot DFR0221.
Elle est disponible chez plusieurs fournisseurs (publicité involontaire) :
Chez Gotronic.fr (18 € TTC le 18/01/15)
Chez Zartronic (19 € TTC le 18/01/15)

Installation d’Arduino

La dernière version d’Arduino est disponible ici (version 1.0.6 aujourd’hui).
Il faut installer la version beta 1.5.8 d’Arduino pour pouvoir utiliser la carte Arduino Yun (pour un usage avancé avec connexion Wifi et services Web notamment).

Installation des drivers Arduino

Il suffit de brancher en USB une carte Arduino sur le PC qui installera les drivers (3).

“Installation” d’Ardublock

Il faut intégrer Ardublock au logiciel Arduino installé au préalable sur un PC (ou un MAC, …). La solution que j’utilise est la suivante :
Après avoir installé Arduino, créer dans le dossier Program Files (x86) / Arduino / Tools, l’arborescence “ArduBlockTool / tool” puis coller dans “tool” l’application java d’Ardublock (fichier avec l’extension .jar).

Je conseille de choisir une version béta récente d’Ardublock sur le site du projet en cours de développement :
http://sourceforge.net/projects/ardublock/files/

J’ai intégrée la version du 04/07/2014 dans le fichier ci-dessous que vous pouvez directement décompresser et coller dans le dossier “Program Files (x86) / Arduino / Tools”. Rien d’autre à faire !

ArduBlockTool.zip (à décompresser et à coller dans “Program Files (x86) / Arduino / Tools”).

Arborescence Arduino

Arborescence Arduino pour l’installation du plugin Ardublock (Source : Collège Jean Macé)

 

Mise en œuvre d’une carte Arduino avec le logiciel Arduino (+ Ardublock)

1. Connecter la carte Arduino à l’ordinateur avec un câble USB / mico USB.
2. Ouvrir le programme Arduino (raccourci sur le bureau).
3. Dans le menu “Outils” sélectionner : Type de carte / Arduino Leonardo.
4. Dans le menu “Outils”, sélectionner le Port série correspondant à la carte Arduino. C’est normalement le dernier avec la chiffre le plus élevé (il est possible de le vérifier dans le gestionnaire de périphériques).
5. Dans le menu “Outils” sélectionner Ardublock.

Test et modifications de quelques programmes fournis

1. Copier le répertoire contenant les programmes à tester ou à modifier, dans le répertoire de travail de votre choix.
Quelques exemples de programmes sont disponibles dans le dossier ci-dessous (à décompresser) :
Prog Ardublock 18_01_15.zip
D’autres exemples de programmes seront fournis prochainement.
2. Dans Ardublock, cliquer sur “Ouvrir” puis sélectionner le premier programme à tester, Prog 1, dans votre répertoire de travail.
3. Cliquer sur “Téléverser vers l’Arduino” pour générer le programme (compilation) et l’envoyer dans la mémoire du processeur de la carte électronique programmable.
Remarque l’avancement de la compilation et du téléversement ne sont visibles que dans la fenêtre d’Arduino qui peut être regardée à cette occasion.
L’exécution se lance ensuite automatiquement. Le PC peut éventuellement être déconnecté, à condition de conserver une alimentation (USB ou coaxiale).
4. Observer le fonctionnement obtenu et comparer avec le fonctionnement souhaité.
5. Modifier le programme de manière à obtenir le fonctionnement souhaité.
Dans le programme n°1 fournis, modifier les durées lorsque la Led est allumée ou éteinte : cliquer sur la valeur à modifier, la modifier puis taper sur Entrer. Enregistrer éventuellement (bouton Enregistrer).
6. Tester à nouveau le programme en cliquant sur “Téléverser vers l’Arduino”. Modifier à nouveau le programme si nécessaire.

Interface graphique d’Ardublock, avec le programme n°1 qui permet de faire clignoter une LED sur la broche 13. Des commentaires ont été ajoutés, ici en jaune pâle (ils peuvent être masqués éventuellement (Source : Collège Jean Macé)

Programme n°2 qui permet de piloter un servomoteur à rotation continue en fonction du niveau d’un capteur infra-rouge (représentatif d’un capteur de vide d’un aspirateur robot). (Source : Collège Jean Macé)

A suivre !