howto:divers:microbit

Présentation de la carte Micro:bit

Développée en Angleterre, la carte Micro:bit est une plateforme d'apprentissage destinée aux enfants (aux grands enfants aussi) et orientée vers le langage Python.

Dans un format réduit de 4×5 cm elle embarque :

  • un microcontrôleur nRF51822 basé sur un processeur ARM Cortex-M0
  • un accéléromètre NXP/Freescale MMA8652
  • un magnétomètre NPX/Freescale MAG3110
  • une matrice de 5×5 LED qui peut également être utilisée pour mesure une intensité lumineuse
  • deux boutons programmables
  • une connectivité Bluetooth
  • 5 ports en forme d’anneau (pouvant être connectées facilement avec des prises crocodile ou des fiches banane) dont 3 ports d’entrée-sortie analogique ou numérique
  • 20 broches de connexion (ports GPIO)

Toutes les infos sont disponibles sur le site web https://microbit.org/.

Plusieurs cartes additionnelles sont disponibles : afficheurs, capteurs, commandes moteurs, jeux, modules audio… sont disponibles pour réaliser vos projets basés sur cette carte.

Le site officiel nous renvoie vers les outils en ligne de développement :  https://microbit.org/code/ suivants :

  • Microsoft MakeCode editor qui permet de faire la programmation par blocs adaptés à la carte Micro:bit tout en proposant d'afficher le code correspondant en Javascript ou Python ainsi qu'une simulation intéractive de la carte.
  • Python editor qui permet la programmation directe en langage Micropython, une déclinaison du langage Python optimisée pour les microcontrôleurs.

L'inconvénient de ces outils est qu'il faut être connecté à Internet et utiliser le navigateur Chrome (ou Chromium pour sa version libre).

Mu Editor

Mu est un éditeur multiplateforme sous licence libre, simple et compatible Python 3, Pygame Zero, Cartes Adafruit (CircuitPython et MicroPython), Micro:Bit (MicroPython) téléchargeable à l'adresse suivante : https://codewith.mu/en/download

Quelques fonctionnalités pratiques :

  • REPL permet d'exécuter directement un code dans la carte Micro:bit sans avoir à l'uploader. Le code n'est alors pas persistant après redémarrage.
  • la gestion de fichiers permettant de récupérer le code python de la carte sur son ordinateur ou d'y placer des fichiers
  • affichage d'un graphique de données

uPyCraft

Les utilisateurs de Windows peuvent également utiliser l'exécutable uPyCraft pour jouer avec leur carte Micro:bit :

  • dans le menu Tool > Serial sélectionnez le port de votre carte
  • dans le menu Tool > Board sélectionnez “microbit”
  • vous pouvez alors saisir du code et l'exécuter directement sur la carte à l'aide du bouton ou du Tools > DownloadAndRun

Si l'outil est pratique pour tester du code en direct, il ne permet pas de l'uploader sur la carte ainsi après redémarrage le code n'est pas conservé…

uflash

Pour les utilisateurs de systèmes GNU/Linux il existe une alternative nommée :  uflash. Cet outil est capable d'encoder un script Micropython en fichier .hex et d'uploader sur la carte Micro:bit

On l'installe en utilisant la commande pip :

`pip install uflash`

Puis pour compiler et uploader votre script il faut tout d'abord monter la carte Micro:bit comme un périphérique de stockage usb classique puis lancer la commande suivante :

`uflash /chemin/du/script.py`

Astuce : la commande

`uflash -w /chemin/du/script.py`

uploadera le nouveau code à chaque fois que le script sera enregistré.

En lisant la documentation on comprend la syntaxe des bibliothèques pour utiliser les différents composants embarqués.

On va réaliser un script très simple qui utilise l'accéléromètre et la matrice LED. Le but est d'afficher sur la matrice LED un sourire si la carte est plane, une grimace si la carte est penche sur un côté. Le code est le suivant :

``` from microbit import *

while True:

  if accelerometer.get_x() > 300 or accelerometer.get_x() < -300 :
      display.show(Image.SAD)
  else:
      display.show(Image.HAPPY)

```

L'équivalent réalisé avec l'outil MakeCode correspond à ça :

Si vous souhaitez tester MicroPython sur Micro:bit, le Fablab a fait récemment l'acquisition de 2 cartes, accompagnées de leur shield de prototypage rapide, qui sont à votre disposition !

  • howto/divers/microbit.txt
  • Dernière modification: 2021/06/24 15:46
  • (modification externe)