Page 1
Robot Zumo. (version 0.1) Traduit par MicroControleur Hobby (shop.mchobby.be) Compilé depuis la traduction maintenue sur https://wiki.mchobby.be/index.php?title=Pololu-Zumo-Shield-Arduino Les hyperliens sont disponibles sur la version en ligne du document. Translated by MicroControleur Hobby (shop.mchobby.be) Compiled from online translation available at https://wiki.mchobby.be/index.php?title=Pololu-Zumo-Shield-Arduino...
Page 2
Zumo (face vers le bas). Le shield offre toute l'électronique nécessaire pour alimenter et commander les moteurs ainsi que quelques composants additionnels permettant de réaliser un robot plus intéressant (comme un buzzer pour faire du son, un senseur inertiel incluant un accéléromètre et un gyroscope).
License En commun accord avec Pololu, cette traduction est mise à disposition sous licence CC-BY-SA Crédit de traduction Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte de crédit de traduction.
Autorisations Le présent manuel a été traduit avec l'autorisation de Pololu (www.pololu.com). Signaler une erreur Malgré tout le soin apporté à la réalisation de cette traduction, il n'est pas impossible qu'une erreur se soit malgré tout glissée dans ce document.
Page 5
Contacter Pololu Fully assembled Zumo chassis with assembled Zumo Shield (v1.0). Cliquer l'image pour l'agrandir Pololu serait ravit d'en apprendre plus sur vos expériences avec le Shield Zumo pour Arduino lien pololu https://www.pololu.com/product/2508 le kit Robot Zumo pour Arduino ou le robot Zumo pour Arduino lien pololu http://shop.mchobby.be/product.php?
Entretoise de 1/16" en acrylique noir (deux pièces) Le kit Robot Zumo Arduino Kit Châssis Zumo de Pololu (composants inclus). Cliquer l'image pour l'agrandir An plus du shield et du matériel déjà inclus, le kit Zumo robot pour Arduino inclus également ces composants:...
Robot Zumo pour Arduino, v1.2. Cliquer l'image pour l'agrandir Le robot Zumo pour Arduino en une plateforme robot complètement assemblée à partir des composants du Kit Robot Zumo, avec ces quelques éléments complémentaires: Deux micro moteurs 75:1 HP, engrenage métal lien pololu http://shop.mchobby.be/product.php?id_product=431...
Page 8
, les différentes étapes d'assemblage ont déjà été faites pour vous. Vous pourriez cependant avoir envie de configurer votre Zumo en ajoutant ou retirant des cavaliers de configuration. Sinon, vous pouvez simplement installer 4 piles AA et un Arduino (ou contrôleur compatible) et ignorer la Section 3 d'assemblage pour vous consacrer à l'utilisation du Zumo!
Vous aurez également besoin des éléments suivants pour faire fonctionner votre Robot Zumo avec un Arduino: Composants additionnels nécessaires Deux micro moteurs à engrenage métal http://shop.mchobby.be/recherche?controller=search&orderby=position&orderway=desc&search_query=micro- (nous recommandons un rapport 100:1, 75:1 ou 50:1 lien Pololu mot&submit_search=Rechercher...
8 Roues dentées et les chenilles 9 Démonter Introduction Suivez soigneusement ces instructions pour assembler correctement le Shield Zumo et le châssis. (Ces images présente le shield Zumo original mais les étapes d'assemblage restent identique pour la dernière version lien pololu https://www.pololu.com/product/2504...
évitez de maintenir le fer en contact avec la broches plus de quelques secondes..sinon vous risquez de fondre le connecteur femelle de votre Arduino. Le Zumo Shield déposé sur les connecteurs Arduino avant la soudure Cliquer l'image pour l'agrandir En dessous de la carte: coupez les connecteurs Arduino au ras de la carte (aussi proche que possible du shield) de sorte qu'elles ne rentrent pas en contact avec la carcasse du moteur.
I2C si vous utilisez un Arduino through-hole/DIP. Le Zumo Shield avec identification des cavaliers Cliquer l'image pour l'agrandir Optionnel: A ce point, vous devriez considérer les opérations de soudures/raccordement des composants additionnels (comme les senseurs), connecteurs, ou fils pour les connecter sur le shield.
Couvrez les le châssis et les moteurs avec les plaques entretoises puis pas le shield Zumo. Les trous dans la plaque entretoise doivent s'aligner avec les trous du shield qui sera déposé au dessus. Les broches des moteurs sont également placés de sorte qu'ils passent part les ouvertures dans les plaques entretoises (comme présenté...
(Note: Si vous comptez souder quoi que ce soit sur la zone d'extension à l'avant du shield zumo, comme le réseau de capteur infrarouge (suiveur de ligne), vous aurez plus de place pour travailler si vous le faites avant de placer la lame sumo.)
Roues dentées et les chenilles Placez les roues dentées libres (à pignon visser) sur chacune des vis à l'arrière du du Zumo. Placez une rondelle entre la roue et le chassis. Les "dents" de le roue dentée doivent être dirigées vers le chassis comme indiqué sur l'image.
Cliquer l'image pour l'agrandir Démonter Si, plus tard, vous avez besoin de souder des composants sur le shield Zumo, il est possible de retirer le shield du châssis (avec quelques effort et de la prudence). 1. Retirez les chenilles et enlevez les roues dentées des moteurs avec précaution.
Zumo. Il est conçu pour faciliter le montage sur la zone d'extension à l'avant du Zumo Shield et inclus tout le nécessaire pour réaliser l'installation. Notez que le réseau de capteur infrarouge n'est pas inclus avec le Shield Zumo ou le kit Robot Zumo.
Page 18
Utiliser un connecteur mâle droit fonctionnera également si vous n'avez rien soudé sur l'avant du Shield Zumo (sur la zone d'extension à l'avant du shield). Si vous placez le connecteur droit, assurez-vous qu'il n'interférera pas avec les senseurs que vous placerez sur l'avant du shield Zumo (ex: en l'installant du mauvais côté...
Page 19
Le connecteur femelle 2×12 inclus avec le réseau de capteur infrarouge devrait être souder sur la zone d'extension à l'avant du shield Zumo, centré sur la zone d'extension et prenant place contre le châssis zumo (les lignes 2 et 3). Même si nous recommandons de souder la totalité...
Page 20
Connecteur femelle 2x12 soudé sur le Zumo Shield Cliquer l'image pour l'agrandir Avec le connecteur femelle en place, le réseau de senseur (assemblé) peut être branché directement sur le shield Zumo. Placement du détecteur de ligne (sans lame sumo) Cliquer l'image pour l'agrandir Placement du détecteur de ligne (avec lame sumo)
Page 21
Cliquer l'image pour l'agrandir Les entrées/sorties utilisés par défauts sur le réseau de senseur sont des broches qui ne sont pas utilisés par le shield Zumo. Le shield prévoit une broche digitale, une pour chaque senseur (5, A2, A0, 11, A3 et 4), et si vous utilisez le cavalier LEDON alors une entrée/sortie additionnelle est utilisée (soit A4 ou 2).
Page 22
Cliquer l'image pour l'agrandir Par exemple, si vous désirez utiliser votre Zumo pour résoudre un labyrinthe à ligne (line maze), vous pouvez atteindre le résultat avec seulement 4 senseurs: vous pouvez utiliser les deux senseurs du milieu pour traquer la ligne et les deux senseurs extérieurs pour détecter les intersections.
La bordure arrière du shield Zumo reprend un connecteur femelle deux pôles connecté directement sur les connecteurs des piles. Ce connecteur peut être utilisé pour recharger les piles du Zumo sans retirer les piles du châssis. La broche positive du connecteur de recharge est sur la gauche et identifié...
Le Zumo shield intègre un contrôleur de moteur DRV8835 capable de piloter les deux micro-moteurs du shield Zumo. Quatres broches Arduino sont utilisé pour piloter le contrôleur DRV8835: Broche digitale 7 contrôle le sens de rotation du moteur droit (LOW pour faire avancer le Zumo et HIGH pour le sens inverse).
Section 3.b. Senseurs Inertiels Le shield Zumo inclus des senseurs inertiels sur la carte. Ces senseurs peuvent être utilisés par des applications avancées pour détecter l'accélération et l'orientation: Le Shield Zumo v1.2 embarque un accéléromètre et magnétomètre 3 axes LSM303D ainsi qu'un gyroscope 3-axes L3GD20H.
Si vous utilisez un Arduino Uno R2 (ou plus ancien), qui ne dispose pas de broche I2C séparée, les broches SDA et SCL du Shield Zumo seront connectés sur rien. Pour utiliser un périphérique I2C sur ces broches, vous pouvez connecter vous même SDA sur A4 --ET-- SCL sur A5 (en réalisant des connexions entre les deux ensembles de broches sur la zone frontale.
Le cavalier 'niveau des piles' connecte la broche analogique A1 de votre Arduino sur un pont diviseur de tension, ce qui permet de mesurer la tension des piles du Zumo. Ce cavalier est déconnecté par défaut. Il peut être connecté en soudant un morceau de fil entre les deux trous.
Page 29
Notez que les broches SCL et SDA n'existent pas sur les Arduino dont la révision est inférieure à R3. Dans ce cas, vous devrez connecter manuellement le trou SCL sur la broche analogique A5 et le trou SDA sur la broche analogique A4 du Zumo Shield pour pouvoir utiliser la boussole avec un ancien Arduino.
3.3v sur un Arduino utilisant des niveau logiques en 5V. Les senseurs, convertisseurs de niveau logique (level shifters) et résistances pull-up du bus I2C sont connectés, par défaut, sur les broches SCL et SDA du shield Zumo. Il est possible de les déconnecter en coupant les traces entre les paires de trou SDA et SCL, ce qui permet d'attribuer une autre...
Diagrammes et schémas Les schémas et diagrammes du shield Zumo sont téléchargeable aux format PDF: (449k pdf, Pololu) Diagrammes du shield Zumo v1.2 https://www.pololu.com/file/download/zumo-shield-v1_2-schematic.pdf?file_id=0J779 (121k pdf, Pololu) Diagrammes du shield Zumo original https://www.pololu.com/file/download/zumo_shield_schematic.pdf?file_id=0J591...
Page 32
Table des broches Arduino Broche Fonction du Shield Zumo Notes/fonctions alternatives digitale Ligne RX du port série pour programmation et communication sur un Uno (ou Entrée/Sortie digitale version antérieure) Ligne TX du port série pour programmation et communication sur un Uno (ou Entrée/Sortie digitale...
Page 33
La bibliothèque ZumoBuzzer offre des fonctions permettant de produire différents sons qui sont reproduits sur le buzzer du shield Zumo. Cela va du simple "beep" à la mélodie complexe. (Voir la Section 3 pour plus de détails à propos du buzzer et la Section 3.c pour des explications concernant le cavalier de configuration du buzzer.)
Page 34
(même sans le shield Zumo). ZumoReflectanceSensorArray Cette bibliothèque offre un ensemble de fonctions lisant les valeurs des différents capteurs infrarouges du réseau de capteur du Zumo . Voyez la Section 2.c pour plus d'informations sur le réseau de senseur infrarouge du lien pololu https://www.pololu.com/product/1419...
Ces exemples montrent comment programmer un Zumo contrôlé par Arduino. Ces exemples couvrent des tâches intéressantes et complexes. Les fichiers sources des exemples sont inclus dans le téléchargement de la bibliothèque Zumo Shield Arduino. Une fois la bibliothèque installée, les exemples sont accessibles depuis l'environnement Arduino depuis le...
Page 36
En connectant un récepteur RC (Radio Commande) et en exécutant ce programme d'exemple, vous pouvez transformer un Zumo en véhicule télécommandé. Si vous avez installé la bibliothèque Shield Zumo pour Arduino alors vous trouverez le croquis/sketch Arduino via le point de menu Fichier > Exemples > ZumoExamples > RCControl.
Page 37
Nous recommandons de toujours charger l'exemple depuis les codes d'exemples de la bibliothèque Zumo. #include <ZumoMotors.h> #define THROTTLE_PIN 4 // Canal accélération (throttle) du récepteur RC #define STEERING_PIN 5 // Canal de direction (steering) du récepteur RC // broche de la LED utilisateur...
Téléversez le croquis/sketch sur l'Arduino monté sur le Zumo, Placez votre robot Zumo sur le ring (ou une grade surface noire entouré d'une bordure claire) et pressez le bouton utilisateur. Soyez prêt à rattraper votre Zumo au cas où il quitterait le ring! Si tout fonctionne comme prévu, votre Zumo devrait entamer un décompte sonot (sur le Buzzer) puis commence à...
Page 39
Code Voici une copie de l'exemple avec traduction des commentaires pour vous aider à mieux comprendre le fonctionnement du croquis/sketch Nous recommandons de toujours charger l'exemple depuis les codes d'exemples de la bibliothèque Zumo. #include <ZumoBuzzer.h> #include <ZumoMotors.h> #include <Pushbutton.h>...
Page 40
delay(TURN_DURATION); motors.setSpeeds(FORWARD_SPEED, FORWARD_SPEED); else if (sensor_values[5] < QTR_THRESHOLD) // Si le senseur le plus à droit détecte une ligne, reculer et tourner à gauche motors.setSpeeds(-REVERSE_SPEED, -REVERSE_SPEED); delay(REVERSE_DURATION); motors.setSpeeds(-TURN_SPEED, TURN_SPEED); delay(TURN_DURATION); motors.setSpeeds(FORWARD_SPEED, FORWARD_SPEED); else // Sinon, aller tout droit motors.setSpeeds(FORWARD_SPEED, FORWARD_SPEED);...
Page 41
Zumo (le LSM303, boussole 3 axes, décrit dans la Section 3.d) pour détecter les collisions. With the Zumo Shield Arduino Libraries installed, the sketch file can be opened in Arduino by selecting Fichier > Exemples > ZumoExamples > SumoCollisionDetect.
Page 42
* Cette exemple utilise également la bibliothèque RunningAverage (domaine publique) du site Arduino; * Le code utile a été copié dans ce fichier .ino. Vous n'avez donc pas besoin de le * télécharger séparément . // #define LOG_SERIAL // écrire la sortie du log vers le port série #define LED 13 Pushbutton button(ZUMO_BUTTON);...
Page 44
waitForButtonAndCountDown(true); loop_start_time millis(); lsm303.readAcceleration(loop_start_time); sensors.read(sensor_values); ((_forwardSpeed FullSpeed) && (loop_start_time full_speed_start_time > FULL_SPEED_DURATION_LIMIT)) setForwardSpeed(SustainedSpeed); (sensor_values[0] < QTR_THRESHOLD) // Si le senseur le plus à gauche détecte une ligne, marche arrière et tourner à droite turn(RIGHT, true); else if (sensor_values[5] < QTR_THRESHOLD) // Si le senseur le plus a droite détecte une ligne, marche arrière et tourner à...
Page 45
(loop_start_time contact_made_time > MIN_DELAY_BETWEEN_CONTACTS); // Klaxon et accélération au contact/collision -- frapper ou s'échapper (fight or flight) void on_contact_made() #ifdef LOG_SERIAL Serial.print("contact made"); Serial.println(); #endif in_contact true; contact_made_time loop_start_time; setForwardSpeed(FullSpeed); buzzer.playFromProgramSpace(sound_effect); // Réinitialiser la vitesse (de la marche avant) void on_contact_lost() #ifdef LOG_SERIAL Serial.print("contact...
Page 46
Accelerometer::x_avg(void) const return ra_x.getAverage(); Accelerometer::y_avg(void) const return ra_y.getAverage(); long Accelerometer::ss_xy_avg(void) const long x_avg_long static_cast<long>(x_avg()); long y_avg_long static_cast<long>(y_avg()); return x_avg_long*x_avg_long y_avg_long*y_avg_long; float Accelerometer::dir_xy_avg(void) const return atan2(static_cast<float>(x_avg()), static_cast<float>(y_avg())) * 180.0 / M_PI; // Classe RunningAverage // basé sur la bibliothèque RunningAverage d'Arduino // source: http://playground.arduino.cc/Main/RunningAverage // autheur: Rob.Tillart@gmail.com // public domain...
à des courses de suivit de ligne (également appelé "Line Tracker" en anglais). Une fois les bibliothèques du shield Zumo installées, vous pouvez ouvrir l'exemple depuis le point de menu Fichier > Exemples > ZumoExamples > LineFollower.
Page 49
// Nous utiliserons 1/4 pour la constante proportionnelle et 6 pour la // constante dérivée 6, qui devrait fonctionner correctement avec de // nombreux choix de Zumo. // Vous aurez probablement besoin d'ajuster ces constantes par // essai/erreur pour votre zumo et/ou le circuit.
Page 50
speedDifference error / 4 + 6 * (error lastError); lastError error; // Calculer la vitesse de chaque moteur. Le signe de la différence (speedDifference) // determine si le moteur tourne à gauche ou a droite. m1Speed MAX_SPEED speedDifference; m2Speed MAX_SPEED speedDifference;...
(labyrinthe constitué de lignes). Une fois les bibliothèques Arduino du shield Zumo installée, le croquis/sketch peut être ouvert en sélectionnant le point de menu Fichier > Exemples > ZumoExamples > MazeSolver. Source: Pololu Zumo Robot Maze Solving par Soon Min Park, voyez également sa vidéo sur YouTube https://youtu.be/QuHL17jx_7g...
Ce croquis/sketch d'exemple démontre l'utilisation du magnétomètre du shield Zumo (le module boussole 3-axes LSM303, décrit dans la section Section 3.d) pour aider le Zumo à coordonner ses moteurs pour faire des rotations de 90° et se déplacer en carré. Une fois la bibliothèque Arduino du shield Zumo installée, le croquis/sketch Arduino peut être ouvert via le point de menu Fichier >...
Cette section explique comment contrôler un servo moteur hobby RC servo lien pololu http://shop.mchobby.be/category.php?id_category=74 depuis un Arduino Uno, Arduino Leonardo ou A-Star 32U4 Prime connecté sur le Zumo Shield. https://www.pololu.com/category/23/rc-servos L'environnement Arduino IDE inclus une bibliothèque Servo qui génère les impulsions nécessaires http://arduino.cc/en/Reference/Servo...
Contrôler un servo avec Arduino Uno Le code d'exemple Arduino Uno ci-dessous montre comment contrôler un simple servo en utilisant le Timer 2. Nous utilisons le Timer 2 à la place du Timer 1 parce que le Timer 1 est utilisé par la bibliothèque ZumoMotors (ce qui interfère avec la bibliothèque servo d'Arduino).
Page 55
// La broche est au niveau haut depuis assez longtemps // donc on applique la flan descendant. digitalWrite(SERVO_PIN, LOW); servoHigh false; interruptCount else // La broche du servo est au niveau bas (low). if(servoTime >= 40000) // Nous avons atteind la fin de la période (20 ms), // Donc on applique un flan montant (rising edge) sur // le signal.
CC-BY-SA pour la traduction http://shop.mchobby.be Toute copie doit contenir ce crédit, lien vers cette page et la section "crédit de traduction". Traduit avec l'autorisation expresse de Pololu (www.pololu.com https://www.pololu.com Based on "Zumo Shield for Arduino " from Pololu (www.pololu.com/docs/0J57 ) - Translated to French https://www.pololu.com/docs/0J57...