Mouvement de ligne par capteur ev3. Débuter en sciences

Dans cette leçon, nous allons continuer à explorer l'utilisation du capteur de couleur. Le matériel présenté ci-dessous est très important pour une étude plus approfondie du cours de robotique. Après avoir appris à utiliser tous les capteurs Lego mindstorms EV3 pour résoudre de nombreux problèmes pratiques, nous nous appuierons sur les connaissances acquises dans cette leçon.

6.1. Capteur de couleur - Mode d'intensité de la lumière réfléchie

Nous commençons donc à étudier le prochain mode de fonctionnement du capteur de couleur, qui s'appelle "Luminosité de la lumière réfléchie". Dans ce mode, le capteur de couleur dirige un flux de lumière rouge sur un objet ou une surface à proximité et mesure la quantité de lumière réfléchie. Les objets plus sombres absorberont la lumière, de sorte que le capteur lira une valeur inférieure à celle des surfaces plus claires. La plage de valeurs du capteur est mesurée à partir de 0 (très sombre) à 100 (tres brillant). Ce mode de fonctionnement du capteur de couleur est utilisé dans de nombreuses tâches en robotique, par exemple pour organiser le déplacement du robot le long d'un parcours donné le long d'une ligne noire tracée sur un revêtement blanc. Lors de l'utilisation de ce mode, il est recommandé de placer le capteur de manière à ce que la distance qui le sépare de la surface étudiée soit d'environ 1 cm (Fig. 1).

Riz. une

Passons aux exercices pratiques : le capteur de couleur est déjà installé sur notre robot et dirigé jusqu'à la surface du revêtement sur lequel notre robot va se déplacer. La distance entre le capteur et le sol est celle recommandée. Le capteur de couleur est déjà connecté au port "2" Brique EV3. Chargeons l'environnement de programmation, connectons le robot à l'environnement et utilisons le champ de bande de couleur que nous avons créé pour effectuer les tâches de la section 5.4 de la leçon n° 5 afin de prendre des mesures. Installez le robot de manière à ce que le capteur de couleur soit situé au-dessus de la surface blanche. "page matériel" les environnements de programmation passent en mode "Afficher les hublots" (Fig. 2 pos. 1). Dans ce mode, nous pouvons observer toutes les connexions que nous avons établies. Sur le Riz. 2 ports connectés affichés "B" Et "C" deux gros moteurs, et au port "2" - capteur de couleur.

Riz. 2

Pour sélectionner l'option d'affichage des mesures du capteur, cliquez sur l'image du capteur et sélectionnez le mode souhaité (Fig. 3)

Riz. 3

Sur le Riz. 2 pos. 2 nous pouvons voir que la valeur de la lecture du capteur de couleur au-dessus de la surface blanche est 84 . Dans votre cas, vous pouvez obtenir une valeur différente, car cela dépend du matériau de la surface et de l'éclairage à l'intérieur de la pièce : une partie de la lumière, réfléchie par la surface, frappe le capteur et affecte ses lectures. Après avoir installé le robot de manière à ce que le capteur de couleur soit situé au-dessus de la bande noire, nous fixons ses lectures (Fig. 4). Essayez de mesurer vous-même les valeurs de lumière réfléchie au-dessus des bandes de couleur restantes. Quelles valeurs as-tu obtenu ? Écrivez votre réponse dans les commentaires de cette leçon.

Riz. 4

Résolvons maintenant des problèmes pratiques.

Tâche numéro 11 : il est nécessaire d'écrire un programme pour le mouvement du robot, qui s'arrête lorsqu'il atteint la ligne noire.

Solution:

L'expérience nous a montré qu'au franchissement de la ligne noire, la valeur du capteur de couleur dans le mode "Luminosité de la lumière réfléchie"équivaut à 6 . Alors, pour remplir Tâches #11 notre robot doit se déplacer en ligne droite jusqu'à ce que la valeur souhaitée du capteur de couleur devienne plus petite 7 . Utilisons le bloc de programme qui nous est déjà familier "Attente" Palette orangée. Choisissons le mode de fonctionnement du bloc de programme requis par la condition du problème "En attente" (Fig. 5).

Riz. cinq

Vous devez également configurer les paramètres du bloc de programme "Attente". Paramètre "Type de comparaison" (Fig. 6 pos. 1) peut prendre les valeurs suivantes : "Équivaut à"=0, "Inégal"=1, "Suite"=2, "Plus ou égal"=3, "Moins"=4, "Inférieur ou égal à"=5. Dans notre cas, nous posons "Type de comparaison" dans le sens "Moins". Paramètre "Au seuil" fixé égal à 7 (Fig.6 pos. 2).

Riz. 6

Dès que la valeur du capteur de couleur est inférieure à 7 , que se passe-t-il lorsque le capteur de couleur est au-dessus de la ligne noire, nous devrons éteindre les moteurs, arrêtant le robot. Problème résolu (Fig. 7).

Riz. 7

Pour continuer les leçons, nous devons créer un nouveau champ, qui est un cercle noir d'environ 1 mètre de diamètre, appliqué sur un champ blanc. L'épaisseur de la ligne circulaire est de 2 à 2,5 cm.Pour la base du champ, vous pouvez prendre une feuille de papier de format A0 (841x1189 mm), coller ensemble deux feuilles de papier de format A1 (594x841 mm). Sur ce champ, marquez la ligne du cercle et peignez dessus avec de l'encre noire. Vous pouvez également télécharger la mise en page du champ, réalisée au format Adobe Illustrator, puis commander son impression sur tissu bannière dans une imprimerie. La taille de mise en page est de 1250x1250 mm. (Vous pouvez visualiser la mise en page téléchargée ci-dessous en l'ouvrant dans Adobe Acrobat Reader)

Ce champ nous sera utile pour résoudre plusieurs tâches classiques du cours de robotique.

Tâche numéro 12 : il faut écrire un programme pour un robot se déplaçant à l'intérieur d'un cercle bordé d'un cercle noir selon la règle suivante :

  • le robot avance en ligne droite ;
  • en atteignant la ligne noire, le robot s'arrête ;
  • le robot recule de deux tours des moteurs ;
  • le robot tourne à droite de 90 degrés ;
  • le mouvement du robot est répété.

Les connaissances acquises dans les leçons précédentes vous aideront à créer un programme qui résout le problème 12 par vous-même.

Solution du problème n°12

  1. Commencez tout droit (Fig. 8 pos. 1);
  2. Attendez que le capteur de couleur franchisse la ligne noire (Fig. 8 pos. 2);
  3. Reculer de 2 tours (Fig. 8 pos. 3);
  4. Tourner à droite à 90 degrés (Fig. 8 pos. 4); la valeur de l'angle de rotation est calculée pour le robot assemblé selon l'instruction small-robot-45544 (Fig. 8 pos. 5);
  5. Répétez les commandes 1 à 4 dans une boucle sans fin (Fig. 8 pos. 6).

Riz. 8

Au fonctionnement du capteur de couleur en mode "Luminosité de la lumière réfléchie" nous y reviendrons plusieurs fois lorsque nous considérerons les algorithmes pour se déplacer le long de la ligne noire. En attendant, analysons le troisième mode de fonctionnement du capteur de couleur.

6.2. Capteur de couleur - Mode d'intensité lumineuse ambiante

Mode capteur de couleur "Luminosité de la lumière ambiante" très semblable au mode "Luminosité de la lumière réfléchie", seulement dans ce cas le capteur n'émet pas de lumière, mais mesure la lumière naturelle de l'environnement. Visuellement, ce mode de fonctionnement du capteur peut être déterminé par une LED bleue faiblement allumée. Les lectures du capteur varient de 0 (manque de lumière) à 100 (la lumière la plus brillante). Lors de la résolution de problèmes pratiques nécessitant de mesurer la lumière ambiante, il est recommandé de positionner le capteur de manière à ce qu'il reste aussi ouvert que possible et ne soit pas obstrué par d'autres pièces et structures.

Attachons le capteur de couleur à notre robot de la même manière que nous avons attaché le capteur tactile dans la leçon n°4 (Fig. 9). Connectez le capteur de couleur avec un câble au port "2" Brique EV3. Passons à la résolution de problèmes pratiques.

Riz. neuf

Tâche 13 : il est nécessaire d'écrire un programme qui modifie la vitesse de notre robot en fonction de l'intensité de l'éclairage extérieur.

Pour résoudre ce problème, nous devons apprendre à obtenir la valeur actuelle du capteur. Et la palette jaune des blocs de programme, qui s'appelle "Capteurs".

6.3. Palette jaune - "Capteurs"

La palette jaune de l'environnement de programmation Lego mindstorms EV3 contient des blocs de programmation qui vous permettent de recevoir les lectures actuelles des capteurs pour un traitement ultérieur dans le programme. Contrairement, par exemple, au bloc de programme "Attente" Palette orange, blocs de programme à palette jaune transfèrent immédiatement le contrôle aux blocs de programme suivants.

Le nombre de blocs de programmation dans la palette jaune est différent dans les versions familiale et éducative de l'environnement de programmation. Dans la version domestique de l'environnement de programmation, il n'y a pas de blocs de programmation pour les capteurs qui ne sont pas inclus dans la version domestique du constructeur. Mais, si nécessaire, ils peuvent être connectés indépendamment.

La version éducative de l'environnement de programmation contient des blocs de programmation pour tous les capteurs pouvant être utilisés avec le constructeur Lego mindstorms EV3.

Revenons à la décision. Tâches #13 et voyez comment vous pouvez recevoir et traiter les lectures du capteur de couleur. Comme nous le savons déjà: la plage de valeurs du capteur de couleur en mode "Luminosité de la lumière ambiante" est dans la gamme de 0 avant de 100 . Le paramètre qui régule la puissance des moteurs a la même plage. Essayons d'ajuster la puissance des moteurs dans le bloc de programme en lisant le capteur de couleur "Pilotage".

Solution:


Riz. dix

Chargeons le programme résultant dans le robot et exécutons-le pour l'exécution. Le robot s'est-il déplacé lentement ? Allumons la lampe de poche LED et essayons de l'amener au capteur de couleur à différentes distances. Que se passe-t-il avec le robot ? Fermons le capteur de couleur avec la paume de la main - que s'est-il passé dans ce cas ? Écrivez les réponses à ces questions dans les commentaires de la leçon.

Tâche - Bonus

Chargez dans le robot et exécutez la tâche indiquée dans la figure ci-dessous. Répétez les expériences avec la lampe de poche LED. Partagez vos impressions dans les commentaires de la leçon.

Voici comment une personne voit la ligne :

Voici comment le robot le voit :


Nous utiliserons cette fonctionnalité lors de la conception et de la programmation d'un robot pour la catégorie de compétition "Trajectoire".

Il existe de nombreuses façons d'apprendre à un robot à voir une ligne et à se déplacer le long de celle-ci. Il existe des programmes complexes et d'autres très simples.

Je veux parler d'une façon de programmer que même les enfants de la 2e à la 3e année maîtriseront. À cet âge, il leur est beaucoup plus facile d'assembler des structures selon des instructions, et programmer un robot est une tâche difficile pour eux. Mais cette méthode permettra à l'enfant de programmer le robot sur n'importe quel itinéraire de la piste en 15 à 30 minutes (en tenant compte de la vérification progressive et de l'ajustement de certaines caractéristiques de la trajectoire).

Cette méthode a été testée lors de concours municipaux et régionaux de robotique dans la région de Surgut et dans l'Okrug-Yugra autonome de Khanty-Mansi et a valu à notre école les premières places. Là, j'étais convaincu que ce sujet est très pertinent pour de nombreuses équipes.

Eh bien, commençons.

Lors de la préparation de ce type de compétition, la programmation n'est qu'une partie de la solution au problème. Vous devez commencer par concevoir un robot pour une piste spécifique. Dans le prochain article, je vous montrerai comment faire. Eh bien, puisque le mouvement le long de la ligne est très courant, je vais commencer par la programmation.

Considérez la version du robot avec deux capteurs de lumière, car elle est plus compréhensible pour les élèves du primaire.

Les capteurs de lumière sont connectés aux ports 2 et 3. Moteurs aux ports B et C.
Les capteurs sont placés aux bords de la ligne (essayez d'expérimenter en plaçant les capteurs à différentes distances les uns des autres et à différentes hauteurs).
Un point important. Pour le meilleur fonctionnement d'un tel circuit, il est souhaitable de sélectionner une paire de capteurs en fonction des paramètres. Sinon, il faudra introduire un bloc de correction des valeurs des capteurs.
Installation des capteurs sur le châssis selon le schéma classique (triangle), approximativement comme sur la figure.

Le programme consistera en un petit nombre de blocs :


1. Deux blocs de capteur de lumière ;
2. Quatre blocs de "Mathématiques" ;
3. Deux blocs de moteurs.

Le robot est contrôlé par deux moteurs. La puissance de chacun est de 100 unités. Pour notre schéma, nous prendrons la valeur moyenne de la puissance du moteur égale à 50. Autrement dit, la vitesse moyenne lors d'un déplacement en ligne droite sera égale à 50 unités. Lors de la déviation du mouvement rectiligne, la puissance des moteurs augmentera ou diminuera proportionnellement, en fonction de l'angle de déviation.

Voyons maintenant comment connecter tous les blocs, configurer le programme et ce qui s'y passera.
Exposons deux capteurs de lumière et attribuons-leur les ports 2 et 3.
Nous prenons un bloc de mathématiques et sélectionnons "Soustraction".
Connectons les capteurs de lumière des sorties "Intensité" avec des pneus au bloc mathématique aux entrées "A" et "B".
Si les capteurs du robot sont installés symétriquement à partir du centre de la ligne de voie, les valeurs des deux capteurs seront égales. Après soustraction, on obtient la valeur - 0.
Le prochain bloc de mathématiques sera utilisé comme coefficient et vous devez y définir "Multiplier".
Pour calculer le coefficient, vous devez mesurer le niveau de "blanc" et de "noir" à l'aide de l'unité NXT.
Supposons : blanc -70, noir -50.
Ensuite, nous calculons : 70-50=20 (différence entre le blanc et le noir), 50/20=2,5 ​​(nous fixons la valeur moyenne de la puissance lors du déplacement en ligne droite dans les blocs de mathématiques à 50. Cette valeur plus la puissance ajoutée lors du réglage du mouvement doit être égale à cent)
Essayez de régler la valeur sur 2,5 sur l'entrée "A", puis récupérez-la plus précisément.
Connectez la sortie "Résultat" du bloc mathématique "Soustraction" précédent à l'entrée "B" du bloc mathématique "Multiplication".
Vient ensuite une paire - un bloc de mathématiques (Addition) et le moteur B.
Configuration du bloc mathématique :
L'entrée "A" est réglée sur 50 (la moitié de la puissance du moteur).
La sortie du bloc "Résultat" est reliée par un bus à l'entrée "Puissance" du moteur B.
Après la vapeur se trouve le bloc mathématique (soustraction) et le moteur C.
Configuration du bloc mathématique :
L'entrée "A" est réglée sur 50.
L'entrée "B" est reliée par un bus à la sortie "Résultat" du bloc de mathématiques "Multiplication".
La sortie du bloc "Résultat" est reliée par un bus à l'entrée "Puissance" du moteur C.

A la suite de toutes ces actions, vous recevrez le programme suivant :

Puisque tout cela fonctionnera dans un cycle, nous ajoutons le "Cycle", sélectionnons et transférons le tout dans le "Cycle".

Essayons maintenant de comprendre comment le programme fonctionnera et comment le configurer.


Pendant que le robot se déplace en ligne droite, les valeurs des capteurs sont les mêmes, ce qui signifie que la sortie du bloc "Soustraction" aura la valeur 0. La sortie du bloc "Multiplication" donne également la valeur 0. Cette valeur est transmise en parallèle à la paire de commande du moteur. Étant donné que la valeur 50 est définie dans ces blocs, l'ajout ou la soustraction de 0 n'affecte pas la puissance des moteurs. Les deux moteurs fonctionnent à la même puissance de 50 et le robot roule en ligne droite.

Supposons que la piste effectue un virage ou que le robot dévie d'une ligne droite. Que va-t-il se passer ?

La figure montre que l'éclairement du capteur connecté au port 2 (ci-après dénommés capteurs 2 et 3) augmente, puisqu'il se déplace vers un champ blanc, et que l'éclairement du capteur 3 diminue. Supposons que les valeurs de ces capteurs deviennent : capteur 2 - 55 unités et capteur 3 - 45 unités.
Le bloc "Soustractions" va déterminer la différence entre les valeurs des deux capteurs (10) et l'alimenter au bloc de correction (multiplication par un facteur (10 * 2,5 = 25)) puis aux blocs de contrôle
moteurs.
Dans le bloc mathématique (Addition) du moteur B commande à la valeur de vitesse moyenne de 50
25 seront ajoutés et une valeur de puissance de 75 sera appliquée au moteur B.
Dans le bloc mathématique (Soustraction) de la commande du moteur C, 25 sera soustrait de la valeur de vitesse moyenne de 50 et une valeur de puissance de 25 sera appliquée au moteur C.
Ainsi, l'écart par rapport à une ligne droite sera corrigé.

Si la piste tourne brusquement sur le côté et que le capteur 2 est sur blanc et le capteur 3 est sur noir. Les valeurs d'éclairement de ces capteurs deviennent : capteur 2 - 70 unités, et capteur 3 - 50 unités.
Le bloc "Soustraction" va déterminer la différence entre les valeurs des deux capteurs (20) et l'alimenter au bloc de correction (20 * 2,5 = 50) puis aux blocs de contrôle moteur.
Maintenant dans le bloc de mathématiques (Addition) contrôlant le moteur B, la valeur de puissance 50 +50 =100 sera appliquée au moteur B.
Dans le bloc mathématique (Soustraction) de la commande du moteur C, une valeur de puissance de 50 - 50 = 0 sera appliquée au moteur C.
Et le robot fera un virage serré.

Sur les champs blancs et noirs, le robot doit se déplacer en ligne droite. Si cela ne se produit pas, essayez de faire correspondre les capteurs avec les mêmes valeurs.

Créons maintenant un nouveau bloc et utilisons-le pour déplacer le robot le long de n'importe quelle piste.
Sélectionnez le cycle, puis dans le menu "Edition", sélectionnez la commande "Créer mon bloc".

Dans la boîte de dialogue "Block Builder", donnez un nom à notre bloc, par exemple, "Go", sélectionnez une icône pour le bloc et cliquez sur "DONE".

Nous avons maintenant un bloc qui peut être utilisé dans les cas où nous devons nous déplacer le long de la ligne.

L'un des mouvements de base de la legoconstruction consiste à suivre la ligne noire.

La théorie générale et des exemples spécifiques de création d'un programme sont décrits sur le site wroboto.ru

Je vais décrire comment nous implémentons cela dans l'environnement EV3, car il existe des différences.

La première chose que le robot doit connaître est la valeur du "point idéal" situé à la frontière du noir et du blanc.

L'emplacement du point rouge sur la figure correspond exactement à cette position.

L'option de calcul idéale est de mesurer la valeur du noir et du blanc et d'en faire la moyenne arithmétique.

Vous pouvez le faire manuellement. Mais les inconvénients sont immédiatement visibles : même pendant une courte période, l'éclairage peut changer et la valeur calculée s'avérera incorrecte.

Vous pouvez donc faire en sorte qu'un robot le fasse.

Au cours des expériences, nous avons constaté qu'il n'est pas nécessaire de mesurer à la fois le noir et le blanc. Seul le blanc peut être mesuré. Et la valeur du point idéal est calculée comme la valeur du blanc divisée par 1,2 (1,15), en fonction de la largeur de la ligne noire et de la vitesse du robot.

La valeur calculée doit être écrite dans une variable afin d'y accéder ultérieurement.

Calcul du « point idéal »

Le prochain paramètre impliqué dans le mouvement est le rapport de virage. Plus il est grand, plus le robot réagit brusquement aux changements d'éclairage. Mais une valeur trop élevée fera vaciller le robot. La valeur est sélectionnée expérimentalement individuellement pour chaque conception de robot.

Le dernier paramètre est la puissance de base des moteurs. Cela affecte la vitesse du robot. Une augmentation de la vitesse de déplacement entraîne une augmentation du temps de réponse du robot à un changement d'éclairement, ce qui peut conduire à un écart de trajectoire. La valeur est également sélectionnée expérimentalement.

Pour plus de commodité, ces paramètres peuvent également être écrits dans des variables.

Rapport de direction et puissance de base

La logique du déplacement le long de la ligne noire est la suivante : l'écart par rapport au point idéal est mesuré. Plus il est grand, plus le robot doit s'efforcer d'y revenir.

Pour ce faire, nous calculons deux nombres - la valeur de puissance de chacun des moteurs B et C séparément.

Sous forme de formule, cela ressemble à ceci :

Où Isens est la valeur des lectures du capteur de lumière.

Enfin, l'implémentation dans EV3. Il est plus pratique de publier sous la forme d'un bloc séparé.

Implémentation de l'algorithme

C'est l'algorithme qui a été implémenté dans le robot pour la catégorie moyenne WRO 2015


Pour afficher une présentation avec des images, un design et des diapositives, télécharger son fichier et l'ouvrir dans PowerPoint sur ton ordinateur.
Contenu textuel des diapositives de présentation :
"Algorithme pour se déplacer le long d'une ligne noire avec un capteur de couleur" Cercle sur "Robotique" Enseignant avant Yezidov Ahmed Elievich Au MBU DO "Shelkovskaya CTT" Pour étudier l'algorithme de déplacement le long d'une ligne noire, un robot Lego Mindstorms EV3 avec un capteur de couleur sera utilisé Capteur de couleur Le capteur de couleur distingue 7 couleurs et peut détecter l'absence de couleur. Comme dans le NXT, il peut fonctionner comme un capteur de lumière Terrain de compétition de robots Line S La piste en forme de "S" proposée vous permettra d'effectuer un autre test intéressant des robots créés pour la vitesse et la réaction. Considérons l'algorithme le plus simple pour se déplacer le long d'une ligne noire sur un capteur de couleur sur EV3. Cet algorithme est le plus lent, mais le plus stable. Le robot ne se déplacera pas strictement le long de la ligne noire, mais le long de sa bordure, tournant à gauche et à droite et avancer progressivement L'algorithme est très simple : si le capteur voit noir, alors le robot tourne dans un sens, s'il voit blanc - dans l'autre. Traçage d'une ligne en mode lumière réfléchie avec deux capteurs Parfois, le capteur de couleur peut ne pas être en mesure de bien faire la distinction entre le noir et le blanc. La solution à ce problème est d'utiliser le capteur non pas en mode de détection de couleur, mais en mode de détection de luminosité en lumière réfléchie. Dans ce mode, connaissant les valeurs du capteur sur une surface sombre et claire, nous pouvons dire indépendamment ce qui sera considéré comme blanc et ce qui sera noir. Déterminons maintenant les valeurs de luminosité sur les surfaces blanches et noires. Pour ce faire, dans le menu de la brique EV3, nous trouvons l'onglet "Applications de la brique". Vous êtes maintenant dans la fenêtre d'affichage du port et vous pouvez voir les lectures de tous les capteurs à l'instant présent. nos capteurs doivent s'allumer en rouge, ce qui signifie qu'ils sont en mode de détection de lumière réfléchie. S'ils brillent en bleu, dans la fenêtre de vue du port sur le port souhaité, appuyez sur le bouton central et sélectionnez le mode COL-REFLECT.Maintenant, nous allons placer le robot de sorte que les deux capteurs soient situés au-dessus de la surface blanche. Nous regardons les nombres dans les ports 1 et 4. Dans notre cas, les valeurs sont respectivement 66 et 71. Ce seront les valeurs de blanc des capteurs. Plaçons maintenant le robot de manière à ce que les capteurs soient situés au-dessus de la surface noire. Encore une fois, regardons les valeurs des ports 1 et 4. Nous avons 5 et 6, respectivement. Ce sont les significations du noir. Ensuite, nous allons modifier le programme précédent. À savoir, nous modifions les paramètres des commutateurs. Tant qu'ils ont Capteur de couleur -> Mesure -> Couleur installé. Nous devons définir le capteur de couleur -> Comparaison -> Intensité de la lumière réfléchie Nous devons maintenant définir le "type de comparaison" et la "valeur seuil". La valeur seuil est la valeur de certains "gris", les valeurs en dessous desquelles nous considérerons le noir, et plus - le blanc. Pour la première approximation, il convient d'utiliser la valeur moyenne entre le blanc et le noir de chaque capteur. Ainsi, la valeur seuil du premier capteur (port #1) sera (66+5)/2=35.5. Arrondir à 35. Valeur seuil du second capteur (port #4) : (71+6)/2 = 38,5. Arrondissons jusqu'à 38. Maintenant, nous définissons ces valeurs dans chaque commutateur, respectivement.C'est tout, les blocs avec des mouvements restent à leur place inchangés, car si nous mettons le signe " dans le "type de comparaison"<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 - ставьте датчики ниже. Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

Considérons l'algorithme le plus simple pour se déplacer le long d'une ligne noire sur un seul capteur de couleur sur EV3.

Cet algorithme est le plus lent, mais le plus stable.

Le robot ne se déplacera pas strictement le long de la ligne noire, mais le long de sa bordure, en tournant vers la gauche ou vers la droite et en avançant progressivement.

L'algorithme est très simple: si le capteur voit noir, le robot tourne dans un sens, s'il est blanc - dans l'autre.

Implémentation dans l'environnement Lego Mindstorms EV3

Dans les deux blocs de mouvement, sélectionnez le mode "activer". Le commutateur est réglé sur le capteur de couleur - mesure - couleur. En bas, n'oubliez pas de changer "pas de couleur" en blanc. De plus, vous devez spécifier correctement tous les ports.

N'oubliez pas d'ajouter une boucle, le robot n'ira nulle part sans elle.

Vérifier. Pour de meilleurs résultats, essayez de modifier les paramètres de direction et de puissance.

Mouvement avec deux capteurs :

Vous connaissez déjà l'algorithme pour déplacer le robot le long de la ligne noire à l'aide d'un capteur. Aujourd'hui, nous allons considérer le mouvement le long de la ligne à l'aide de deux capteurs de couleur.
Les capteurs doivent être installés de manière à ce que la ligne noire passe entre eux.


L'algorithme sera le suivant :
Si les deux capteurs voient blanc, nous avançons ;
Si l'un des capteurs voit du blanc et l'autre du noir, on se tourne vers le noir ;
Si les deux capteurs voient noir, nous sommes à une intersection (par exemple, stop).

Pour implémenter l'algorithme, nous devons suivre les lectures des deux capteurs, et seulement après cela, régler le robot pour qu'il se déplace. Pour ce faire, nous allons utiliser des commutateurs imbriqués dans un autre commutateur. Ainsi, nous interrogerons d'abord le premier capteur, puis, quelles que soient les lectures du premier, nous interrogerons le deuxième capteur, après quoi nous définirons l'action.
Connectez le capteur gauche au port #1, le capteur droit au port #4.

Programme commenté :

N'oubliez pas que nous démarrons les moteurs en mode "Activer" afin qu'ils fonctionnent aussi longtemps que nécessaire en fonction des lectures des capteurs. De plus, la nécessité d'une boucle est souvent oubliée - sans elle, le programme se terminera immédiatement.

http://studrobots.ru/

Le même programme pour le modèle NXT :

Étudiez le programme de mouvement. Programmez le robot. Télécharger la vidéo de test du modèle