Le capteur à ultrasons
Le capteur à ultrasons mesure la distance. L’un des « yeux » transmet un son, et l’autre attend que l’écho du son revienne. À partir du temps que prend le processus, la distance entre l’objet et le capteur peut être calculée. Le capteur à ultrasons a un intervalle de 3-400 cm. Si un objet est en dehors de cette plage, le capteur renverra la valeur 400.
Dans cette leçon, je veux faire avancer le robot jusqu’à ce qu’il soit proche d’un objet, puis se détourner de l’objet et se déplacer dans une nouvelle direction:
Forever:
---- If an object is detected
---- ---- Turn to a new direction
---- Else
---- ---- Go forward
Et dans le code, cela ressemble à ceci:
Lorsque j’ai testé cela, j’ai découvert que le robot ne tournait pas suffisamment lorsqu’il heurtait un objet, j’ai donc ajouté une commande d’attente après le virage. Maintenant, je veux le tourner dans une direction aléatoire – parfois à gauche et parfois à droite. Heureusement, il existe un bloc d’opérateurs que je peux utiliser pour faire exactement cela:
Le robot ne peut tourner qu’à gauche ou à droite, je vais donc choisir un nombre aléatoire entre 0 et 1. Si le nombre aléatoire est 0, le robot tournera à gauche. Si le nombre aléatoire est 1, le robot tournera vers la droite. Ainsi, le comportement de virage ressemblera à ceci:
Défi:
- Pouvez-vous mettre le code ci-dessus pour terminer le programme?
- Pouvez-vous écrire un programme qui suit un objet? Donc si l’objet est trop proche, le robot recule, si l’objet est loin il avance et si l’objet n’est pas proche ou loin, le robot s’arrête.
- Pouvez-vous changer votre programme de la question 2 pour faire bouger le robot à différentes vitesses?
Construisez vos rêves!