Vous êtes sur la page 1sur 2

Thème 3 : Informatique embarquée - Objets connectés TP 4

Nom : Prénom : Clase :


Le Défi

Dans ce TP, votre objectif consistera à programmer votre robot Maqueen


pour qu’il gagne une course d’obstacles.

Vous travaillerez en binôme et ce défi sera évalué notamment sur :


- l’efficacité du travail en équipe,
- La capacité à réaliser un programme sans erreur,
- La capacité à réaliser un programme qui fonctionne,
ARRIVEE
Vous utiliserez firefox ou chrome pour saisir l’adresse : create.withcode.uk/

Préparation : le détecteur de proximité à ultrasons


Le robot Maqueen est équipé d’un détecteur de proximité à ultrasons. Détecteur
Il permet de détecter la présence d’un objet devant le robot et même de à ultrasons
connaitre la distance entre l’objet et le robot.

1. Dans Moodle, telécharger le fichier : Maqueen_le-defi.py et l’afficher dans le dossier.


A partir de votre dossier, faire un clic droit sur le fichier Maqueen_le-defi.py puis Edit with Notepad++.

Votre programme commence par une zone d’importation de modules, puis par une zone de créations de
fonctions. Par exemple moteurGauche permet de régler la vitesse de rotation de la roue Gauche.
2. Quel est le nom de la fonction permettant de calculer la distance à un obstacle.
Quelle est l’unité de cette distance ?

3. Charger le programme Maqueen_le-défi.py dans la carte micro:bit (Au besoin voir TP3).
Placer votre main à une dizaine de centimètres devant le robot, puis appuyer sur le bouton A.
Des chiffres et un point vont défiler rapidement sur l’écran de la carte.
Noter soigneusement les chiffres avant le . Quel nombre s’est affiché sur l’écran ?
A quoi correspond ce nombre ?
Utiliser le guide, disponible sur Moodle pour indiquer les valeurs mini et maxi mesurables par le
détecteur:

4. Ci-dessous, se trouve un extrait du programme Maqueen.py. Compléter l’algorithme de manière à


expliquer ce que fait le programme ligne par ligne.
Extrait du programme Maqueen_le-défi.py Algorithme

while True: #boucle infinie Tant que True est Vrai, faire :
d=distance() A la variable d, on affecte la valeur de la distance
if button_a.is_pressed(): Si … alors :
display.show(d)

Etude et Amélioration du programme
5. On envisage de modifier la boucle du programme. Traduire le programme suivant en complétant l’algorithme.
Extrait du programme Maqueen_le-défi.py Algorithme
while True: #boucle infinie Tant que True est Vrai, faire :
d = distance() A la variable d, on affecte la valeur de la distance
if d < 9: Si … alors :
display.show(Image.SAD) Afficher l’image SAD
elif d > 25:
Sinon Si … alors :
display.show(Image.HAPPY)

else :
display.show(d) Sinon :
sleep(2000) …
On ne fait rien d’autre pendant … secondes

6. Que se passe-t-il si un objet est situé à moins de 9 cm devant le capteur ?


Que se passe-t-il si un objet est situé à plus de 25 cm devant le capteur ?
Que se passe-t-il si un objet est situé entre 9 et 25 cm devant le capteur ?

7. Modifier votre programme comme ci-dessus, puis downloader le fichier dans la micro:bit, puis tester le
avec le robot Maqueen et vérifier vos réponses à la question 6.

8. Modifier votre programme pour que votre robot :


• avance avec une vitesse de 30.
• s’arrête quand il détecte un obstacle à moins de 20cm devant lui.
Pour tester votre programme, vous devez :
• Connecter le câble, mettre sur OFF, puis downloader le fichier dans la micro:bit.
• Poser le robot au sol.
• Mettre sur On.
• Appuyer sur le bouton reset (situé au dos de la carte micro:bit), pour forcer votre programme à
redémarrer.

Le défi
Phase 1 : réflexion
Compléter l’algorithme ci-contre permettant à votre
Algorithme
robot d’avancer à vitesse maxi de 50, d’éviter un
obstacle et de poursuivre son chemin. Tant que True est Vrai, faire :

Phase 2 : programmation
Traduire votre algorithme en un programme en
Python.

Phase 3 : tests et améliorations


Tester votre programme en imaginant différents cas
de figure : un obstacle, deux obstacles…
Améliorer votre programme.

Vous aimerez peut-être aussi