Différentes façons de programmer en python avec une micro:bit

Les interfaces permettant de programmer la micro:bit en Python (microPython pour être plus précise) sont multiples : entre les versions officielles, les interfaces partenaires de micro:bit, et les projets totalement parallèles, chacun pourra trouver une interface à même de permettre à ses élèves de programmer la carte en Python, qu'ils soient débutants ou confirmés, qu'ils programment en ligne ou en version installée sur poste.

1. Edublocks : programmer en Python avec des blocs

L'éditeur Edublocks est l'un des projets développés par Josh, (Joshua Lowe, @all_about_code), jeune adolescent britannique. L'interface en ligne permet de programmer en Python en sélectionnant et imbriquant des blocs, comme dans l'interface de Scratch. Le module microbit est à importer en début de programme. On alterne d'un clic entre la version blocs et une version textuelle.

Le programme par blocs peut être sauvegardé (Save) au format .xml , le programme python au format habituel .py, et le programme à télécharger (Download) sur la carte micro:bit au format .hex.

Les intérêts de cette version sont multiples :

  • Une similitude avec les outils de programmation par blocs déjà utilisés par les élèves, permettant de se centrer d'abord sur le projet en cours et sur les algorithmes que l'on souhaite programmer, et de repousser la maîtrise de la syntaxe à une phase ultérieure ;

  • Un affichage des instructions disponibles, qui permet à la fois de ne pas avoir besoin de connaître la syntaxe complète, et de visualiser l'ensemble des instructions disponibles pour s'en inspirer. Ce point me paraît un atout considérable dans le cas d'élèves débutants ou pratiquant une programmation occasionnelle ;

  • Le texte apparaissant dans les blocs étant rigoureusement identique à la syntaxe Python, les élèves se familiarisent peu à peu avec le langage Python, au cours de la réalisation de projets. La transition peut respecter des rythmes différents pour chaque élève, chacun choisissant de travailler en mode blocs ou en mode texte et pratiquant autant d'allers-retours que nécessaires pour récupérer la syntaxe à partir d'un bloc et l'incorporer à un programme en mode texte.

2. Programmer la carte micro:bit avec create.withcode.uk

Cette interface open source propose un éditeur en ligne de scripts en python. Ce projet est indépendant de la fondation micro:bit. D'apparence austère, cette interface comporte un atout original : un simulateur de carte micro:bit (version non officielle, en test alpha). Les élèves peuvent ainsi tester leur programme sur le simulateur — et notamment lorsqu'ils ne disposent pas de carte (chez eux, en classe en attendant que le matériel circule, etc. ).

Il suffit d'ajouter l'instruction ci-dessous en début de script et de l'exécuter pour voir apparaître une fenêtre simulant la carte et ses différents capteurs et actionneurs.

1
from microbit import *

Ce site propose également de sauvegarder ses scripts, avec ou sans connexion, et de les partager par lien (comme celui-ci) ou en mode « embed », ce qui permet d'afficher les scripts et la carte simulée dans un ENT par exemple.

3. Programmer la carte avec l'éditeur Python du site de la fondation micro:bit

Cette interface fait partie des interfaces proposées sur le site de la fondation micro:bit. Elle s'utilise directement dans un navigateur.

Elle nécessite de connaître quelques bases du langage Python.

Le programme est à sauvegarder (Save) au format habituel des programmes Python, .py, et à télécharger (Download) sur la carte micro:bit au format .hex.

4. Programmer la carte micro:bit avec l'éditeur Mu

Une version avancée — et néanmoins très conviviale— de l'éditeur Python de micro:bit, nommée Mu, peut être téléchargée pour une édition hors-ligne. Cet éditeur présente notamment l'intérêt d'une auto-complétion efficace lors de la saisie du code. Développé en Python, cet éditeur fonctionne sur Windows, MacOS, Linux et Raspberry Pi.

Un mode de tracé en temps réel permet de visualiser les données transmises par les capteurs de la carte. L'exemple ci-dessous affiche les valeurs des inclinaisons (avant-arrière et gauche-droite) de la carte.