J’ai une idée similaire à @Bending Unit 22, qui ne devrait pas suivre la ligne, mais plutôt son bord. Donc, vous enregistrez uniquement la ligne avec un capteur (disons simplement avec la gauche (point bleu)).

  • Si les deux capteurs indiquent une ligne, tournez votre robot vers la droite jusqu’à ce que le capteur correct (point vert) indique une surface blanche. Il s’agit de l’événement entouré en vert dans l’image ci-dessous.

  • Si les deux capteurs perdent la ligne, le robot doit tourner à gauche jusqu’à ce que le capteur gauche soit de nouveau sur la bonne voie. Il s’agit de l’événement entouré de bleu dans l’image ci-dessous.

Fondamentalement, il pourrait y avoir deux modes avec suivi de ligne:

  1. Mode par défaut lorsque le robot a un capteur sur la ligne tandis que l’autre est éloigné de la ligne.
  2. Mode de rotation si l’un des événements se produit. Le robot pourrait s’arrêter et tourner jusqu’à ce qu’il retour du capteur gauche en ligne ou à les bonnes feuilles ligne. Puisque nous pouvons supposer que la direction est connue et que le robot ne bouge pas, nous pourrions activer la vitesse maximale (ou au moins essayer de voir comment cela fonctionne). Vous pouvez bien sûr le tester pendant que le robot est en mouvement.

![enter image description here

Previously, when your robot lost the line there was no information about the direction, so it could only go backwards hoping to find the line.

It is only a theory but I think it’s worth a try or just to move forward your project.

You have mentioned that your cannot use more sensors but are you allowed to modify on the current hardware?

I have checked that the sensors have digital output which means [line] – [no line], pas beaucoup d’informations. Cependant, si vous pouviez connecter la tension de sortie des capteurs IR à certaines broches analogiques, vous pourriez ainsi obtenir une résolution plus élevée.

Pour expliquer cette partie plus en détail:

Un capteur de détection de ligne de base est une paire de photodiode IR et de phototransistor. Comme celui de votre robot, il n’en a qu’un peu plus sur le module, une version plus récente du côté de Makeblock:

![entrezladescriptiondel'imageici[enterimagedescriptionici[indtastbilledbeskrivelseher[enterimagedescriptionhere

(Module à gauche, capteur en fait à droite) Votre robot a une version antérieure qui utilise probablement un capteur différent. Celui-ci sur la photo est un TCRT500 de Vishay.

Si nous regardons le niveau schématique:

entrez la description de l'image ici

La sortie est au niveau du cercle rouge. S’il y a maintenant suffisamment de lumière IR réfléchie, le transistor conduira et la sortie sera tirée vers le bas à GND. S’il n’y a pas assez de lumière IR réfléchie, le transistor ne conduira pas et la sortie sera tirée vers le haut à travers la résistance pour fournir la tension. Mais cela ne fonctionne pas comme un commutateur, donc la sortie peut être n’importe quoi entre 0 – V_Supply. Pour une distribution spectrale donnée (IR dans notre cas), le photocourant est linéairement proportionnel à la luminosité. Ainsi comme dit, la tension de sortie peut varier entre 0 V et VCC (5 V en commun).

Votre module capteur fonctionne de la même manière, il n’en a qu’un comparateur sur celui qui produit la sortie numérique du signal analogique.

Lorsque la LED IR illumine le bord de la ligne, peut-être la moitié de la lumière ou plus est réfléchie afin que le transistor puisse un peu conduire. Cela signifie que la sortie n’est pas tirée vers le bas près de 0 V, c’est-à-dire, disons environ 2 V. Mais pas 0 V (qui est la surface blanche complète), et cela est important car cela signifie que il détecte partiellement quelque chose (la ligne).

Revenons maintenant au comparateur, il compare la tension de sortie du phototransistor avec une tension de référence. Il vérifie si le signal est supérieur ou inférieur à la référence et règle sa sortie sur LOW ou HIGH en conséquence.

S’il s’agit de la référence à 2,5 V, votre module dira qu’il détecte la ligne lorsque la tension de sortie est supérieure à 2,5 V, donc les informations avec le signal 2 V sont considérées comme une surface blanche où nous avons vu le bord donc nous perdons Solution.

Si vous pouviez maintenant lire toute cette plage analogique avec un ADC, votre résolution serait plus élevée et peut-être un algorithme de contrôle plus délicat pourrait être obtenu.

Laisser un commentaire

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