Dans ce mode de fonctionnement, le capteur de lumière permet de mesurer l'intensité de la lumière qu'il capte.
Plus le capteur reçoit de la lumière, plus la valeur numérique qu'il renvoi au NXT est grande.
Cette lumière peut provenir de la luminosité ambiante ou être émisse par la lampe du capteur.
Nous utiliserons ici la lampe du capteur pour émettre la lumière qui sera réfléchie par la surface de la planche de test et ainsi renvoyée au capteur de lumière pour qu'il en mesure l'intensité. Nous fonctionnerons donc en mode de lumière réfléchie.
La valeur numérique renvoyé par le capteur varie entre 0 et 100. La valeur 0 indiquant qu'il ne reçoit pas de lumière et la valeur 100 qu'il en reçoit un maximum. Les différentes valeurs intermédiaires indiquent s'il en reçoit plus ou moins.
Ce mode de fonctionnement peut être utilisé pour faire du suivi de ligne.
Cela est possible grâce à une particularité physique intéressante, celle qu'ont les couleurs à absorber la lumière. Plus une couleur est sombre, plus elle absorbe de lumière. Ainsi, la couleur noire, qui est la plus sombre possible dans la nature, absorbe presque toute la lumière et n'en réfléchie quasiment pas. De fait la valeur renvoyé par le capteur sera faible, aux environs de 20, car il captera peu de lumière.
A l'inverse, la couleur blanche, très claire, renvoie quasiment toute la lumière quelle reçoit. Dans ce cas, la valeur renvoyé par le capteur sera plus importante, aux environs de 60, car il captera plus de lumière.
De fait, l'utilisation de cette particularité physique avec le capteur de lumière fonctionnant en mode capteur de luminosité nous permettra de faire la distinction entre le blanc de la planche de test et le noir de la ligne que nous voulons suivre. Lorsque le capteur se trouvera au dessus de la couleur blanche, il recevra beaucoup de lumière et n'en recevra pratiquement plus au dessus de la ligne noire.
Utilisation avec le capteur de couleurs du set NXT 2.0 (8547)
Le programme se trouve être le même que précédemment. A l'exception près, bien évidemment, du mode de fonctionnement du capteur de lumière.
Vous devez ici choisir l'option Capteur photosensible du paramètre Action et sélectionner le signe < (plus petit que) dans le paramètre Comparer, en sélectionnant le bouton de gauche représenté par une lumière sombre, de manière à indiquer au bloc "Commutation" d’exécuter le rayon de séquence supérieur (b]condition vrai[/b]) lorsque le capteur de lumière renverra une valeur de luminosité inférieur à la valeur de déclenchement indiqué dans le champ de saisie situé à droite. Cette valeur de déclenchement a une valeur de 50 par défaut. Vous pouvez changer ce réglage avec la réglette et ses deux boutons aux extrémités ou avec la zone de saisie.
Enfin, assurez-vous que la lampe de couleur soit bien activée par le fait que sa boîte d'activation soit cochée et que ce soit la lumière rouge qui soit sélectionnée. En effet, même si le programme suiveur de ligne peut fonctionner avec n'importe quelle couleur de lampe (rouge, vert ou bleu), c'est la couleur rouge qui est le plus souvent employée car moins absorbé par la surface de la planche de test que les deux autres couleurs.
Comme il est là, le programme pourrait fonctionner correctement.
Si le capteur mesure une valeur inférieure à 50, c'est à dire qu'une couleur sombre comme la couleur noire de la ligne se trouve en face de lui, le rayon de séquence supérieur est exécuté es le robot avance en tournant vers la droite.
Si le capteur mesure une valeur supérieure à 50, c'est à dire qu'une couleur claire comme la couleur blanche de la planche de test se trouve en face de lui, le rayon de séquence inférieur est exécuté et le robot avance en tournant vers la gauche.
Vous pouvez laisser cette valeur de déclenchement à 50. Elle représente bien la valeur médiane entre la couleur la plus claire, le blanc, et la couleur la plus sombre, le noir. Ce seuil divise toute la plage des valeurs du capteur de lumière en deux catégories. La catégorie des couleurs claires et la catégorie des couleurs sombres.
Toutes les valeurs renvoyées par le capteur de lumière se trouvant supérieure à ce seuil, c'est à dire dans la plage de valeur allant de 50 à 100, sont considérées comme faisant parties de la catégorie des couleurs claires. De même, toutes les valeurs inférieure à ce seuil allant de 0 à 49 sont considérées comme des couleurs sombres.
Mais vous pouvez encore améliorer un peu le programme en choisissant plus finement la valeur de déclenchement.
En effet, si vous regardez bien l'image ci-dessus concernant le panneau de configuration du bloc "Commutation", vous aurez sans doute remarqué sur la gauche que la zone de rétroaction me renvoie une valeur de 24.
Il s'agit en fait, dans mon cas, de la valeur renvoyé par le capteur de lumière lorsque je le place au dessus de la ligne noire de ma planche de test.
Vous pouvez faire de même chez vous, en connectant d'abord le NXT de votre robot sur l'ordinateur puis en lançant le programme LEGO MINDSTORMS NXT. Créer le programme ci-dessus, ou ouvrer le fichier de ce programme s'il est déjà créé, et placer votre robot sur votre planche de test de manière à ce que le capteur de lumière se trouve au dessus de la ligne noire à suivre.
La zone de rétroaction de votre bloc "Commutation" vous indiquera la valeur du niveau de luminosité mesuré dans votre propre environnement personnel. Cette valeur variant selon que vous soyez dans une pièce plus ou moins bien éclairée. Dans tout les cas, vous trouverez une valeur aux environs de 20.
De même, comme pour moi avec l'image ci-dessous, vous pouvez mesurer le niveau de luminosité mesuré au dessus de la surface blanche de votre planche de test. Il vous suffit simplement pour cela de déplacer légèrement votre robot de manière à ce que le capteur de lumière soit placé au dessus de la couleur blanche de votre planche de test.
Comme vous pouvez le voir, la mesure effectuée au-dessus de la surface blanche de ma planche de test fournie une valeur de 58.
Ainsi, comme expliqué dans cette partie du tutoriel concernant le calcul d'une moyenne arithmétique, nous pouvons faire la moyenne de ces deux valeurs.
Ce qui donne dans mon cas :
Il ne reste plus qu'à régler finement la valeur de déclenchement du bloc "Commutation" en rentrant cette valeur moyenne dans la zone de saisie du paramètre Comparer. Comme montré sur l'image ci-dessous :
Faite de même chez vous avec les valeurs de vos propres mesures.
La différence n'est pas énorme entre 41 et 50, mais votre robot réagira mieux en connaissant la valeur moyenne des deux valeurs extrêmes qu'il rencontrera.