HOME

Introduction micro:bit

Qu'est-ce que le micro:bit ?

Le micro:bit (aussi noté BBC micro:bit ou micro bit) est un ordinateur à carte unique doté d'un processeur ARM. Conçu au Royaume-Uni pour un usage éducatif dans un premier temps, le nanoordinateur est maintenant disponible au grand public dans de nombreux pays.

La platine de 4 × 5 cm embarque un processeur ARM Cortex-M0, un capteur de mouvement 3D (ou accéléromètre) et un magnétomètre 3D (ou boussole numérique), des connectiques Bluetooth et USB, une matrice de 5 x 5 DEL (25 diodes électroluminescentes), un bouton de réinitialisation et deux boutons programmables. Le petit circuit imprimé peut être alimenté par un connecteur USB sur le port micro-USB ou par deux piles AAA (3V) en série sur un autre connecteur. La carte se branche à l'aide de cinq anneaux et 20 broches de connexion.

Comment peut-on le programmer ?

Le micro:bit se programme à l'aide d'un IDE (environement de programmation) que l'on peut retrouver ici ! On peut voir que la programmation peut se faire via un système de programmation en block mais aussi via le language Javascript.

Une fois votre programme écrit, vous devez brancher votre micro:bit en USB à votre ordinateur pour ensuite y glisser le fichier téléchargé à partir du site.

L'interface de MakeCode

L'interface se compose de plusieurs parties :

Ici on peut voir le dessin d'un micro:bit, qui correspond à un aperçu de ce qu'il va se passer avec votre code.

Ici on peut trouver toutes les fonctions que l'on utiliseras.

Et enfin, le gros bouton télécharger qui permet de télécharger votre fichier.

Les bases de la programmation

La programmation en block est plus intuivite que la programmation traditionnelle mais les concepts de programmations sont toujours les mêmes c'est pour cela qu'il est utile de les maitriser. Pour commencer, on peut essayer de comprendre ce que les blocks au démarrage et toujours font.

La fonction au démarrage

Cette fonction permet d'initialiser tous notre code, il est lancé qu'une fois, au démarrage de votre programme. Cela permet par exemple de définir des valeurs pour des variables à l'allumage de votre micro:bit.

La fonction toujours

Cette fonction permet de faire une boucle (une répétition infinie) du code que l'on met dedans. Cela permet de faire des action à l'infinie.

Ces deux fonctions sont très importantes à connaitre et à comprendre, elles sont la bases de votre code et de la plupart des language de programmation

Par exemple, si je veux afficher un texte au démarrage et un autre texte après, il nous faudra dans un premier temps lui dire d'afficher un texte dans la fonction au démarrage puis un autre texte dans la fonction toujours, comme ceci :

Le resultat sera donc ceci :

On peut voir qu'il commence par hello! et ensuite boucle sur for ever !.

Exemple

On va voir maintenant comment transformer le micro:bit en boussole, cela permet de comprendre comme utiliser les senseurs déjà présent sur la carte.

Dans un premier temps, nous avons donc ceci :

Comme on l'a vu, au démarrage, le texte hello! s'affiche, puis dans la fonction toujours nous n'avons rien, pour l'instant. Maintenant il nous faut créer une variable, ce qui permet de sauvegarder une valeur. On la crée de cette façon :

Et on la nomme direction :

Ensuite, on prends le block définir direction à 0 et on le place dans notre fonction toujours.

Ensuite on peut maintenant associer une valeur à notre variable direction. Pour cela, nous devons récupérer la position de notre micro:bit grâce à son accèlérométre.

Et on vient la glisser dans le bloc définir direction, comme ceci :

Ensuite, on doit créer une condition. Une condition en informatique est représenter par if ou si, cela permet de dire au programme de faire certaine action si une condition est remplise. Pour créer la condition, on va dans l'onglet logique :

A partir de la, il nous faut choisir la condition que l'on veut, dans notre cas, nous devons lui dire que notre valeur doit être égale ou supérieure :

Ensuite, nous devons ajouter notre variable dans la condition, pour cela, on doit cliquer, une fois encore sur l'onglet Variables et prendre le block qui correspond à notre variable et le placer dans la condition à la place du zero.

comme ceci :

Maintenant il faut changer notre condition pour dire que si notre variable direction est plus petite ou égale à 45°, il faut afficher quelques choses. Pour cela il nous faut changer l'opérateur comme ceci :

Et aussi changer la valeur de la condition avec 45 :

Une fois ceci fait, on peut reprendre la fonction afficher texte et la rajouter comme ceci :

Une fois ceci fait, il nous reste à faire les conditions pour les autres points cardinau, pour ceci on clique sur le + :

Ensuite, il nous faut dupliquer les conditions pour le nord et l'adapter pour l'est :

Ensuite il faut la même choses pour le sud et pour l'ouest et arriver à ceci :

Et pour finir, il nous faut finir la condition en obligeant le programme à afficher N lorsque toutes les autres conditions ne sont pas remplies.

Voila, maintenant l'on peut jouer dans l'éditeur pour voir ce que cela donne.

Un autre exmple, un compteur de score !

Dans cet exemple, on verra comment utiliser les boutons qui sont présents sur le micro:bit.

Pour cela, il nous faut dans un premier temps créer une variable :

Et la nommer compteur :

Il faut ensuite l'initialiser, lui donner une valeur de base, ici on mettra 0 :

Vous pouvez remarquer que l'on l'a mis dans le block au démarrage, cela permet de donner une valeur au lancement du micro:bit, si on l'aurait mis dans toujours, à chaque boucle, la valeur sera remise à 0.

Une fois cela fait, il nous faut afficher la valeur sur l'écran, pour cela nous allons utiliser la fonction montrer nombre et lui donner la valeur de notre variable compteur :

A partir de maintenant, il nous utiliser les boutons, pour cela rien de plus simple. Dans l'onglet entrées on peut trouver la fonction lorsque le bouton a est pressé :

Cette fonction est indépendante de au démarrage ou toujours, elle fonctionne à coté :

On peut voir que l'on définit que lorsque le bouton A est pressé, il rajoute 1 à la variable compteur. Il va donc l'afficher comme ceci :

Mais on aimerait bien que ce soit le bouton B qui augmente le chiffre et que le bouton A, lui, permet de diminuer le chiffre. Pour cela, il nous fait simplement changer le bouton A en B et dupliquer la fonction du bouton :

Un nouveau problème apparait, le bouton A ne s'arrête pas à 0, il continue dans les chiffres négatifs. On va donc l'obliger à rester au dessus de 0 a l'aide de condition :

On peut voir maintenant que les scores ne peuvent pas déscendre en dessous de 0 :

Et si maintenant vous voulez rajouter un bouton pour faire un reset des scores, vous pouvez utiliser A+B, comme ceci :