01/08/2019

BBC micro:bit

Javascript

L'apprentissage de la programmation peut se faire en passant par des chemins variés et tout au long de la vie.

Mais dans les années 80 c'est toute une génération de développeur qui s'est initié à la programmation sur le tas, à savoir sur la première machine qui leur tombait entre les mains, généralement un micro-ordinateur de type familial grand public comme il en existait des dizaines à cette époque.

Uniquement aidé d'un manuel et alors que l'été semblait s'étirer jusqu'à l'infini, on se lancait courageusement dans la folle et mystérieuse aventure que constituait pour les non-initiés la réalisation, par soi-même, d'un petit jeu qui animerait l'écran bien morne du micro-ordinateur.

Le langage universel de l'époque était le fameux Basic. Simple, évolué mais facile à compendre; sa maitrise était indispensable à qui voulait controler vraiment sa machine et faire autre chose qu'acheter des logiciels faits par d'autres.

Au début, on tatonne... Découvrant le pouvoir de chaque instruction une à une, on avance un peu comme dans un voyage initiatique. Et finalement, après avoir passé des heures et des heures à recopier des exemples, à les bricoler, le puzzle se fait plus clair et les morceaux s'assemblent doucement jusqu'à obtenir enfin un petit jeu, certe modeste, mais qui fonctionne. Et surtout on sait pourquoi !

C'est cette approche qu'a choisi la BBC pour initier les petits collégiens anglais de la génération Z, en leur mettant dans les mains une petite machine micro:bit qui permet de démystifier la programmation et de comprendre que coder c'est facile.

Avec les énormes progrès accomplis par l'industrie de l'informatique depuis les 40 ans qui nous séparent des années 80, le micro:bit n'a vraiment plus rien à voir avec son ancêtre le micro-ordinateur d'initiation volumineux et cher. La carte est minuscule. Beaucoup plus puissante et ouverte sur le monde extérieurs grace à de multiples capteurs, et surtout si peu chère (elle ne coute que quelques €) qu'elle devrait se retrouver dans la trousse à crayons de tous les petits sujets de Sa Majesté.

Un kit d'initiation à la programmation

Le kit d'initiation micro:bit comprend une carte micro:bit, un cable USB et un support de batterie (plus 2 piles LR6-AA) pour utiliser la carte librement, sans être connecté à un PC par l'USB. La carte est équipée d'un êtit afficheur (une matrice 5x5 LEDs), de deux boutons et de différents capteurs tels que température, luminosité, boussole, accélération, et sans oublier les classiques entrées-sorties analogiques/numériques. Une carte micro:bit peut aussi communiquer avec d'autres cartes micro:bit via son propre réseau de courte portée (une sorte de Bluetooth privé) ou avec d'autres dispositifs via le Bluetooth BLE. On le voit ici, les possibilités offertes en terme d'intéractivité sont bien plus intéressantes que les autres offres généralement disponibles sur le marché.

Le plus fort étant la possibilité de coder sur le micro:bit SANS carte micro:bit physique! En effet, la carte micro:bit s'accompagne d'une plateforme web makecode, sorte d'environement de développement intégré (EDI), qui comprend un puissant éditeur de block de type Scratch et un émulateur de carte micro:bit permet de voir instantanément le résultat de son dur labeur :)

Premiers pas, premières lignes de code

Pour un premier programme, c'est peut être un peu compiqué mais l'idée ici est de reproduire un lancé de dé. L'utilisateur devra secouer la carte pour provoquer le lancer du dé; une petite animation à durée aléatoire s'affichera afin de donner un peu de suspense et enfin le dé s'arretera sur une face pour révéler un nombre de 1 à 6...

Ce petit exemple d'application permet d'aborder la notion de nombre aléatoire, de variable, de boucle, de test conditionnel, et enin de fonction. En somme, les bases de la programmation impérative.

Pour lancer le simulateur, cliquez sur le bouton > (Play) pour faire apparaitre la carte micro:bit. Secouer là en cliquant sur le bouton 'Shake'. Faite un pari sur le nombre qui va sortir, c'est plus drôle !

Voir le Jeu de dé sur MakeCode.

Il existe pléthore de cartes à microcontrolleur de type Arduino, me direz-vous, mais ce qui fait ici la différence c'est la cohérence et la richesse de l'offre matérielle/logicielle; il faut bien avouer que l'on n'a rarement vu kit d'initiation ausi stimulant.

Chapeau bas la BBC !