Outils pour utilisateurs

Outils du site


cours:bilanprogramationmbot

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

cours:bilanprogramationmbot [2024/02/04 12:28]
mrcjl créée
cours:bilanprogramationmbot [2024/02/04 14:24] (Version actuelle)
mrcjl
Ligne 16: Ligne 16:
 </WRAP> </WRAP>
  
-Le robot mBot doit aller du point D au point A. Je connais l'utilisation des capteurs infra-rouge et ultra-son.  +Le robot mBot doit aller du point D au point A. Je dois connaître l'utilisation des capteurs infra-rouge et ultra-son. 
-<WRAP>{{ cours:mbot_capteurs_i.jpg?100}}Capteur infra-rouge : Connaître sa position par rapport à une ligne noire. \\ 0 c'est bon, 1 ou 2 il faut corriger la trajectoire, 3 il n'y a plus de ligne.</WRAP> +
-<WRAP>{{ cours:mbot_capteurs_u.jpg?100}}Capteur ultra-son : Connaître sa distance par rapport à un obstacle </WRAP>+
  
-La solution la plus simple est de suivre la ligne noire, puis de tourner de 90° au bout et de s'arrêter à 10 cm du mur+{{cours:mbot_capteurs_u.jpg?200 }}{{ cours:mbot_capteurs_i.jpg?200}}Capteur ultra-son : Connaître sa distance par rapport à un obstacle  
 + 
 +Capteur infra-rouge : Connaître sa position par rapport à une ligne noire. 0 c'est bon, 1 ou 2 il faut corriger la trajectoire, 3 il n'y a plus de ligne. Comme il y a 4 possibilités pour la position de la ligne, je dois l'enregistrer dans une variable afin de faire les 4 tests qui peuvent répondre VRAI ou FAUX. 
 + 
 +La solution la plus simple est de suivre la ligne noire, puis de tourner de 90° au bout et de s'arrêter à 10 cm. 
 + 
 Pour l'exprimer simplement, précisément et de manière ordonnée je dois écrire quelque chose comme : Pour l'exprimer simplement, précisément et de manière ordonnée je dois écrire quelque chose comme :
 {{ :cours:defi1mbot.jpg?300|}} {{ :cours:defi1mbot.jpg?300|}}
-  * Répéter jusqu'à plus voir de ligne noire +  * Définir une variable LIGNE à 0 (0 = être sur la ligne) 
-  * ---- Regarder ma position (capteur infra-rouge+  * Répéter jusqu'à plus voir de ligne noire (valeur 3 du suiveur de ligne) 
-  * ---- Si je déborde à droite de la ligne+  * ---- Mettre la position réelle dans la variable LIGNE (éviter d'avoir 3 si on ne roule pas droit
 +  * ---- Si je déborde à droite de la ligne (valeur 1)
   * ---- ---- Tourner un peu à gauche   * ---- ---- Tourner un peu à gauche
-  * ---- Si je déborde à gauche de la ligne+  * ---- Si je déborde à gauche de la ligne (valeur 2)
   * ---- ---- Tourner un peu à droite   * ---- ---- Tourner un peu à droite
-  * ---- Avancer un peu +  * ---- Si je suis sur la ligne (valeur 0) 
-  * Tourner de 90° à gauche +  * ---- ---- Avancer un peu à droite 
-  * Répéter jusqu'à ce que la distance soit plus petite que 10 cm+  * Tourner de 90° à gauche  
 +  * Répéter jusqu'à ce que la distance mesurée soit plus petite que 10 cm (distance d'arrêt dépassée)
   * ---- Avancer un peu   * ---- Avancer un peu
   * S'arrêter   * S'arrêter
Ligne 45: Ligne 50:
 Il n'existe qu'un langage **(le code machine en 0 et 1) compréhensible par l'ordinateur**. Il faudra donc une deuxième traduction par un programme : l'interpréteur (traduction ligne par ligne) ou un le compilateur (traduction en 1 seule fois) pour passer du langage de programmation au code machine. Il n'existe qu'un langage **(le code machine en 0 et 1) compréhensible par l'ordinateur**. Il faudra donc une deuxième traduction par un programme : l'interpréteur (traduction ligne par ligne) ou un le compilateur (traduction en 1 seule fois) pour passer du langage de programmation au code machine.
 </WRAP> </WRAP>
 +
 +{{ :cours:mblock_progdef1.png?600|}}
 +Pour pouvoir faire ma traduction, je dois connaître la signification des couleurs et des blocs qui vont avec.
 +
 +  * (en orange) Je peux définir la valeur d'une variable que j'ai créé (rectangle) ou lire sa valeur (ovale)
 +  * (en jaune) Je peux réaliser des répétitions "Répéter jusqu'à ... " ou des conditions "Si ... alors ..." (remarquer l'indentation pour les répétitions et les conditions).
 +  * (en vert) Je dois utiliser des opérateurs en forme de losange pour préciser les conditions (ou des opérateurs ronds pour faire des calculs)
 +  * (en bleu clair) Je peux lire mes capteurs (rond = valeur analogique et losange = valeur logique)
 +  * (en bleu foncé) Je peux commander mes actionneurs. 
 +
 +J'ai du faire des essais pour trouver la valeur en seconde qui correspond à 90°.
 +
 +Lorsque j'ai fini de traduire l'algorithme en langage de programmation graphique SCRATCH, Je clique sur le bouton "Télécharger" qui va d'abord compiler le programme (le traduire en 0 et 1) avant de le télécharger dans mBot.
 +
 +Je peux alors poser mBot au point D et le mettre en marche pour vérifier si le programme fonctionne.
 +
 +
cours/bilanprogramationmbot.1707046088.txt.gz · Dernière modification: 2024/02/04 12:28 de mrcjl