Utilisation d'un éditeur Nous allons utiliser le logiciel libre Gedit afin d'écrire nos programmes. Si vous êtes sous Debian ( ou debian-like ) et qu'il n'est pas installé, IL suffit de l'installer via cette commande : sudo apt-get install



Yüklə 0,51 Mb.
səhifə18/43
tarix04.01.2022
ölçüsü0,51 Mb.
#61490
1   ...   14   15   16   17   18   19   20   21   ...   43
Le capteur de couleur

Outre le capteur tactile, vous possédez un capteur de lumière, un capteur sonore et un capteur numérique à ultrasons. Le capteur de lumière peut être déclenchée afin d'émettre de la lumière ou non, vous permettant de mesurer la quantité de lumière ambiante ou la lumière réfléchie dans une direction particulière. Mesurer la lumière réfléchie est particulièrement utile lors d'un robot de suivre une ligne au sol. C'est ce que nous allons faire dans l'exemple suivant. Pour continuer avec les expériences, il nous faut achever la construction Tribot. Branchez le capteur de lumière sur l'entrée 3, le capteur de sons sur l'entrée 2 et le capteur à ultrasons sur l'entrée 4, comme indiqué dans les instructions.


Nous avons également besoin de la piste noire qui vient avec l'ensemble des pièces du NXT. Le principe de base du suiveur de ligne est d'essayer de rester sur la ligne noire. Se détourner de la ligne si le niveau de luminosité est trop faible (et le capteur est au milieu de la ligne) et se tourner vers la ligne si le capteur est hors de la piste ( et détecte une forte luminosité ). Voici un programme très simple avec une unique valeur seuil de lumière.

#define THRESHOLD 40

task main()

{

SetSensorLight(IN_3);



OnFwd(OUT_AC, 75);

while (true)

{

if (Sensor(IN_3) > THRESHOLD)



{

OnRev(OUT_C, 75);

Wait(100);

until(Sensor(IN_3) <= THRESHOLD);

OnFwd(OUT_AC, 75);

}

}



}

Le programme commence par configurer le port 3, un capteur de lumière. Ensuite, il fait se déplacer le robot vers l'avant et entre dans une boucle infinie. Chaque fois que la valeur de la lumière est plus grande que 40 (nous utilisons ici une constante de telle sorte que cela peut être facilement modifiée, car elle dépend beaucoup de la lumière ambiante) on inverse un moteur et on attend d'être sur la bonne voie.

Comme vous le verrez lorsque vous exécuterez le programme, l'execution n'est pas très lisse. Essayez d'ajouter wait(100) avant la commande until pour faire que le robot bouge mieux. Notez que le programme ne permet pas d'aller dans le sens antihoraire. Pour pouvoir se déplacer en suivant un chemin plus long, il nous faudra un programme plus complexe. Pour lire l'intensité lumineuse ambiante avec les DELs éteintes, configurer le capteur comme suit :

SetSensorType(IN_3,IN_TYPE_LIGHT_INACTIVE);

SetSensorMode(IN_3,IN_MODE_PCTFULLSCALE);

ResetSensor(IN_3);




Yüklə 0,51 Mb.

Dostları ilə paylaş:
1   ...   14   15   16   17   18   19   20   21   ...   43




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin