Différences entre versions de « Pololu-Zumo-Shield-Arduino-ajouter-detecteur-ligne »
Ligne 93 : | Ligne 93 : | ||
<syntaxhighlight lang="c"> | <syntaxhighlight lang="c"> | ||
byte pins[] = {4, A5, 11, A0, A2, 5}; | byte pins[] = {4, A5, 11, A0, A2, 5}; | ||
− | reflectanceSensors.init(pins, 6, 2000, QTR_NO_EMITTER_PIN); // 2000 = timeout | + | reflectanceSensors.init(pins, 6, 2000, QTR_NO_EMITTER_PIN); // 2000 = timeout après 2 ms |
</syntaxhighlight> | </syntaxhighlight> | ||
{{Pololu-Zumo-Shield-Arduino-TRAILER}} | {{Pololu-Zumo-Shield-Arduino-TRAILER}} |
Version du 9 avril 2017 à 13:55
Présentation
Le réseau de capteur infrarouge Zumo (suiveur de ligne) lien pololu permet d'ajouter facilement la fonctionnalité de suiveur de ligne ou détection de bordure sur le robot 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. Il est inclus avec le Robot Zumo mais vous pouvez utiliser votre Robot Zumo sans ce senseur. Pour plus d'information concernant les fonctionnalités du réseau de capteur infrarouge, son fonctionnement et schéma, vous pouvez consulter sa fiche produit lien pololu. Cette section est dévolue à l'assemblage du senseur et son utilisation sur le Shield Zumo.
Assemblage du senseur
Le réseau de senseur infrarouge Zumo est livré avec tous les composants dont vous aurez besoin pour le connecter sur le shield Zumo:
- La carte avec le réseau de senseur monté en surface
- Connecteur mâle 2×12 - empattement de 2.54mm (sera soudé sur la carte de senseur)
- Connecteur femelle 2×12 - empattement 2.54mm (sera soudé sur le shield Zumo)
- Connecteur mâle/pinHeader 1×3 - empattement 2.54mm (optionnel, à souder sur la carte du senseur)
- Connecteur mâle 1×3 angle droit - empattement 2.54mm (optionnel, à souder sur la carte du senseur)
- Un cavalier bleu
Avant de souder le connecteur mâle principal, nous vous recommandons de souder l'un des deux connecteurs mâles 1×3 dans l'ensemble de 3 trous sur bord de la carte. Cette étape optionnelle est recommandée parce qu'elle permet un contrôle dynamique des LEDS infrarouges (et LEDs rouges). En contrôlant l'allumage/extinction de ces LEDs, vous pouvez économiser de l'énergie et rendre votre programme plus facile à déboguer. Si vous sautez cette étape, les émetteurs InfraRouge seront activer à chaque fois que le senseur sera branché sur le Zumo et que le Zumo est en marche. Nous recommandons l'usage d'un connecteur coudé monté comme indiqué sur l'image ci-dessous. 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é ou en installant le connecteur angle-droit dans la mauvaise orientation)! Si vous comptez installer un connecteur 3 broches, il est plus facile de l'installer avec le grand connecteur 24-broches.
Pour activer le contrôle dynamique des émetteurs infrarouges, placez le connecteur 3 broches et utiliser le cavalier inclus pour connecter la broche LEDON sur la broche digitale appropriée. Si vous utilisez un Arduino Uno (ou plus ancien) alors vous devriez placer le cavalier pour connecter LEDON vers la broche digital 2 (la position contre le bord de la carte); si vous utilisez un Arduino Leonardo ou un A-Star 32U4 Prime, vous devriez placer le cavalier pour connecter la broche LEDON sur la broche analogique 4 (A4).
Le connecteur d'extension 2×12 mâle devrait être monté sur la carte du réseau de capteur (sur le côté opposé à celui des composants). Assurez-vous que la partie la plus courte des broches soient celui placé sur la carte d'extension (pas le côté le plus long!). Notez que seules 12 des 24 broches sont utilisées par le réseau des capteurs; ces broches sont identifiées par un cercle sur la sérigraphie sur le côté de la carte portant les composants CMS. Il est néanmoins recommandé de souder les 24 broches.
souder le connecter sur le Zumo Shield
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é des 24 broches du shield, seules 12 broches sont nécessaires pour souder pour utiliser le senseur (voyez ci-dessous pour plus d'information sur les broches utilisée).
Avec le connecteur femelle en place, le réseau de senseur (assemblé) peut être branché directement sur le shield Zumo.
Le réseau de senseur contient également deux LEDs rouge en lumière visible. Ces leds sont placées en série avec les LED infrarouges. Cela vous permet de savoir dans le réseau de capteur est activé (ou désactivé). |
Broches du senseur
Le réseau de capteur infrarouge du Zumo utilise 12 broches du connecteur 2x12 pour obtenir l'alimentation et les connections I/O (entrée/sortie) nécessaires. Ces broches sont repérées sur la sérigraphique à l'aide d'un cercle:
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). Pour configurer la bibliothèque ZumoReflectanceSensorArray avec la configuration par défaut, appelez simplement la fonction init sans argument:
reflectanceSensors.init();
Si vous ne désirez pas utiliser le cavalier de configuration LEDON alors vous devriez utiliser QTR_NO_EMITTER_PIN comme paramètre d'initialisation: reflectanceSensors.init(QTR_NO_EMITTER_PIN). Dans le cas contraire, la bibliothèque essayera toujours de faire quelque-chose avec la broche d'émission (A4 ou 2, en fonction de la carte Arduino utilisée) ET cela vous empêchera d'utiliser cette broche à votre guise pour votre propre usage. |
Lorsque vous souderez le connecteur mâle 2×12 sur le senseur, vous aurez uniquement besoin de souder ces broches entourées. Si vous soudez les 24 broches, le réseau de senseur sera connecté sur les broches additionnelles du shield Zumo (sur la zone d'extension à l'avant)... même si le réseau ne fait rien avec ces broches dans sa configuration par défaut:
Désactivé et remapper le senseur
De nombreuses applications ne requière pas l'utilisation des 6 capteurs infrarouges, ce qui vous permettrait de libérer des entrées/sorties pour votre projet (ex: détecteurs d'obstacle). Dans pareil cas,, vous pouvez désactiver la ligne du senseur et libérer la ligne d'entrée/sortie associée. La carte du réseau de senseur dispose de 6 paires de trous correspondant aux différents senseurs. L'ordre des paires correspond à l'ordre des senseurs. En regardant le côté de la carte avec les composants, le trou à droite de la paire est connecté vers Arduino et le trou gauche est connecté sur le senseur. Il y a une simple trace reliant les deux trous de chaque paire sur la face composant -ET- cette trace peut être coupée pour libérer la ligne d'entrée/sortie. L'emplacement correct pour sectionner la piste est indiqué à l'aide d'une croix sur la sérigraphie.
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. Cela permet de libérer les lignes des deux autres senseurs en faisant les modifications suivantes:
Voilà, vous avez maintenant un réseau de capteur infrarouge avec quatre-senseurs effectifs libérant les broches A2 et A3 sont disponibles pour d'autres utilisations. Pour configurer la bibliothèque ZumoReflectanceSensorArray avec cette nouvelle configuration, appelez la fonction init avec les paramètres suivants:
byte pins[] = {4, 11, A0, 5};
reflectanceSensors.init(pins, 4);
Aternativement, vous pouvez déclarer deux objets ZumoReflectanceSensorArray, un des objets pour les deux senseurs extérieurs et un autre pour les deux senseurs intérieurs, cela permet de rédiger un code plus propre mais avec l'inconvénient qu'il n'est alors plus possible de lire les quatres senseur en parallèle.
Si, plus tard, vous décidez de réactiver ces senseurs, vous pouvez connecter un fils pour remplacer la trace coupée -ou- remappée le senseur vers une broche différente. l'exemple suivant montre comment ré-activer le senseur A2 et remapper le senseur de A3 vers A5:
Pour configurer la bibliothèque ZumoReflectanceSensorArray avec ce nouveau mapping, appelez la fonction init avec les arguments suivants:
byte pins[] = {4, A5, 11, A0, A2, 5};
reflectanceSensors.init(pins, 6);
Ou, si vous ne désirez pas utiliser la ligne de contrôle des LEDs infrarouges:
byte pins[] = {4, A5, 11, A0, A2, 5};
reflectanceSensors.init(pins, 6, 2000, QTR_NO_EMITTER_PIN); // 2000 = timeout après 2 ms
Basé sur "Zumo Shield for Arduino" de Pololu (www.pololu.com/docs/0J57) - Traduit en Français par shop.mchobby.be CC-BY-SA pour la traduction
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)
Based on "Zumo Shield for Arduino" from Pololu (www.pololu.com/docs/0J57) - Translated to French by shop.mchobby.be CC-BY-SA for the translation
Copies must includes this credit, link to this page and the section "crédit de traduction" (translation credit). Translated with the Pololu's authorization (www.pololu.com)