Utiliser Arduino en Technologie


Les nouveaux programmes de Technologie (depuis 2016) nous demandent de développer l’algorithmique et la programmation dans nos activités. Ce domaine est aussi à présent développé par nos collègues de Mathématiques dans leurs nouveaux programmes.

Afin d’aborder ces nouveaux concepts avec nos élèves sans les bloquer par l’apprentissage d’un langage informatique, il a été, non-officiellement, convenu d’utiliser la programmation par blocs d’instructions (type Scratch et tous ses dérivés).

Dans un souci de travailler en démarche de projet et d’avoir la possibilité de réaliser du prototypage rapide, il a été nécessaire de trouver des supports physiques sur lesquels nous pouvions développer des prototypes de systèmes automatisés simples, démontables et facilement pris en main par les élèves. Les collègues de Mathématiques, quant à eux, restent sur la partie théorique de la programmation et développent des projets purement numériques comme des applications ou des jeux vidéos.

Un des supports existants (il en existe d’autres) présentant, selon moi, toutes les qualités requises pour être utilisé en classe que cela soit pour des activités dirigées ou des projets, est la carte programmable Arduino.

Elle a pour elle le fait d’être :

  • peu onéreuse (20€ pour une carte officielle)
  • facile à utiliser (connexion par USB aux ordinateurs, pilotes reconnus sous Windows 7, 8 et 10)
  • libre (une communauté énorme d’utilisateurs s’est développée ces dernières années, que cela soit via des utilisateurs lambda ou des entreprises, comme Makeblock par exemple)
  • versatile : on peut piloter beaucoup de systèmes automatisés avec cette carte, et malgré ses caractéristiques limitées, elle suffit grandement pour nos usages en classe
  • déclinable et déclinée en plusieurs modèles (taille, nombres d’entrées et de sorties, mémoire, microprocesseur différents)

Vous trouverez ses caractéristiques et son historique (elle a été développée par des universitaires Italiens) sur sa page Wikipedia.

Pour simplifier, c’est un mini-ordinateur (pas aussi développé et puissant qu’un Raspberry Pi …) qui va pouvoir stocker dans sa mémoire et exécuter un programme que l’on conçoit et téléverse depuis un ordinateur.

Par défaut, elle se programme en C++ depuis son IDE (logiciel spécifique de programmation à installer sur ordinateur – libre et gratuit) mais il existe à présent de nombreux logiciels de programmation par bloc qui contiennent des interfaces dédiées à la carte Arduino, comme le logiciel mBlock de la société Makeblock qui conçoit les robots mBot.

La carte seule n’a pas d’intérêt, c’est comme avoir une carte mère d’ordinateur avec sa mémoire vive, son microprocesseur et son disque dur : cela ne suffit pas pour interagir avec nous, il manque des périphériques d’entrée (capteurs) et de sortie (actionneurs) de l’information. Et c’est là qu’une des grandes forces de la carte réside, dans le nombre illimité de périphériques existants et surtout dans la forme de ceux-ci.

Vous trouverez tous types de périphériques, de la DEL à l’écran tactile, du servomoteur au détecteur de fumée …

Ce qui va différer c’est la façon dont sont reliés les périphériques à la carte :

  • la manière la plus basique (qui est la moins onéreuse mais aussi la plus délicate à utiliser en classe) est d’utiliser des composants standards et de les relier via “breadboard” (une platine à contacts) et câbles. Cette méthode devient très fastidieuse lorsque l’on conçoit des montage complexes car les câbles se multiplient vite, ne permettent pas une lecture simple du montage et sont plutôt sensibles au faux-contact sur le breadboard.

 

  • Vous pouvez trouver pour pas cher (entre 30 et 50 € selon le nombre de composants) des “kits de débutant Arduino” sur des grands sites de vente en ligne. Les cartes vendues dans ces kits sont des “Made in China” et ont parfois des problèmes de drivers. Je vous les déconseille fortement pour équiper une classe mais vous pouvez en acheter un pour vous afin d’entrer dans le monde de l’Arduino (c’est ce que j’ai fait, mais j’ai rapidement laissé tomber mon kit).

  • la manière la plus sécurisée et la plus convenable à nos usages en classe est d’utiliser des composants provenant d’une entreprise tierce qui a développé des modules prêts à l’usage et qui se connectent à la carte Arduino via une platine dédiée (que l’on appelle “shield”). Le shield va venir s’insérer sur le dessus de la carte et permettre de nouvelles connexions. Il existe des dizaines de types de modules (et de marques : Lilypad, Makeblock, SeeedStudio …), qui bien sûr ne sont pas du tout compatibles entre eux. Choisir une marque vous conditionne pour la suite.  

 

Nous avons fait le choix dans mon collège de prendre des Starter Kits Grove de la marque SeeedStudio qui est une entreprise chinoise spécialisée dans les périphériques.

 

Le Starter Kit Grove contient suffisamment de composants pour mener à bien de nombreux projets au collège : un shield, un écran LCD rétroéclairé, un module DEL, des interrupteurs, un relais pour piloter un appareil en 220V, un potentiomètre, un buzzer, un micro, un capteur de température, un capteur de lumière, un mini servomoteur …

Vous pouvez le trouver chez Technologie Services ou chez des fournisseurs de matériel électronique comme Lextronic ou Gotronic. J’ai déjà testé les 3, les livraisons se font sans encombre. Ces entreprises proposent une multitude de modules supplémentaires qui vous permettront de réaliser des projets de plus en plus élaborés. Le tarif moyen d’un kit Grove + une carte Arduino est de 65€ (veillez bien à acheter 1 carte avec chaque kit, certains fournisseurs vendent les 2 ensemble, d’autres non !)

Le site Wiki de SeedStudio est très documenté en contient même des projets et des usages pour chaque composant, mais il est exclusivement en Anglais.

 

En ce qui concerne mes activités avec ce matériel, il me permet :

Les 4èmes utilisent les robots mBot de Makeblock dont les cartes mCore sont basées sur Arduino. Les 3 années du cycle 4, les élèves utilisent le logiciel mBlock de Makeblock (basé sur Scratch) pour programmer cartes et robots.

D’autres activités sont en réécriture et viendront se rajouter à celles-ci.

 

Les cartes Arduino s’utilisent selon 2 modes :

  • Le mode “offline” ou autonome : on connecte la carte sur l’ordinateur le temps de téléverser le programme. Puis, la carte est utilisée dans un système automatisée en étant alimentée par une pile par exemple. Cela permet d’avoir un système autonome et transportable. Le point négatif est qu’il faut rebrancher la carte à un ordinateur pour téléverser un nouveau programme. Un téléversement prend en moyenne 20 secondes et nécessite quelques manipulations de connexion (branchements et paramétrage) que les élèves assimilent rapidement (cela prend 30 secondes maximum). la démarche est expliquée pour les robot mBot dans la fiche méthode suivante :

    Il suffit de bien sélectionner le type de carte selon ce que l’on connecte à l’ordinateur).

  • Le mode “online” : la carte reste tout le temps connectée à l’ordinateur. C’est le câble USB qui alimente la carte en électricité. Le gros point positif est que la carte communique tout le temps avec l’ordinateur et qu’il n’est pas nécessaire de téléverser le programme dans sa mémoire. On gagne ainsi du temps car les programmes peuvent être testés dès qu’ils sont modifiés. Pour cela, vous pouvez vous reporter à la page 3 de la fiche méthode Arduino-Grove que je donne aux élèves de 5ème :

 

Un autre point important est la compatibilité de mBlock avec beaucoup de produits d’autres entreprises qui créent des modules pour Arduino. La liste est longue, il suffit d’aller dans le menu ” Choix de la carte ” pour s’en convaincre. Par contre, la compatibilité de mBlock avec toutes les familles de modules (comme Grove pour la carte Arduino par exemple) est plus délicate. Elle nécessite l’installation d’extensions (cela tombe bien, le menu “Extensions” est fait pour cela) qu’il faut aller chercher sur le Web. Si vous décidez d’utiliser le même matériel que moi, je ne peux que vous conseiller d’installer les extensions mises au point par Technologie Services. Elles sont gratuites et permettent d’utiliser sans souci une grande majorité des modules Grove sur mBlock. L’extension a été remise à jour courant 2018 (voire fin 2017) est a été bien corrigée. Son installation doit respecter scrupuleusement ce qui est expliqué dans les documents pour bien fonctionner. Mettez-vous en relation avec votre Administrateur Réseau pour cela car il faut les droits administrateur pour installer l’extension sur chaque ordinateur. En outre, selon la solution de serveur dans votre établissement, il faut choisir avec discernement le dossier d’installation de cette extension (à chercher dans le dossier d’installation du logiciel, du côté de “ext/libraries”) pour cibler un dossier qui n’est pas nettoyé à chaque fermeture de session (par défaut les extensions s’installent dans un dossier d’utilisateur, dossier qui est nettoyé par le serveur à chaque fin de session sur nos ordinateurs).

Les extensions de Technologie Services se trouvent ici : https://www.technologieservices.fr/mblock-extensions-ts-3-4-11-ress-175416.html

 

Bon courage pour découvrir les possibilités de la carte Arduino et n’hésitez pas à me contacter si vous avez des soucis.

Print Friendly, PDF & Email