Blog ENI : Toute la veille numérique !
Dernière chance (fin le 29/02) : -25€ dès 75€ sur les livres en ligne, vidéos... code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Arduino
  3. Robots
Extrait - Arduino Apprivoisez l'électronique et le codage (3e édition)
Extraits du livre
Arduino Apprivoisez l'électronique et le codage (3e édition)
7 avis
Revenir à la page d'achat du livre

Robots

mBot

Ce robot utilise une motorisation classique à trois roues (deux roues motrices et une roue libre). Ce système, à la fois simple et efficace, lui assure une excellente fiabilité.

images/Maj0901.png

Le robot mBot avec sa télécommande infrarouge

Il est particulièrement adapté à une utilisation pédagogique (en collège ou lycée), mais il est également très apprécié en tant que "jouet" éducatif. Le robot mBot est évolutif, il possède de nombreuses extensions et son châssis (en aluminium) de type "Meccano" permet aux apprentis bricoleurs d’exprimer toute leur créativité.

La carte mère mCore (qui équipe le robot mBot) peut être considérée comme un clone d’Arduino, puisqu’elle possède un microcontrôleur ATMega328P (comme l’Arduino Uno). Cependant, son format est complètement différent. Elle intègre bien sûr un contrôleur pour les deux moteurs, mais également un buzzer, deux LED RGB, un bouton poussoir, un capteur lumineux, une LED d’émission IR, une LED de réception IR, un interrupteur Marche/Arrêt, les connecteurs du module Bluetooth et quatre connecteurs RJ25 (pour ajouter différents modules d’extension).

images/Maj0902.png

La carte mCore

Dans sa version de base, le robot est alimenté par quatre piles AA reliées à un connecteur jack. Toutefois, il est conseillé de les remplacer par une batterie LiPo 3,7 V (utilisant un autre connecteur). Non seulement ce type d’alimentation est plus économique (et écologique) à l’usage, mais également très pratique puisque la batterie se charge automatiquement quand le robot est relié par USB à une source d’alimentation (ordinateur ou chargeur USB).

images/Maj0903.png

Alimentation du robot mBot

1. Clé Bluetooth Makeblock

Comme n’importe quel Arduino, le robot mBot peut être programmé avec un câble USB branché à l’ordinateur, mais il peut très facilement communiquer sans fil. Pour cela, insérez le module Bluetooth dans l’emplacement correspondant et procurez-vous une clé USB Makeblock.

Ensuite, branchez la clé et allumez le robot (les LED bleues clignotent). Appuyez sur le bouton...

Zumo

Le robot est très compact, il est équipé de chenille et possède de puissants moteurs. La version de base n’a pas de microcontrôleur, il s’agit simplement d’une carte shield au format de l’Arduino (Uno). Ensuite, libre à vous de choisir entre Arduino Uno, Leonardo (ou n’importe quelle autre carte compatible).

images/Maj0957.png

Zumo Shield v1.2 avec l’Arduino Uno (mchobby.be)

Le robot intègre aussi un accéléromètre 3 axes, un magnétomètre, un buzzer, un bouton poussoir et une LED programmables. Il peut aussi accueillir un module de suivi de ligne très performant (équipé de six capteurs infrarouges). L’alimentation est assurée par quatre piles (ou batteries rechargeables) au format AA. Elles sont situées sous le robot, dans un boîtier très facile d’accès. Leur remplacement est donc très simple et ne nécessite pas d’outils (ou de démontage d’une partie du robot).

Le robot est disponible en kit ou déjà monté sur le site internet du constructeur (https://www.pololu.com) ou dans la boutique MC Hobby. La documentation officielle du robot Zumo a d’ailleurs été traduite en français par Dominique Meurisse (de MC Hobby). Elle est disponible à l’adresse suivante : https://wiki.mchobby.be/index.php?title=Pololu-Zumo-Shield-Arduino

Il existe de très nombreuses options, mais nous nous contenterons ici d’utiliser la configuration de base avec un Arduino Uno).

1. Installation de la bibliothèque

La bibliothèque ZumoShield simplifie énormément la programmation de la carte. Pour l’installer, lancez l’IDE Arduino et allez dans Outils - Gérer les bibliothèques. Tapez ensuite "zumo" dans la barre de recherche, sélectionnez la bibliothèque ZumoShield et cliquez sur Installer.

images/Maj0958.png

Installation de la bibliothèque ZumoShield

2. Bouton poussoir, LED et buzzer

Le bouton poussoir permet d’interagir avec le robot. Le robot est très nerveux, il est donc prudent d’attendre que l’utilisateur appuie sur le bouton avant de démarrer les moteurs. La LED et le buzzer peuvent être utilisés pour donner des informations sur l’état du programme. La LED utilise simplement le port...

Robot bipède Otto

Il s’agit d’un robot animé par quatre servomoteurs et contrôlé par un Arduino Nano (pour gagner de la place). C’est un projet open source, vous pouvez donc le fabriquer vous-même, en imprimant le châssis (https://wikifactory.com/+OttoDIY/otto-diy) ou vous procurer un kit qui regroupe tous les composants.

Le kit Frog Robot de Keyestudio propose une version grenouille du robot Otto et utilise des servomoteurs à engrenages métalliques, il faudra seulement ajouter les deux batteries rechargeables 18650 (3,7 V) et prévoir un chargeur compatible avec ce format.

images/Maj0961.png

Le Otto Frog

Comme souvent, la notice de montage au format papier est très succincte, il est donc préférable de se rendre à l’adresse suivante : https://wiki.keyestudio.com/KS0446_Keyestudio_Frog_Robot_for_Arduino_Graphical_Programming

images/Maj0962.png

Les éléments du kit Frog Robot de Keyestudio

Les composants du kit sont standards (Arduino Nano, Shield Nano, capteur de distance HC-SR04, module Bluetooth). Cela devrait donc fonctionner, quel que soit votre modèle de robot Otto, à condition bien sûr d’utiliser les mêmes ports, c’est-à-dire :

  • Module Bluetooth : ports n° 11 sur TX et n°12 sur RX.

  • Jambe gauche : port n°2.

  • Jambe droite : port n°3.

  • Pied gauche : port n°4.

  • Pied droit : port n°5.

  • Capteur HC-SR04 : port n° 8 pour Trig et n°9 pour Echo.

  • Et bien sûr VCC sur V et GND sur G.

Pour que votre robot puisse jouer de la musique, il suffit d’ajouter un buzzer au port n°13 (non compris dans le kit de Keyestudio).

images/Maj0963.png

Branchement du robot Otto

1. Premiers pas

a. Blockly

Si vous souhaitez programmer votre robot avec Blockly (un langage de blocs similaire à Vittascience ou mBlock), allez sur www.ottodiy.com pour le télécharger et l’installer.

Pour calibrer le robot, cliquez sur le bouton Examples et chargez le programme "Legs calibration". Connectez le robot à l’ordinateur, sélectionnez le port (COM3 dans cet exemple) et lancez le téléversement (en cliquant sur la flèche, en haut à droite).

Le bloc home place les quatre servomoteurs à 90°. C’est la position de repos pour le robot, il faut que les jambes soient bien droites (parallèles) et que les pieds touchent...

Keyestudio 4WD Mecanum

Ce robot, proposé en kit par Keyestudio, est équipé des capteurs habituels (suivi de ligne, détection d’obstacles, récepteur infrarouge, module Bluetooth), mais en plus, il possède quatre roues motrices de type Mecanum.

images/Maj2-09-01.png

Robot Keyestudio 4WD Mecanum

Contrairement aux roues classiques qui utilisent des pneus pour augmenter l’adhérence, les roues Mecanum sont constituées de roulettes libres inclinées à 45°. Cette particularité lui permet de tourner sur lui-même ou de se déplacer en diagonale. Ce type de roue est notamment utilisé par des chariots élévateurs afin de manœuvrer plus facilement dans les entrepôts exigus.

Les roulettes ne sont pas toutes orientées dans le même sens. Lors du montage, respectez l’emplacement indiqué dans la documentation.

En combinant la vitesse et le sens de rotation des quatre roues, vous obtiendrez de nombreuses possibilités de déplacement. Voilà quelques exemples :

images/Maj2-09-02.png

Exemples de déplacement d’un robot Mecanum

1. Installation des bibliothèques

Keyestudio fournit une notice de montage détaillée avec de nombreux exemples de programmes. Rendez-vous à cette adresse : https://fs.keyestudio.com/KS0551 et téléchargez tout.

images/Maj2-09-03.png

Ressources de Keyestudio

Copiez ensuite le contenu du dossier Libraries dans le dossier contenant vos bibliothèque (Mes Documents\Arduino\libraries, par défaut), puis relancez l’IDE Arduino pour que la modification soit prise en compte.

Ensuite, vous pouvez vous amuser à tester les exemples de programmes de Keyestudio.

Pendant le téléversement, n’oubliez pas de retirer le module Bluetooth qui utilise aussi les ports 0 et 1 (sinon, vous ne pourrez pas reprogrammer l’Arduino).

2. Contrôle des LED

Le robot possède deux grosses LED multicolores au-dessus (à l’avant) et quatre LED Neopixel en dessous (à chaque coin).

Les deux LED du dessus n’offrent pas énormément de possibilités de programmation. On ne peut pas vraiment contrôler leur couleur, il est seulement possible de les allumer ou de les éteindre (et elles démarrent le cycle de changement de couleur, lent, puis rapide). Il n’est pas non plus possible d’en...

Fabriquer son robot

Si vous êtes un peu bricoleur, vous pouvez très facilement fabriquer votre propre robot. Choisissez deux moteurs (avec des roues), une roue libre, et fixez-les à un châssis (en bois, en carton ou imprimé en 3D). Souvent, les moteurs utilisés sont à courant continu, mais il est également possible d’utiliser des servomoteurs à rotation continue.

images/Maj0970.png

Moteurs et roue libre

Dans cet exemple, nous allons fabriquer un robot télécommandé par Bluetooth (avec le module Bluetooth HC-05 ou HC-06). Vous pourrez ensuite très facilement ajouter d’autres capteurs et modifier le robot pour qu’il s’adapte à d’autres projets (suivi de ligne, détecteur d’obstacles, télécommandé par infrarouge...).

1. Moteurs à courant continu

Les moteurs sont reliés à un module L298N (cf. chapitre Montages avancés - Les moteurs). Théoriquement, le module L298N peut recevoir une tension comprise entre 5 et 35 V, mais si l’on souhaite utiliser la sortie 5 V pour alimenter l’Arduino, il faut rester entre 6 et 12 V.

Le robot utilise 6 piles 1,5 V AA en série, c’est-à-dire 9 V (6 x 1,5), à condition que les piles soient neuves. Il est également possible d’utiliser 6 batteries rechargeables au même format, cela donne : 6 x 1,2 V = 7,2 V. Une batterie rechargeable de modélisme de 7,4 V conviendra aussi.

Vous pourrez utiliser la sortie 5 V du module L298N pour alimenter directement l’Arduino aux ports GND et 5 V ou relier la sortie 7,2 V des batteries (juste après interrupteur) à la prise jack. Il est vivement conseillé d’ajouter un condensateur pour stabiliser l’alimentation et éviter les microcoupures qui feraient redémarrer l’Arduino.

Il est également possible d’utiliser une alimentation différente pour l’Arduino, comme par exemple une pile 9 V. N’oubliez pas dans ce cas de relier les masses des deux alimentations (mais surtout pas les bornes positives). La pile de 9 V pourrait théoriquement alimenter aussi les moteurs en passant par le module L298N, mais l’autonomie du robot serait catastrophique car les moteurs consomment beaucoup plus qu’un Arduino.

Le moteur gauche est relié aux bornes OUT1 et OUT2...

Yeux animatroniques

C’est un système mécanique destiné à reproduire le mouvement des yeux à l’aide de six servomoteurs classiques. Cependant, il ne s’agit pas d’un projet commercial : vous devez imprimer vous-même les composants. Vous trouverez toutes les instructions nécessaires ainsi que les fichiers STL à l’adresse suivante : https://www.instructables.com/Simplified-3D-Printed-Animatronic-Dual-Eye-Mechani/

images/Maj0974.png

Yeux animatroniques (imprimés en 3D)

L’utilisation de ce système a été inspirée par une vidéo des Frères Poulain. Vous la trouverez sur leur chaîne YouTube : https://www.youtube.com/c/lesfrerespoulain

Dans cet exemple, nous n’allons pas piloter les yeux avec un joystick, mais une télécommande infrarouge. Vous disposez certainement d’une télécommande, mais il faudra ajouter un capteur infrarouge (de type VS1838B) et noter le code correspondant à chaque touche (cf. chapitre Communication - Infrarouge).

Il serait possible de piloter les servomoteurs directement depuis l’Arduino (à condition d’ajouter une alimentation spécifique). Mais si vous avez de nombreux servomoteurs à piloter, il est conseillé de choisir un module (ou un shield), comme l’Adafruit 16-channel PWM/Servo qui utilise le bus I2C pour communiquer avec l’Arduino et permet de piloter jusqu’à 16 servomoteurs (et vous pouvez même chaîner plusieurs modules).

Le capteur infrarouge est relié au port n°11 de l’Arduino, le module 16-channel PWM/Servo au bus I2C (SCL, SDA, 5V et GND) et les servomoteurs aux ports 0 à 5 du module (voir schéma). Prévoyez aussi une alimentation suffisamment puissante pour six servomoteurs (entre 4,5 et 6 V et au moins 1 A).

images/Maj0975.png

Branchement des yeux animatroniques

Pour pouvoir utiliser le module, vous devez installer la bibliothèque Adafruit PCA9685 PWM Servo Driver ainsi que les bibliothèques Wire (pour le bus I2C) et IRremote (pour la télécommande infrarouge).

images/Maj0976.png

Installation des bibliothèques

La bibliothèque Adafruit PCA9685 PWM Servo...