-
Notifications
You must be signed in to change notification settings - Fork 2
Capteurs Horizontaux
Précédent - Changement d'ordre | Home | Suivant - Suivre une ligne
Les capteurs horizontaux avant sont numérotés 0, 1, 2, 3, 4 de gauche à droite. Les capteurs arrière sont numérotés 5 pour le gauche et 6 pour le droite. À la place d’utiliser les capteurs 0 et 4 comme jusqu’à maintenant :
- Utilisez le capteur 1 pour tourner le robot vers la gauche et le 3 pour tourner vers la droite.
- Utilisez à la fois les capteurs 0 et 1 pour tourner le robot à gauche et à la fois les capteurs 3 et 4 pour tourner le robot à droite.
- Ajouter une paire événement-actions pour les capteurs arrières 5 et 6.
Pour la première pair, on fait tourner le robot à gauche en reculant avec la roue gauche et avançant avec la roue droite, quand le capteur 1 détecte un objet à proximité.
La deuxième pair fait tourner le robot à droite en reculant avec la roue droite et avançant avec la roue gauche, quand le capteur 3 détecte un objet à proximité.
Enfin la troisième pair nous fait fortement tourner à gauche, quand les capteurs 0 et 1 détectent des objets à proximité, en reculant à pleine vitesse avec la roue gauche, et en avançant à pleine vitesse avec la roue droite.
La 4ème pair, permet au robot de tourner fortement à droite quand les capteurs 3 et 4 détectent un objet à proximité. Il tourne en reculant à vitesse maximum avec la roue droite, et en avançant à vitesse maximum avec la roue gauche.
Pour finir la cinquième pair met en lien la détection d'objets à proximité avec les capteurs 5 et 6, et un robot qui avance gentiment.
# reset outputs
call sound.system(-1)
call leds.top(0,0,0)
call leds.bottom.left(0,0,0)
call leds.bottom.right(0,0,0)
call leds.circle(0,0,0,0,0,0,0,0)
onevent prox
when prox.horizontal[1] >= 2000 do
motor.left.target = -200
motor.right.target = 200
emit pair_run 0
end
when prox.horizontal[3] >= 2000 do
motor.left.target = 200
motor.right.target = -200
emit pair_run 1
end
when prox.horizontal[0] >= 2000 and prox.horizontal[1] >= 2000 do
motor.left.target = -500
motor.right.target = 500
emit pair_run 2
end
when prox.horizontal[3] >= 2000 and prox.horizontal[4] >= 2000 do
motor.left.target = 500
motor.right.target = -500
emit pair_run 3
end
when prox.horizontal[5] >= 2000 and prox.horizontal[6] >= 2000 do
motor.left.target = 250
motor.right.target = 250
emit pair_run 4
end