Activité périscolaire, Module 2: Robot mBot – Niveau 1, séance 1

Ce module est le second module de la série. Il permet de faire découvrir aux plus jeunes (à partir de 8 ans) l’ordinateur et les bases de la programmation. Ce module se veut ludique, il utilise le robot mBot et permet de compléter l’apprentissage de scratch et principalement l’utilisation de capteurs d’environnement.

Découverte du robot mBot

Le robot

Le robot « mBot » est conçu sur la base d’une carte arduino UNO-328 (base ATmega328). Cette carte est associée à un contrôleur de moteur spécialisé qui va nous permettre de commander les 2 moteurs du robot.

Le robot doit au préalable être monté. Pour éviter tout risque il est préférable d’effectuer le montage avant la première séance.

Schéma de montage:

robot

 

L’environnement de développement

Dans ce second module les élèves utiliseront le language scratch pour piloter le robot. Cependant une version spéciale de scratch appelée mblock est nécessaire pour tirer programmer les déplacements, accéder aux capteurs spécifiques du robot, envoyer les commandes vers le robot lors de l’exécution du programme. L’environnement mblock doit être téléchargé ici.  N’oubliez pas de le mettre en français si l’anglais vous pose problème.

L’environnement mblock

Pour les utilisateur de scratch pas d’inquiétude, les concepts restent les mêmes, et l’environnement parait tout de suite familier.

Tout d’abord nous allons dire a l’environnement que nous allons programmer un robot mBot. Pour cela nous allons aller dans le menu, choix de la carte et sélectionner mBot. Et choix des extensions makeblock

   

Identification des commandes du robot:

L’ensemble des instructions de programmation du robot est situé dans l’onglet de commande pilotage.

Exercice:

Le premier exercice va nous permettre de se familiarisé avec la création et le lancement du programme sur le robot.

But:

  • Apprendre à écrire un programme pour le robot
  • Apprendre à télécharger le programme dans le robot
  • Faire avancer le robot à la vitesse 50 lorsque je la touche a de la télécommande est pressée.
  • Stopper le robot lorsque la touche c de la télécommande est pressée.
  • Faire reculer le robot à la vitesse 25 lorsque la touche flèche vers le bas est pressée

Ecrire le programme:

Les instructions permettant de commander le robot se trouvent dans le menu Pilotage.

Les autres menus (Blocs & variables, Contrôle, Opérateurs), permettent de réaliser la logique du programme.

Tous les programmes que l’on voudra télécharger dans le robot commencent par

  1. Rechercher dans la liste des commandes du menu pilotage la commande qui permet de detecter l’appui sur une touche de la télécommande
  2. Rechercher dans la liste des commandes du menu pilotage la commande qui permet de faire avancer le robot
  3. Comment faire pour que le robot ne démarre tout de suite?
  4. Comment allons nous faire pour arrêter le robot?

Les commandes:

L’exercice se traduit par:

Quand la touche a de la télécommande est pressée

Alors

Avancer à la vitesse 50

Quand la touche c de la télécommande est pressée

Alors

Avancer à la vitesse 0

Quand la touche flèche bas est pressée

Alors

Reculer à la vitesse 50

A vous de jouer:

Les instructions scratch correspondantes à écrire dans l’onglet script (programme) sont:

Un programme avec toutes les instructions en ligne:

ou plus judicieusement, puisque l’environnement le permet, le programme avec traitement en parallèle:

Pour tester le programme nous allons devoir connecter le robot avec l’ordinateur. Cette connexion se fait par le cable USB.

Le programme va être télécharger dans le robot, il va se lancer automatiquement

Marche à suivre:

  • Allumer le robot (interrupteur on:off, situé au dessus de la roue arrière gauche)
  • Connecter le robot et l’ordinateur (Connecter-> par port Serie COM -> /dev: ….

  • Passer en mode arduino (Edition-> Mode Arduino), la fenêtre programme s’ouvre.

  • Sélectionner téléverser dans l’Arduino
  • Attentez que la fenêtre Téléversement fini

 

Pour aller plus loin:

Modifier le programme pour que le robot émette un son (Bip Bip) quand il recule comme les véhicules de chantier.

L’exercice se traduit par:

En italique ce qui doit être ajouté au programme précédent:

Quand la touche a de la télécommande est pressée

Alors

 Avancer à la vitesse 50

Mettre variable RobotRecule à 0

 

Quand la touche c de la télécommande est pressée

Alors

   Avancer à la vitesse 0

   Mettre variable RobotRecule à 0

 

Quand la touche flèche bas est pressée

Alors

   Reculer à la vitesse 50

   Mettre variable RobotRecule à 1

 

Répéter tant que variable RobotRecule = 1

  Emettre son (C5 beat 1 qart)

  Attendre 0.2 seconde

Fin tant que

 

Modifier le programme pour que le robot tourne à droite (en avançant) lorsque l’on appuie sur la flèche droite et à gauche lorsque l’on appuie sur la flèche gauche de la télécommande.

 

 

 

7 commentaires sur “Activité périscolaire, Module 2: Robot mBot – Niveau 1, séance 1

  1. Bonjour, je viens d’acquérir un robot mbot.
    J’ai suivi vos instructions pour la programmation mais quand je branche mon câble usb sur l’ordi, et que je vais sur l’icône « connecter », il n’y a aucun port série de trouver.
    Que dois je faire !:!!

  2. Bonjour, j’ai essayé tout tes programmes avec succès sauf celui qui permet d’emettre un bip au recule ! Je ne saisie pas l’intérêt de la variable ? As tu une astuce ou un modèl pour m’expliquer ? merci

    1. Il faut faire un module supplémentaire uniquement réservé au bip (commence avec mBot generer le code).
      Ce module code le Répéter tant que variable robotRecule vaut 1. La variable permet de partager l’état du robot s’il recule ou pas.
      Si le robot est en marche avant (appui sur la touche a) ou si on stoppe le robot (appui sur la touche c) on remet la varible à 0, la boucle Répéter tant que n’est plus exécutée le son s’arrête.

  3. Bonjour
    J’ai un Pb avec 2 robots : ils agissent avec la même clé wifi.
    Lorsque je branche ma clé sur un pc, et que je lance un programme scratch sur mblock, les deux robots avancent. Comment y remédier ? Merci.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.