QSCOUT - Capteur ultrason
QSCOUT - Capteur ultrason
1. Introduction
Salut l'ami !
Ta nouvelle mission ici va être de détecter les obstacles avec ton robot Qscout et de les éviter. Pour cela, tu vas utiliser le capteur à ultrason.
2. Le capteur ultrason
Le capteur ultrason fonctionne ainsi : une onde sonore (inaudible par l’oreille humaine) est émise et – suivant le temps qu’elle met à revenir vers le récepteur – le capteur est capable d’estimer la distance en connaissant la vitesse de propagation du son.
Le défi est le suivant : de manière générale, le robot Qscout devra avancer sans s’arrêter jusqu’à ce qu’il détecte un obstacle. Le cas échéant, il s’arrête, recule de quelques centimètres, et repart dans une autre direction, jusqu’au nouvel obstacle.
Découpons cette activité en plusieurs étapes. Dans un premier temps, le robot devra simplement s’arrêter à l’obstacle.
Le capteur ultrason renvoie un nombre qui correspond à la distance le séparant de l’obstacle. Ainsi, cette valeur devra être comparée à une valeur définie dans un test « si… alors… » comme vu dans l’activité précédente.
De fait, voici la première étape : le robot avance sans discontinuer, jusqu’à ce qu’il détecte un obstacle ; auquel cas il s’arrête.
Cette fois-ci, l’écriture de la condition est plus subtile. Comme indiqué précédemment, le capteur ultrason renvoie un nombre. Il faut donc utiliser un comparateur (dans la partie Opérateurs) pour l’évaluer. Par exemple, il est estimé ici qu’en dessous de 8, l’obstacle est trop proche.
Poursuis l’écriture du programme jusqu’à ce que ton robot soit capable de s’arrêter en détectant un obstacle.
Remarque : n’oublie pas de vérifier que ton capteur est branché au bon port !
Ainsi, le programme attendu ressemble à cela :
3. Se déplacer seul
À présent, fais en sorte que le robot, lorsqu’il détecte un obstacle, recule un petit peu, pivote (vers la gauche, par exemple), et repart dans une autre direction.
Pour cela, il suffit de remplacer la consigne d’arrêt par le mouvement attendu, à savoir le recul et la rotation.
Si tu testes ton programme, tu remarqueras que le robot l’exécute une seule fois seulement. Trouve une solution pour résoudre ce problème et que Qscout soit capable d’accomplir à l’infini sa mission.
Tu l’as deviné, il faut ajouter autour de ton programme une boucle indéfinie « toujours ». Bravo !
Ce qui donne le programme suivant :
Ainsi, tu as programmé un robot autonome, capable de se déplacer dans l’espace sans risquer de heurter son environnement.
4. Ajouter une lumière
Tu peux parfaire encore un petit peu ton programme.
Ajoute lui une lumière !
Le robot circule avec une couleur de croisière (bleu, par exemple) et se met en alerte (rouge, par exemple) en détectant un obstacle. Puis, il reprend sa couleur d’origine à la fin de la manœuvre.
À toi de deviner comment incorporer cela à ton programme.
Cela consiste simplement à ajouter quelques blocs :
5. Pour aller plus loin : direction aléatoire.
Cette déclaration de variable doit se faire dans le bloc « si … alors … » car le tirage au sort se fera à chaque fois qu’un obstacle est détecté.
Puis, ajoute deux tests de condition :
→ Si alea vaut 1, on tourne à gauche ;→ Si alea vaut 2, on tourne à droite.
Teste ton programme avant de voir la solution !
En réalité, il est plus simple de choisir un test de condition « si… alors… autre… » puisque de toute façon « alea » ne peut prendre que deux valeurs. Voici le programme optimisé :
Bravo ! Tu as accompli toutes les missions de découverte de ton robot Qscout.
À toi maintenant d’imaginer d’autres programmes et aventures pour continuer de t’amuser avec ton robot Qscout ! Tu peux aussi utiliser les extensions q-scout - Myriapod Legion 3 en 1 et q-scout - Matrice LED !
N’hésite pas à le prendre en photo ou en vidéo et à les partager à la communauté SMARTEO.
À bientôt pour de nouveaux défis !