Raspberry PI Tutorial

Premiers pas avec le micro: bit et MicroPython

Par Thomas, le 14 novembre 2020
Premiers pas avec le micro: bit et MicroPython

Dans ce tutoriel, nous faisons nos premiers pas avec MicroPython sur le micro: bit en créant un simple dé qui utilise la génération de nombres aléatoires déclenchée par le contrôle gestuel, le tout en 9 lignes de code!

Qu’est-ce que MicroPython?

Mettre tout simplement; Micro Python est une implémentation de Python 3 pour les microcontrôleurs. MicroPython comprend un petit sous-ensemble de la bibliothèque standard Python, mais il est optimisé pour fonctionner sur des microcontrôleurs plutôt que sur des microprocesseurs. MicroPython a été créé par Damien George et le premier tableau à prendre en charge le langage était un tableau à financement participatif appelé PyBoard.

Qu’est-ce que micro: bit?

Le micro: bit est une carte microcontrôleur créée par la BBC (British Broadcasting Corporation) en partenariat avec 29 sociétés (ARM, CISCO, Code Club, Microsoft, Python Software Foundation.)

Le but de ce partenariat était de créer une plate-forme d’apprentissage pour les enfants et les différents partenaires ont fourni une expertise en matière de logiciels, de matériel, de fabrication et de production de contenu pour soutenir le micro: bit.

En 2016, la Fondation micro: bit a été créée, et ils ont pris la responsabilité de soutenir et de nourrir le micro: bit et sa communauté.

Le micro: bit mesure 5 cm sur 4 cm et au centre de la carte se trouve une matrice de LED monochromes 5×5, flanquée de chaque côté de deux boutons poussoirs. Sur le bord inférieur du micro: bit se trouve un connecteur de bord à 20 broches qui agit comme GPIO (General Purpose Input Output) dont cinq broches (0,1,2,3V et GND) sont séparées pour une utilisation avec des pinces crocodile. Sous le capot, nous avons un processeur ARM Cortex M0 32 bits fonctionnant à 16 MHz avec 16K de RAM. La carte est également livrée avec Bluetooth Low Energy (BLE), accéléromètre et boussole, tous prêts à être utilisés dans des projets.

Comment écrire du code avec micro: bit?

Il existe un certain nombre de langages pris en charge par micro: bit, mais les deux plus populaires sont un éditeur de blocs JavaScript et un éditeur Python. Nous utiliserons l’éditeur Python pour explorer comment créer un dé qui réagit au fait que l’utilisateur secoue le micro: bit.

Pour ce projet, vous aurez besoin

  • Un micro: bit
  • Un câble micro USB vers USB
  • Un ordinateur avec une connexion Internet

blank

Nous commençons par ouvrir notre navigateur Web pour http://python.microbit.org/ et cela nous présentera l’éditeur Web Python. L’interface est claire et simple.

blank

Téléchargement: Ceci téléchargera un fichier compilé (.hex) de notre code à utiliser sur le micro: bit.

Enregistrer: Cela téléchargera un fichier Python non compilé que nous pouvons examiner et à partir duquel nous pouvons apprendre.

Charger: charge un fichier Python ou .hex dans l’éditeur.

Extraits de code: courts blocs de code pouvant être utilisés dans votre code.

Aide: un système d’aide complet.

+ & -: contrôler le niveau de zoom du texte à l’écran.

On voit qu’il y a déjà du code dans l’éditeur, c’est le code «Hello World» pour tester que votre micro: bit fonctionne. Pour l’instant, nous pouvons supprimer tout le code à l’exception de la ligne 2 “from microbit import *”.

Sur une nouvelle ligne, ajoutons le code pour importer la fonction randint de la bibliothèque aléatoire. Nous utiliserons randint (Random Integer) pour générer un nombre aléatoire entre 1 et 6 pour nos dés.

from random import randint

Maintenant, nous créons une boucle infinie, en Python, cela s’appelle «while True:» et cette boucle exécutera continuellement le code qui y est contenu.

while True:

Nous sommes maintenant à l’intérieur de la boucle, indiquée par le code étant indenté de quatre espaces / une tabulation automatiquement par l’éditeur. Pour la prochaine ligne de code, nous devons créer une condition qui sera testée. Cette condition est de vérifier si le micro: bit a été secoué, si cela est correct alors le «geste» enregistré par le micro: bit sera «shake», et nous pouvons passer à la ligne de code suivante.

   if accelerometer.was_gesture("shake"):

Le code est donc à nouveau indenté et ces trois prochaines lignes de code sont activées si le micro: bit a été secoué. Tout d’abord, le micro: bit affichera sur la matrice LED un nombre choisi au hasard entre 1 et 6 (7 est une limite et ce nombre n’est pas choisi). Les plus vifs d’entre vous repéreront le str () non fiable, utilisé pour convertir le nombre aléatoire (Integer) en une chaîne qui peut être utilisée sur l’affichage matriciel à LED.

       display.show(str(randint(1,7)))

Les deux lignes suivantes indiqueront au code de faire une pause de 2 secondes (2000 millisecondes), puis d’effacer l’affichage matriciel LED.

       sleep(2000)

       display.clear()

Mais que se passe-t-il lorsque le micro: bit n’a pas été secoué? Eh bien pour cela nous utilisons une condition «autre» qui affichera un visage souriant sur le micro: bit lorsqu’il n’est pas utilisé.

   else:

        display.show(Image.HAPPY)

blank

Et c’est tout le code. Cliquez sur Télécharger pour télécharger une copie du code compilé pour votre micro: bit. Insérez maintenant le câble micro USB dans votre micro: bit, puis dans votre ordinateur. Le micro: bit apparaîtra comme une clé USB. Copiez le code téléchargé depuis votre ordinateur vers le micro: bit. Au dos du micro: bit, vous verrez une lumière jaune scintiller, il s’agit d’une LED d’activité nous indiquant que le code est en train de se copier. Une fois terminé, le voyant restera allumé.

Jetez maintenant un œil à l’avant du micro: bit et vous devriez voir un visage souriant! Secouez le micro: bit et regardez comme il choisit un nombre!

Dans ce didacticiel, nous avons fait nos premiers pas avec le micro: bit et MicroPython, avons appris à interagir avec le micro: bit et à générer des nombres aléatoires à l’aide d’une bibliothèque Python.

Code final

from microbit import *

from random import randint

while True:

    if accelerometer.was_gesture("shake"):

        display.show(str(randint(1,7)))

        sleep(2000)

        display.clear()

    else:

        display.show(Image.HAPPY)

Thomas

Thomas

Fan de Raspberry Pi de la première heure, je suis l'évolution de ces micro-pc depuis maintenant 5 ans. En plus de l'actualité je propose de nombreux tutoriels pour vous aider à exploiter pleinement votre nano-ordinateur côté domotique ou retro-gaming.