Capteurs de lumière

Mercredi 15 février 2006, par Pierre Couillard // NQC : Not Quite C

En plus des capteurs de contact, vous avez aussi avec votre système MindStorms, un captteur de lumière. Le capteur de lumière mesure la quantité de lumière dans une direction particulière. Le capteur de lumière émet aussi une lumière. De cette façon, il est possible de diriger le capteur de lumière dans une direction particulière et faire une distinction entre l’intensité de l’objet dans cette direction.

C’est en particulier utile si on essaie de faire suivre une ligne sur le plancher à un robot. C’est ce que nous allons faire dans l’exemple suivant. Nous devons d’abord fixer le détecteur de lumière au robot tel qu’il est au milieu du robot, devant et dirigé vers le bas. Connectez-le à l’entrée 2. Par exemple, faites une construction qui permettra l’utilisation du capteur de lumière (l’aspect mobilité n’est pas présent sur l’image) :

Nous avons aussi besoin de la « piste » de course qui vient avec le kit RIS (Cette grande feuille avec la trace noire.) l’idée consiste maintenant en ce que le robot s’assure que le capteur de lumière reste au-dessus de la trace. Chaque fois que l’intensité de la lumière augmente, le détecteur de lumière n’est plus sur la trace et nous devons alor réadapter la direction. Voici un programme très simple pour cela qui fonctionne seulement si nous parcourons la trace dans le sens des aiguilles d’une montre.

Le programme indique d’abord que le capteur 2 est un capteur de lumière . Ensuite, il fait se déplacer le robot en avant et va dans une boucle infinie. Chaque fois que la valeur légère est plus grande que 40 (nous employons une constante ici ; cela peut être adapté facilement, la cause est que la valeur dépend beaucoup de la luminosité environnante), nous inversons la direction d’un moteur et attendons que nous soyons de nouveau sur la trace. Comme vous le verrez quand vous exécuterez le programme, le mouvement est saccadé. Essayez d’ajouter une commande wait(10) avant la commande until afin d’améliorer le déplacement du robot. Notez que le programme ne fonctionne pas pour le déplacement en sens inverse des aiguilles d’une montre. Pour permettre le mouvement le long d’un chemin arbitraire un programme beaucoup plus compliqué est exigé. Cette tâche peut être un beau défi à réaliser...

Résumé

Dans cet article, vous avez vu comment travailler avec des capteurs de lumières. Nous avons aussi vu la commande until (jusqu’à) qui est utile à employer avec des capteurs. Il serait intéressant pour vous maintenant d’écrire quelques programmes vous-même. Vous avez tous les outils nécessaires pour donner à vos robots un comportement assez compliqué maintenant. Par exemple, essayez de mettre deux détecteurs de contact sur votre robot, un sur le front gauche et autre sur le front droit et faire s’éloigner le robot des obstacles qu’il frappe. Essayez aussi de faire un robot qui reste dans un secteur indiqué par une ligne de frontière épaisse noire sur le sol.

1 Message

  • Capteurs de lumière 4 avril 2007 10:59, par Andre Maxime

    Bonjour, J’aurais juste aimé savoir si il est possible de faire suivre un robot sur une trace noire comme vu ici dessus mais sur une longue distance et ce avec un seul capteur de lumiere ? Car je ne comprend pas tres bien comment le capteur arrive a définir si il se trouve a gauche ou a droite de la ligne, et dc permettre au robot de modifier sa trajectoire ds le bon sens...
    merci