Tags -

Niveau(x) scolaire(s)
Fiche ressource / Pour en savoir plus

Différentes façons de réaliser des programme pour les cartes Arduino

Les cartes Arduino apportent une réponse à la problématique : "Comment faire de l’électronique en utilisant un langage de programmation ?".

Pour programmer une carte, il faut utiliser une interface de programmation.

Les cartes Arduino et toutes les projets autour de ces cartes ont été conçus pour être accessibles à tous par la simplicité de leur programmation (comparativement à d’autres programmations plus ardues). Evidemment, ici le mot "simplicité" est à prononcer avec discrétion et discernement car il va vous falloir parfois vous investir un peu plus que si vous deviez juste recopier un texte.

A l’école ou ailleurs, de plus en plus de personnes utilisent ces cartes pour apprendre, s’amuser, connaître, réaliser. Il y a même maintenant des entreprises ou des projets commerciaux à base de ces cartes Arduino. Le monde Arduino est en constante évolution et cela pour une simple et bonne raison : les possibilités d’applications sont innombrables et variées.

En classe, il y a de fortes chances pour que vous utilisiez une carte Arduino à partir de la cinquième (et même, j’en suis persuadé en 6e et avant dans quelques années si ce n’est pas déjà fait ici ou là). Pour le moment, en sixième, c’est plus une approche de la programmation avec des blocs, une initiation. Par contre, on peux imaginer en quatrième et encore plus en troisième une utilisation avancée des cartes Arduino et l’utilisation d’interfaces de programmation évoluées et plus complètes.

Arduino, depuis quand ?

Il n’y a pas toujours eu des cartes Arduino ! C’est une équipe de développeurs qui a conçu cette carte dans le but de créer facilement des systèmes électroniques. Si cela vous intéresse, je présente la genèse d’Arduino dans un article sur ce site.

Qu'est-ce qu'une carte électronique ?

JPEG - 55.5 ko

Une carte électronique est un ensemble de composants électroniques, reliés entre eux par des pistes conductrices sur un support unique. Cet assemblage a été réalisé pour assurer une ou plusieurs fonctions d’un objet. Il y en a un peu partout chez nous, dans la rue, dans tous les lieux de vie, publics ou privés et au boulot.

Qu'est-ce qu'une carte programmable ?

Une carte programmable est une carte qui a besoin d’un "programme" pour fonctionner. Elle fonctionne un peu comme un être humain : s’il n’y a rien dans son "cerveau" (le microcontrôleur), elle ne sait rien faire et ne fait donc rien.

Elle a un microcontrôleur que l’on peut programmer. Je devrais plutôt dire qu’on peut installer un programme informatique dans la mémoire de ce microcontrôleur. (Voir l’article Qu’est-ce qu’une carte programmable ?).

Des interfaces de programmation

PNG - 585.5 ko

Interface de programmation6e5e4e3eLycéeAvantagesInconvénients
MBlock X X X X Ressemble à Scratch. Possibilité d’interagir entre l’écran de l’ordinateur et la carte (Programmation directe). Possibilité de téléverser un programme dans la carte Arduino. Blocs assez simples à utiliser. Type de programmation à connaître pour le Brevet des collèges. Nombre limité de modules électroniques utilisables. Des gros soucis pour téléverser avec MBlock sur un réseau informatique protégé correctement. Impossible de se partager une programmation sauf à empiler à nouveaux les différents blocs de programmation.
Ardublock X (pas conseillé) X X X Programmation par bloc. Nombre plus important de modules électroniques gérés comparativement à MBlock. Interface pas très pratique (blocs trop gros, interfaces peu claire). Il faut passer par l’IDE Arduino pour téléverser ses programmes (possibilité de perdre finalement les élèves qui doivent enregistrer leurs fichiers Ardublock et qui parfois n’enregistre que le fichier programme de l’IDE Arduino
Blockly @rduino X X X Application web. Ressemble à MBlock. Pour téléverser, il faut insataller un plugins dans le navigateur, avoir lancé un autre logiciel pour gérer la connection avec la carte Arduino.
IDE Arduino X X* X* C’est l’interface originale. C’est celle qu’utilise des millions de gens et qui publient leurs bouts de codes sur internet. Tous les modules existants peuvent être programmés. Bien que compliquée au premier abord, la programmation est basée sur des règles assez simples à connaître avec un peu de pratique. Cette programmation peut faire peur au premier abord. Il faut respecter la syntaxe exacte, un petit caractère en trop quelques part, et c’est la catastrophe. En 2018, cette façon de programmer n’est pas au programme au collège (même si, j’en suis persuadé on finira bien par y arriver …). Le professeur doit maîtriser cette programmation.

(*) A n’utiliser au collège que si le professeur est performant en programmation et qu’il propose un projet qui nécessite des modules électronique difficiles ou impossibles à utiliser avec mBlock ou Ardublock.

Personnellement, j’utilise mBlock quand c’est possible (c’est à dire quand je n’ai plus de cheveux à m’arracher pour installer tel ou tel module "exotique"). Je n’aime pas Ardublock qui est bien pour des bouts de programmes trés courts mais il ne faut pas avoir besoins de nombreux blocs de programmes, sinon l’interface devient vite indigeste.

Je n’arrive pas à préparer des cours avec Blockly @rduino mais je pencerais un peu plus sur cette interface dans l’avenir.

Pour des projets ambitieux, je n’hésite pas à proposer l’utilisation de l’IDE Arduino dès la 4e. Evidemment, cela doit se faire après des expérimentations avec mBlock sur des projets plus simples (feux rouges, barrière, ponts mobiles, interaction avec une webcam, alarme, etc …)