Général

Le module capteur de suiveur de ligne RVB, spécialement conçu pour les batailles de voitures de suivi de ligne, dispose de 4 lampes supplémentaires RVB et de 4 récepteurs sensibles à la lumière. Le module s’applique au suivi de ligne pour les pistes claires sur fond sombre ou les pistes sombres sur fond clair. Tous les types de modules de suivi de ligne RVB sont utilisables, tant que l’échelle de gris de l’aberration chromatique entre l’arrière-plan et la piste est supérieure au seuil (plus l’aberration chromatique est élevée, meilleure est la ligne en fonction des performances) Le module est caractérisé par une détection rapide, une fonction d’apprentissage sur le terrain grâce à touches et excellente adaptabilité. Une interface étiquetée en bleu et blanc est équipée, indiquant qu’il s’agit d’une interface I2C double numérique qui doit être connectée à la carte mère avec une interface de marquage bleu et blanc.

Spécifications techniques

● Tension de fonctionnement: 5V DC
● Température de fonctionnement: 0 ~ C ~ 70 ºC
● Hauteur de détection: il est recommandé que le capteur soit à 5 mm ~ 15 mm du rail, en fonction du matériau du rail et de l’éclairage.
● Mode signal: communication I2C (correspondant à l’étiquette bleue et blanche)
● Dimensions: 48 x 72 x 26,5 mm (LxlxH)

Propriétés fonctionnelles

● Arduino IDE programmable avec bibliothèque d’exécution pour simplifier la programmation;
● Quatre LED pour la rétroaction du suivi de ligne et l’apprentissage de nouveaux environnements;
● Interface RJ25 pour une connexion facile;
● Adapté aux pièces métalliques sur la plateforme Makeblock DIY: la zone blanche sur le module est la zone de référence en contact avec les poutres métalliques;
● Installation modulaire, compatible avec LEGO;
● Equipé d’interfaces compatibles avec la plupart des cartes de contrôle Arduino;
● Fonction d’apprentissage sur le terrain: identification et enregistrement du fond du terrain et de la couleur de l’itinéraire;
● Prend en charge le stockage eeprom: les données apprises sont stockées dans eeprom, ce qui empêche la perte de données en cas de panne de courant;
● Les couleurs des lampes supplémentaires RVB peuvent être modifiées: actuellement, 3 couleurs peuvent être modifiées (lecture, vert et bleu) en appuyant sur la touche de modification pendant 2 secondes
● La sensibilité de la ligne est réglable;
● Protection contre l’inversion de polarité, protège IC en cas d’inversion de polarité;
● Jusqu’à 4 capteurs de ligne sont disponibles sur une carte mère.

Définitions des épingles

Le module suiveur de ligne RVB a une interface à 6 pôles, chaque broche a la fonction suivante:

S / N Épingle Une fonction
1 SDA Interface de données I2C
2 SCL I2C urinterface
3 VCC Câble d’alimentation
4 GND Ligne au sol
5 S2 Port d’attribution d’adresse I2C
6 S1 Port d’attribution d’adresse 2C

Lien

● Connexion RJ25
Étant donné que l’interface du module de capteur de ligne RVB est bleue et blanche, l’interface RJ25 doit être connectée à l’interface avec les interfaces bleu et blanc sur la carte de commande principale. Si vous prenez Makeblock MegaPi comme exemple, vous pouvez vous connecter aux interfaces 5, 6, 7 et 8 comme illustré dans la figure suivante: 截图 信 截图 _20160129151012

● Connexion avec la ligne Dupont
Lorsque vous utilisez un câble DuPont pour vous connecter à la carte mère Arduino Uno, connectez la broche du module A0 au port ANALOG comme indiqué ci-dessous:
截图 信 截图 _20160129151050

Méthodes d’apprentissage

En cas de changement sur le terrain, l’environnement ou l’emplacement où le capteur RVB est installé, il est suggéré de recommencer l’apprentissage. Les données apprises sont stockées dans eeprom et évitent la perte de données en cas de panne de courant. Le processus d’apprentissage comprend 4 étapes: :
1. Ajustement des couleurs des lampes supplémentaires: Sélectionnez les couleurs appropriées des lampes supplémentaires en appuyant sur l’interrupteur et en le maintenant enfoncé en fonction des couleurs de l’arrière-plan du champ et de la ligne.
2. Apprentissage de la couleur en arrière-plan: Installez le capteur RVB en position, tournez les 4 lampes RVB directement sur l’arrière-plan et cliquez sur la touche pour que les 4 LED clignotent lentement. L’apprentissage se termine dans 2 à 3 secondes, après quoi les LED cessent de clignoter.
3. Apprentissage de la couleur sur la piste: installez le capteur RVB en position, placez les 4 lumières RVB directement vers la piste et double-cliquez sur la touche pour que les 4 LED clignotent lentement. L’apprentissage se termine dans 2 à 3 secondes, après quoi les LED cessent de clignoter.
4. Test et confirmation: Maintenez le module en position et ajustez la position des 4 capteurs pour vous assurer qu’ils peuvent détecter correctement les couleurs du fond et de la ligne. Lorsque l’arrière-plan est détecté, la LED du capteur correspondant s’allume; et lorsque la ligne est détectée, la LED correspondante s’éteint.

La programmation

● Programmation Arduino
Lors de l’exécution de la programmation Arduino, le maître Makeblock Library doit être appelé pour contrôler le capteur de suivi de ligne RVB.
Deux moteurs améliorés codés à 180 sont utilisés pour la commande de suivi de ligne. Les fichiers source « MeRGBLineFollower » et « MeEnhanceEncoderOnBoard » doivent être inclus dans le répertoire racine du dossier du projet comme suit:
截图 信 截图 _20160129151123
«MeRGBLineFollower180motorAuriga.ino» est un exemple de suivi de ligne, basé sur des cartes de contrôle Auriga, avec un moteur codé à 180 comme châssis. Les codes suivants sont utilisés:
截图 信 截图 _20160129151123

Liste des principales caractéristiques et fonctions du capteur suiveur de ligne RVB

Une fonction traits
setKp invalide (valeur flottante) Réglage ligne par sensibilité, qui est utilisé pour ajuster ligne par taux de réponse. Plus la valeur est élevée, plus elle devient sensible.
int16_t getPositionOffset (invalide) Récupère le déplacement du capteur de la piste. La sortie est prise comme le produit de la ligne par la sensibilité Kp, et la valeur analogique est le résultat de l’algorithme de fusion pour les 4 capteurs allant de -512 à 512. Si elle est supérieure à 0, cela signifie que la ligne est déviée vers RGB4. Plus la valeur est élevée, plus le décalage est élevé. S’il est inférieur à 0, cela signifie que la ligne est déviée vers RGB1. Plus la valeur négative est élevée, plus le décalage est élevé.
uint8_t getPositionState (invalide) Comme le montre la figure, bit0 ~ bit3 représente respectivement RGB4, RGB3, RGB2 et RGB1 de gauche à droite. «1» signifie que l’arrière-plan est détecté (la LED correspondante est allumée), tandis que «0» signifie que la ligne est détectée (la LED correspondante est éteinte).
« 0000 » signifie que les 4 capteurs détectent la ligne (toutes les LED sont éteintes), avec 0 renvoyé;
«0111» signifie que les 4 capteurs de gauche à droite détectent respectivement «ligne», «arrière-plan», «arrière-plan» et «arrière-plan» (les LED sont éteintes, allumées et allumées), avec 7 renvoyées;
«0011» signifie que les 4 capteurs de gauche à droite détectent respectivement «ligne», «ligne», «arrière-plan» et «arrière-plan» (les LED sont éteintes, éteintes, allumées et allumées), avec 3 renvoyées.
uint8_t getStudyTypes (invalide) Obtenir l’état d’apprentissage du capteur RVB: 0-non-apprentissage, 1-couleur d’arrière-plan d’apprentissage, 2-couleur de piste d’apprentissage

● Programmation mBlock
Le capteur de suivi de ligne RVB est programmable par mBlock, mais « RGBLineFollower » doit être installé. De plus, si le moteur codé à 180 est utilisé comme boîtier, il existe également un besoin d’un moteur de codage amélioré « EnhanceEncoderOnBoard ».
Pour installer des plug-ins: lancez le logiciel mBlock → Extension → Extension Manager → Recherchez les plug-ins «RGBLineFollower» et «EnhanceEncoderOnBoard» → Téléchargez les plug-ins. Les blocs sont maintenant affichés comme ci-dessous:
截图 信 截图 _20160129151218
Introduction aux blocs:
Interface: Port1 ~ Port12
Adresse: add1 ~ add4 (0 ~ 3). Tout port peut être lié à n’importe quelle adresse, mais un port de tous les blocs associés dans un programme ne peut être lié qu’à une adresse unique, et chaque adresse correspond à un module de suivi de ligne RVB unique.

Bloc de déclaration La description
截图 信 截图 _20160129151218 Réglage ligne par sensibilité, qui est utilisé pour ajuster ligne par taux de réponse. Plus la valeur est élevée, plus elle devient sensible.
截图 信 截图 _20160129151218 Récupère le déplacement du capteur de la piste. La sortie est prise comme le produit de la ligne par la sensibilité Kp, et la valeur analogique est le résultat de l’algorithme de fusion pour les 4 capteurs allant de -512 à 512. Si elle est supérieure à 0, cela signifie que la ligne est déviée vers RGB4. Plus la valeur est élevée, plus le décalage est élevé. S’il est inférieur à 0, cela signifie que la ligne est déviée vers RGB1. Plus la valeur négative est élevée, plus le décalage est élevé.
截图 信 截图 _20160129151218 Comme le montre la figure, il existe 4 capteurs RVB, RVB4, RVB3, RVB2 et RVB1 de gauche à droite. «1» signifie que l’arrière-plan est détecté (la LED correspondante est allumée), tandis que «0» signifie que la ligne est détectée (la LED correspondante est éteinte).
« 0000 » signifie que les 4 capteurs détectent la ligne (toutes les LED sont éteintes);
«0111» signifie que les 4 capteurs de gauche à droite détectent respectivement «ligne», «arrière-plan», «arrière-plan» et «arrière-plan» (les LED sont éteintes, allumées, allumées et allumées);
«0011» signifie que les 4 capteurs de gauche à droite détectent respectivement «ligne», «ligne», «arrière-plan» et «arrière-plan» (les LED sont éteintes, éteintes, allumées et allumées).
Si l’état détecté par les capteurs est identique à l’état réglé, « TRUE » est renvoyé, sinon « FALSE » est renvoyé.
截图 信 截图 _20160129151218 Obtenez le statut d’apprentissage du capteur RVB. Sortie: 0-non-apprentissage, 1-couleur d’arrière-plan d’apprentissage, 2-couleur de piste d’apprentissage.

Voici un exemple de suivi de ligne basé sur des cartes de contrôle Auriga avec un moteur codé à 180 comme châssis:
截图 信 截图 _20160129151218
Voici un exemple de suivi de ligne basé sur des cartes de contrôle mCore avec un moteur TT comme châssis:
截图 信 截图 _20160129151218

Principe

Le capteur de ligne RVB dispose de 4 paires d’émetteurs RVB et de récepteurs sensibles à la lumière, comme le montre la figure ci-dessous:

Lorsque RVB traverse différents arrière-plans de couleurs, les récepteurs sensibles à la lumière convertissent les informations lumineuses reçues en signaux électriques et émettent des valeurs spécifiques à partir des ports analogiques après avoir traversé l’amplificateur. Le logiciel utilise ensuite les valeurs analogiques des quatre récepteurs photosensibles comme algorithme de fusion pour calculer finalement l’écart de la position du module de capteur de sortie par rapport à la piste. L’utilisateur peut directement utiliser ce décalage pour contrôler la vitesse de rotation des deux moteurs gauche。

Liens connexes

Spécifications requises pour mBlock
Blocs: http://km.makeblock.com/pages/viewpage.action? PageId = 20121053

Laisser un commentaire

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