Ce guide explique comment utiliser un protocole série pour contrôler le robot d’entraînement mBot. Vous pouvez personnaliser le code pour le rendre plus approprié pour votre projet (ou pour une utilisation dans les événements RoboCup Jr, par exemple).

mbot-robocup-jr-labyrinthe

MBot est un robot très populaire dans les événements RoboCup Jr.

Le fonctionnement des robots télécoms avec une puce XBee offre 2 avantages majeurs:

  • Il est beaucoup plus facile à configurer et à utiliser que de contrôler un robot via WiFi ou Bluetooth
  • Lorsqu’il est utilisé avec le module XBee, vous pouvez récupérer les données collectées par les différents capteurs de mBot (pas possible avec la téléopération depuis l’application Makeblock mBot)

Comment fonctionne notre collection?

système xbee-arduino-grove

Le système se compose de 2 modules XBee (l’un agit comme émetteur et l’autre comme récepteur), un robot d’entraînement mBot et un module utilisé pour envoyer la commande.

Dans ce guide, ce dernier module sera composé d’une carte Arduino UNO et d’un joystick Grove. (Ce système peut être remplacé par un contrôleur ArbotiX Commander, qui contient déjà une puce XBee!)

Nous adaptons le code du contrôleur ArbotiX Commander au système Arduino + Joystick.

La trame de transmission de données utilisée se compose de 8 octets:

Index (n ° octet) La description Exemple
0 nouveau package (0xff) 1111 1111 (déc: -1)
1 joystick droit V 0100 0000 (déc: 64)
2 joystick droit H 0000 0000 (Déc: 0)
3 joystick gauche V 0000 0000 (Déc: 0)
4 joystick gauche H 0000 0000 (déc: 0) / td>
5 boutons 0000 0000 (Déc: 0)
6 Additionnel 0000 0000 (Déc: 0)
7 Sécurité 0000 0000 (Déc: 0)

Ici, nous avons envoyé le décimal 64 sur le deuxième octet (index 1), ce qui se traduit par 0100 0000 en binaire.

Dans notre système Arduino Board + joystick, nous n’utilisons qu’un seul joystick, donc les seules données importantes sont celles de l’octet 0 (nouveau package), 1 (joystick droit V – vertical), 2 (joystick droit H – horizontal) et 7 (sécurité ).

Pour traduire les valeurs du joystick en commandes moteur, utilisez les formules mathématiques suivantes:

Vitesse du moteur droit = ​​joystick droit V – joystick droit H
Vitesse du moteur gauche = joystick droit V + joystick droit H

En utilisant le package précédemment envoyé, cela fournit:

Régime moteur droit = ​​64-0 = 64
Régime moteur gauche = 64 + 0 = 64

Ainsi, le robot se déplacera en ligne droite.

Logiciels, bibliothèques et ressources de micrologiciel requis pour ce guide

Configuration des puces XBee

Vous devez configurer chaque puce XBee à l’aide du logiciel XCTU. Suivez les étapes de configuration ci-dessous pour chaque puce XBee.
1. Connectez votre puce XBee à l’ordinateur à l’aide du XBee Explorer USB.xbee-explorer-usb-sparkfun
2. Connectez-vous à la puce XBee à l’aide du logiciel XCTU. La vidéo ci-dessous explique comment procéder.

3. Ensuite, définissez les paramètres pour chaque XBee utilisé (le tableau ci-dessous vous aidera):

    • Sélectionnez XBee sur la gauche (1) et allez dans l’onglet de configuration (2)
    • Changer l’ID XBee (il doit être unique) et l’adresse de destination (3)
    • Vérifiez son canal ainsi que le débit en bauds (il doit être identique pour tous les modules XBee nécessaires pour communiquer entre eux)
      (3)
    • Cliquez sur « Type » pour enregistrer (4)

chiffres xbee

XBee connecté Canal Adresse de destination Adresse source Débit de données d’interface
mBot C 2 1 38400
PC USB C 1 2 38400

Connexions du robot mBot

xbee-10

Vous trouverez ci-dessous un tableau récapitulant les différentes connexions entre le microcontrôleur robot mBot et le XBee Explorer USB.

XBee mBot
5V 5V
GND GND
RX dix
TX 9

Le port 2 du robot mBot est utilisé par la puce XBee, alors assurez-vous de ne rien y connecter!

Connexions Arduino

connexion xbee-arduino-mbot

xbee-arduino-mbot-connexion-2

Vous trouverez ci-dessous un tableau résumant les différentes connexions entre la carte Arduino, la puce XBee et le joystick Grove.

XBee Manette Arduino
Vcc 3v3
GND GND GND
RX 9
TX dix
Oui A1
X A0
Clé (inutilisée)

Installation du firmware de la carte Arduino

  1. Connectez votre Arduino au PC à l’aide d’un câble USB
  2. Ouvrez le fichier Arduino_code.ino (lien de téléchargement dans les ressources)
  3. Changez le type de carte et le port série en fonction de ce que vous utilisez
  4. Télécharger sur la carte (Ctrl + U)

Installation du micrologiciel mBot-robot

  1. Connectez le mBot au PC à l’aide d’un câble USB B
  2. Ouvrez l’IDE Arduino et installez la bibliothèque Makeblock (Aide)
  3. Ouvrez le fichier Mbot_code.ino (lien de téléchargement dans les ressources)
  4. Depuis l’IDE Arduino, modifiez le type de table et sélectionnez Outils -> Carte -> Arduino Uno
  5. Télécharger sur la carte (Ctrl + U)

Une fois le micrologiciel correctement installé, redémarrez le robot. Et tu as fini!

Laisser un commentaire

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