LE ROBOT :
Notre robot aspirateur est équipé de deux roues, chacune dotée de son propre moteur, ainsi que d’un capteur frontal lui permettant de détecter les obstacles. Lorsqu’il en rencontre un obstacle, il recule légèrement, puis tourne afin de l’éviter et poursuivre sa tâche de nettoyage.
AVANCER
J’ai complété ma feuille
LOGIGRAMME :
SI
OBSTACLE
RECULER
TOURNER
ALGORITHME :
LE CODE :
SITUATION :
JE SUIS INGENIEUR EN INFORMATIQUE,
ON ME DEMANDE DE PROGRAMMER LE DEPLACEMENT D' UN ROBOT ASPIRATEUR.
Répéter indéfiniment
Avancer
Si touche l’obstacle
Alors Reculer
et Tourner
Fin
PROBLEMATIQUE :
Je dois créer le meilleur programme possible.
SCRATCH ROBOT ASPIRATEUR
EKLNR
Logiciel
On peut imaginer une solution !
Une fois que le robot à fini de nettoyer la pièce, il longe le bord de la pièce.
Modifie ton code comme ci contre :
J’ai réussi >>>
COMMENT AMELIORER
La pièce est trés bien nettoyé, seul le bord reste non fait.
< PRECEDENT
UN PROBLEME ?
EVITER UN OBSTACLE !
Faire apparaitre le tapis
C’est fait >>>
Comment faire pour que le robot évite le tapis ?
Il faut s’inspirer du travail précédent, le robot TOURNE si il touche le tapis….
Indice 3
Dans un SI on peut faire 2 conditions
Solution
Indice 1
Dans scratch on peut détecter si on touche un objet
Indice 2
1 Code
7 Tapis
2 Extension
Problématique
4 Blocage
Activité >
6 Concours
3 Chronomètre
5 Limite
PROGRAMMATION D’UN ROBOT ASPIRATEUR
Le robot doit rebondir quand il touche la plinthe blanche
Code de base du robot aspirateur
Code >>>>
<<<
?
Suite
Ca marche mais comment savoir si le robot est passé partout.
!
V2
J’ai chargé mon fichier >
Ouvre ton fichier :
ROBOT-Aspirateur.mblock dans perso/devoir/kelner/
Voici la pièce à faire nettoyer par notre aspirateur.
FICHIER ASPIRATEUR ROBOT
Pour suivre les déplacements nous allons tracer un trait derrière le passage du robot
J’ai ajouté l’extension >
POUR CELA IL FAUT AJOUTER L’EXTENSION STYLO DANS MBLOCK
Au bout de 120s le robot doit s’arrêter.
Code complet
J’ai programmé le code >
X
Bilan >>>
Modifie le code afin d’avoir le nettoyage le plus efficace dans le temps le plus court !!!!
Tu as le droit d’ajouter autant de lignes que tu veux !
Réglement :
Le robot à 2 minutes pour nettoyer la pièce.
Interdiction de changer la vitesse du robot.
Interdiction de changer la largeur du trait.
Il faut le mot de passe pour accéder au bilan :
Code à ajouter
AJOUTE LE CODE DU STYLO
MODIFIE LE CODE
Résultat :
COMPLETE TA FEUILLE :
CONCOURS
Notre robot ce bloque au bout d’un certain temps
Laisse tourner le code
C’est parce qu'il fait toujours la même chose !
Une idée ?
Que constates-tu au bout d’un moment ?
Il faut trouver une solution !
Il faut introduire du hasard
SOLUTION
Sinon demande la solution
Ca fonctionne mais pas très bien >>>
Fait des essais
OPTIMISATION
Ca fonctionne >>>
Essaye de trouver les meilleures valeurs
pour un nettoyage le plus efficace !
Fait des essais
Et nous allons ajouter un chronomètre pour voir le temps de nettoyage du robot.
AJOUTE LE CHRONOMETRE
Principe >
1
CODE DE BASE
Ajout de l'extension
2
STYLO
3
Ajout du chronomètre >
CHRONOMETRE
Ajout du hasard >
BLOCAGE
4
5
LIMITE TEMPS
Ajout d’une limite de temps >
6
Réglement
CONCOURS
ATTENTION LE ROBOT NE PAS ABIMER LES PLINTHES
???
Positionne le robot sur sa base.L’oriente vers la droite.
Le robot avance.Si le robot touche un obstacle.Il recule.Tourne de ???°.EndFragment
Teste ce code dans MBLOCK et complète ta feuille.
A TOI DE TESTER DIFFERENTES
VALEURS POUR L'ANGLE
7
OBSTACLE