Aller au contenu

Prendre en main MakeCode

MakeCode est l'éditeur dans lequel tu écris tes programmes. Il s'ouvre dans un navigateur, à makecode.microbit.org. Rien à installer.

Créer un projet

Sur la page d'accueil, Nouveau projet, puis un nom.

La page d'accueil de MakeCode, section « Mes projets »

Tes projets restent dans le navigateur de l'ordinateur où tu les as créés.

Un projet, plusieurs séances

Donne un nom clair dès le début — rover — et reviens dans le même projet d'une séance à l'autre plutôt que d'en créer un nouveau à chaque fois.

Les projets sont enregistrés dans le navigateur, pas dans un compte. Sur un autre ordinateur, tu ne les retrouveras pas. Si tu changes de poste, utilise le bouton de partage pour récupérer un lien vers ton projet.

L'écran

Trois zones, de gauche à droite.

Le simulateur — un micro:bit dessiné qui exécute ton programme en direct, avant même de le téléverser. Il affiche l'écran, réagit aux boutons, joue les sons. Pratique pour tester une animation sans brancher la carte.

La palette — les catégories de blocs, chacune sa couleur. Base, Entrée, Musique, LED, Radio, Boucles, Logique, Variables, Maths, puis Extensions et Avancé.

L'espace de travail — où tu assembles tes blocs.

En bas à gauche, le bouton Télécharger. En haut au centre, la bascule Blocs / JavaScript / Python.

Les deux blocs de départ

Un projet neuf contient déjà deux blocs.

au démarrage s'exécute une seule fois, au moment où la carte s'allume ou redémarre. C'est là qu'on met ce qui se règle au début.

toujours s'exécute en boucle, sans fin, tant que la carte est alimentée. Arrivé en bas, il repart en haut. C'est là qu'on met ce qui doit se répéter.

Pourquoi il faut des pauses

La carte exécute les instructions bien plus vite que l'œil ne suit. Un toujours qui allume puis éteint l'écran sans pause produit une image grise et immobile, pas un clignotement.

Le bloc pause (ms) se règle en millisecondes : 1000 ms font une seconde. C'est lui qui rend un programme visible.

Téléverser

Branche le micro:bit en USB, clique sur Télécharger, et suis les instructions.

La fenêtre « 1. Connectez votre micro:bit à votre ordinateur »

La première fois, l'éditeur demande l'autorisation d'accéder à la carte.

La LED jaune au dos de la carte clignote pendant le transfert. Quand elle s'arrête, le programme démarre.

Sache que ton programme tourne

Mets toujours une icône et un son dans au démarrage. Quand quelque chose ne marchera pas, tu sauras au premier coup d'œil si c'est bien ton programme qui s'exécute — et tu t'épargneras de chercher dans le code un problème qui est dans les fils.

Une fois téléversé, le programme est dans la carte. Débranche l'USB, alimente par les accus : il repart tout seul. L'ordinateur n'est plus nécessaire.

Les fonctions

Une fonction est un bloc que tu fabriques : tu lui donnes un nom, tu mets des blocs dedans, et tu l'appelles ensuite par son nom.

FonctionsCréer une fonction… → nomme-la → Terminé.

La catégorie Fonctions dépliée dans MakeCode, avec le bouton « Créer une fonction… »

Le nouveau bloc fonction <nom> apparaît dans l'espace de travail : glisse tes blocs dedans. Un bloc appel <nom> apparaît en même temps dans la catégorie Fonctions — c'est lui que tu places dans toujours ou dans au démarrage.

À quoi ça sert

À écrire une fois ce qu'on utilise dix fois, et à se relire. appel avancer se comprend sans lire le détail ; trois blocs moteur avec des chiffres, non.

Deux règles qui évitent des heures perdues :

  • Un nom qui dit ce que ça fait. avancer, pas fonction2.
  • On modifie la fonction, jamais ses copies. Change la vitesse dans avancer, et tous les appels suivent.

Pour renommer une fonction ou lui ajouter un paramètre : clique sur la roue dentée du bloc fonction.

Les variables

Une variable est une boîte nommée qui retient une valeur. Tu y ranges quelque chose, tu le relis quand tu veux.

VariablesCréer une variable… → donne-lui un nom qui dit ce qu'elle contient.

La fenêtre « Nom de la nouvelle variable » dans MakeCode

Deux blocs suffisent : définir <nom> à … pour y mettre une valeur, et le bloc <nom> lui-même pour la relire.

À quoi ça sert avec un capteur

Lire un capteur deux fois de suite donne deux valeurs différentes — il bouge entre les deux lectures. Range la mesure dans une variable, et tous tes tests parleront bien du même instant.

Les capteurs, et la décision

Un capteur ne dit jamais « penche à gauche ». Il dit -247. Il faut donc transformer un nombre en décision — et c'est le même geste pour un thermostat, un détecteur de présence, un capteur de ligne ou une télécommande.

1. Regarde avant de décider

La faute classique est d'écrire le test avant d'avoir vu les chiffres. On se trompe de signe, d'ordre de grandeur, d'axe — et on cherche ensuite dans le code un problème qui n'y est pas.

Affiche les valeurs brutes, dans toujours :

série écrire valeur "x" = accélération (mg) x

Téléverse, puis Afficher données Appareil. Bouge la carte et regarde les courbes.

La communication série

série écrire valeur n'affiche rien sur la carte : il envoie les valeurs à l'ordinateur par la liaison série, dans le câble USB. C'est pour ça qu'il faut rester branché pour voir quelque chose, et c'est aussi pour ça que ces blocs ne servent qu'à la mise au point — une fois le rover autonome, personne ne les lit plus.

Le graphe des données de l'accéléromètre : quatre courbes qui réagissent aux mouvements de la carte

Trois questions, à chaque fois, et pour n'importe quel capteur :

  • Quelle valeur au repos ? C'est ton point zéro, et il n'est pas forcément à 0.
  • Ça monte ou ça descend quand tu fais le geste ?
  • Jusqu'où ça va ? Un capteur qui varie de 40 et un qui varie de 1000 ne se traitent pas pareil.

L'accéléromètre du micro:bit

Il mesure une accélération sur trois axes, en mg (millièmes de g). À plat et immobile, la pesanteur donne environ 1000 sur z et environ 0 sur x et y.

Axe Ce qu'il mesure
x L'inclinaison gauche / droite — le roulis
y L'inclinaison avant / arrière — le tangage
z Le haut et le bas
force L'intensité totale, tous axes confondus

2. Choisis un seuil

Un seuil est la valeur à partir de laquelle tu décides que ça compte.

Pourquoi il en faut un

Une carte posée à plat n'affiche jamais exactement 0. Elle oscille, elle vibre, la table n'est pas d'équerre. Sans seuil, ta télécommande part dans tous les sens toute seule.

Trop bas, ça se déclenche sans que tu bouges. Trop haut, il faut pencher la carte à la verticale pour obtenir quelque chose. Entre les deux, il y a une zone morte confortable.

Il n'y a pas de bon seuil

Comme pour les vitesses de tes moteurs : le tien dépend de ta main et de ta façon de tenir la carte. Note-le, ne le recopie pas.

3. Écris la décision

Les blocs sont dans Logique : si … alors, et le + du bloc pour ajouter sinon si et sinon.

La catégorie Logique de MakeCode, avec les blocs si/alors et les comparaisons

Range d'abord la mesure dans une variable :

définir tangage à accélération (mg) y
si tangage < -100 alors      → montrer la flèche Nord
sinon si tangage > 100 alors → montrer la flèche Sud
sinon                        → effacer l'écran

Le sinon n'est pas facultatif. C'est lui qui éteint l'écran quand la carte revient à plat. Sans lui, la dernière flèche reste affichée.

L'ordre compte : le premier test vrai gagne, les suivants ne sont même pas lus. Mets en premier ce qui doit primer.

La radio

Deux micro:bit communiquent sans fil, sans réseau et sans rien à installer. Les blocs sont dans la catégorie Radio.

Le groupe

Toutes les cartes de la salle émettent sur la même fréquence. Le groupe est le numéro qui les trie : une carte ne reçoit que les messages de son propre groupe, et ignore tous les autres.

Un seul bloc, dans au démarrage, sur chacune des deux cartes :

Le bloc « au démarrage » contenant « radio définir groupe 75 », et le curseur qui sert à régler le numéro

Le numéro va de 0 à 255. Ce qui compte n'est pas lequel tu choisis, mais que les deux cartes aient le même, et que personne d'autre dans la salle ne l'utilise.

Groupe ≠ portée

Changer de groupe ne rend pas la liaison plus sûre ni plus longue. Ça sépare les conversations, rien de plus : n'importe qui peut régler son groupe sur le tien et écouter.

Envoyer, recevoir

Le bloc qu'on utilise sur le rover envoie une clé et une valeur :

envoyer la valeur  "avancer"  =  180  par radio

La clé est un mot : c'est l'ordre. La valeur est un nombre qui l'accompagne — une vitesse, une distance, une mesure.

En face, quand une donnée est reçue par radio se déclenche tout seul à chaque message, et apporte deux choses : nom (la clé) et valeur (le nombre).

On teste alors nom pour savoir quoi faire. Attention au bloc de comparaison : il en existe deux, et celui qui compare des textes a deux cases blanches. Celui qui compare des nombres ne marchera pas ici.

La clé fait 8 caractères, pas un de plus

Au-delà, la carte tronque sans prévenir.

Ce que tu tapes Ce qui part vraiment
tournerAGauche tournerA
tournerADroite tournerA
gauche gauche
droite droite

Deux clés qui commencent pareil deviennent le même message. Le programme est juste, il se relit sans qu'on trouve rien, et le rover désobéit : compte les caractères avant de coder.

Se mettre d'accord avant de coder

Deux machines qui échangent doivent s'entendre sur le canal et sur le vocabulaire. Cet accord s'appelle un protocole, et il s'écrit avant le programme.

Clé Valeur Ce que fait le rover
avancer inclinaison Les deux moteurs en avant
reculer inclinaison Les deux moteurs en arrière
gauche inclinaison Pivot à gauche
droite inclinaison Pivot à droite
arreter 0 Tout s'arrête

Note le tien dans ton carnet de bord. C'est ce que tu reliras quand ton coéquipier programmera l'autre carte.

Quand rien ne passe

La radio est muette : elle ne signale ni l'échec, ni le succès. Fais-la parler toi-même — une flèche, une icône, un son à chaque message envoyé et à chaque message reçu. C'est le seul moyen de voir où la chaîne se coupe.

Ce que tu vois Où chercher
Rien ne s'affiche, même côté émetteur Le programme n'envoie pas : seuils, conditions
L'émetteur affiche, le récepteur non Les groupes diffèrent, ou une carte n'est pas alimentée
Le récepteur affiche, mais le mauvais ordre Les clés ne correspondent pas — vérifie les 8 caractères
Ça marche, puis ça s'arrête Les accus

Retire les témoins à la fin

Un écran qui clignote pendant une mission gêne. Mais tant que tu règles, laisse-les : c'est ce qui te fait gagner du temps.

Blocs, JavaScript, Python

La bascule en haut de l'écran montre le même programme sous trois formes.

Un programme affiché en Python dans MakeCode

Les blocs sont une façon d'écrire du code.

Tu peux regarder, c'est instructif. Attention : en passant en texte puis en revenant aux blocs, une mise en page peut se perdre. Fais l'aller-retour sur un projet dont tu n'as pas peur de perdre l'agencement.

La carte DFR0548 et ses blocs · Déboguer