Illustration : un enfant avec un mètre ruban à côté d'un robot dont le capteur à ultrasons vise une tour de cubes

Illustration générée par IA

Mis à jour le Par Emmanuel SAUVAGE
Enregistrer

Activité mBot : mesurer des distances

Capteur ultrason mBot : mesurer distance, afficher (LED). Types, Arduino C.

Cette activité en deux temps guide pour :

  1. Lire la distance renvoyée par le capteur à ultrason du mBot et la voir sur l’ordinateur (variable + mode Live) ;
  2. Afficher cette distance sur la matrice LED du robot en mode autonome (sans câble), en gérant le passage nombre → texte.

Les libellés exacts des blocs peuvent varier selon la version de mBlock et la langue de l’interface ; l’enchaînement logique reste le même.

Vidéo — Activité mBot : mesure des distances : YouTube — démonstration pas à pas

1. Prérequis

2. Le capteur à ultrason : rappel utile

Le module à ultrasons mesure une distance en émettant une onde et en mesurant le temps de retour après réflexion sur un obstacle. Sur le mBot classique, il est en général à l’avant ; orientez le robot vers ce que vous voulez « voir ».

  • Plage usuelle (documentation constructeur / blocs) : souvent environ 3 cm à 400 cm — trop près ou trop loin, la mesure devient peu fiable ou absente.
  • Usages : évitement d’obstacles, suivi de mur, détecteur d’intrusion, jeu « stop » à une distance donnée, etc.

La vitesse du son intervient dans le calcul côté carte ; pour l’activité, l’essentiel est de savoir que la valeur fournie par le bloc est en centimètres (selon le bloc choisi — vérifiez l’unité affichée dans mBlock).

3. Première partie : distance sur l’écran (mode Live)

Objectif : une variable (par ex. data ou distance) prend en boucle la valeur du capteur ; vous la voyez dans la zone du lutin sur le PC.

  1. Créez une variable et cochez l’affichage sur la scène si mBlock le propose (souvent une case à cocher sur la variable).
  2. Branchez le mBot (USB ou Bluetooth selon votre contexte) et passez en mode Live — en français l’interface parlait parfois de mode « vivre » : c’est le mode temps réel où les blocs dialoguent avec le robot sans tout téléverser à chaque clic.
  3. Dans une boucle répéter indéfiniment (ou équivalent), affectez à la variable la lecture du capteur ultrason (bloc du type « distance / capteur ultrason » dans la catégorie mBot ou Capteurs).
  4. Un petit attendre (quelques dizaines de ms) évite de saturer la liaison et stabilise l’affichage.

Quand vous lancez le script, la variable se met à jour : vous lisez la distance en cm (tant que l’obstacle reste dans la plage valide).

Capture mBlock : script en boucle qui lit le capteur ultrason du mBot et affecte la valeur à une variable affichée dans la zone du lutin.
Exemple de script : le capteur alimente une variable visible près du lutin — pratique pour vérifier que la mesure « vit » quand tu bouges une feuille devant le robot.

Références d’époque (si besoin de comparer avec d’autres versions de mBlock) : anciennes captures désormais obsolètes.

4. Deuxième partie : distance sur la matrice LED (autonome)

Objectif : le robot seul affiche la distance sur la matrice LED (souvent 5×8), idéalement avec un défilement si le nombre est trop long — comme dans l’article faire défiler un texte.

4.1 Le problème : nombre vs texte

Le bloc de défilement de texte attend en général une chaîne (string), par exemple "42 cm".
Le capteur renvoie un nombre (nombre entier ou décimal). Ce n’est pas le même « type » : en Scratch / mBlock, il faut convertir ou assembler du texte, comme pour des pièces d’encastrement de formes différentes.

Deux approches courantes :

4.2 Approche A — Bloc personnalisé (simple, mais à manier avec soin)

Vous pouvez dupliquer ou adapter le bloc / la procédure qui affiche le texte défilant pour qu’elle accepte directement un nombre, ou pour qu’elle fasse la conversion en interne.

  • Avantage : tout reste en blocs pour les élèves.
  • Inconvénient : si vous avez besoin dans le même programme d’un affichage texte libre et d’un affichage distance, vous vous retrouvez souvent avec deux jeux de blocs (duplication). Pour un atelier court, ça reste acceptable ; pour un projet qui grossit, préférez l’approche B ou une fonction bien nommée par usage (defiler_distance, defiler_message, etc.).

4.3 Approche B — Passage par le code Arduino / C (plus propre à terme)

mBlock peut générer du code à partir des blocs, puis vous permettre d’éditer la partie Arduino C (bouton ou onglet Code / symbole </> selon la version).

Étapes typiques :

  1. Construire le programme en blocs (boucle, lecture capteur, appel au défilement — même si le typage bloque encore).
  2. Ouvrir la vue code (icône </> ou menu équivalent), tout sélectionner et copier.
  3. Passer sur l’onglet Arduino (ou équivalent), coller puis adapter l’appel à la fonction de défilement pour concaténer nombre et unité en chaîne.

Exemple d’idée (les noms exacts defilement_texte_… dépendent de la génération mBlock — à ajuster après copie) :

defilement_texte_N_N(String(data) + String(" cm"), 1);

Ici, data est la variable qui contient la distance lue ; on forme une chaîne du type "37 cm" avant l’appel. L’image d’origine de l’article montrait l’emplacement de cette ligne dans le fichier généré : capture désormais obsolète.

Sécurité : manipuler le code C implique re-téléverser sur la carte et vérifier câble / piles. Faites une copie du projet .mblock avant de modifier le code généré.

5. Pistes d’extension

  • Filtrer les valeurs aberrantes (0, trop grand) avant affichage.
  • Seuil : afficher un symbole ou une couleur différente si la distance passe sous un certain cm.
  • Enchaîner avec une activité détecteur d’intrusion ou évitement pour réutiliser la même lecture capteur.

6. Aller plus loin

Pour prolonger avec le mBot, la robotique et l’algorithmique, poursuivez avec les autres fiches du site : activités mBot, détecteur d’intrusion (même famille de capteur), et les guides mBlock dans la colonne « À lire aussi ».

Pour la classe : nos 10 projets mBot gratuits proposent une progression complète en 10 séances, avec fiches élèves et corrigés en PDF.

Cette page vous a-t-elle été utile ?

Une question sur cet article ou besoin d'un conseil ? Posez-la ici

Vous hésitez entre deux modèles ou vous avez besoin d'aide sur un montage ? Écrivez-nous, nous vous répondons rapidement par e-mail.