Le script
Introduction
L'algorithme a été écrit avec Mblock version 3.42.11.
Il est embarqué dans le robot.
Il a été conçu en plusieurs blocs. Celui-ci peut certainement être optimisé.
L'avantage qu'il présente c'est que chaque problème peut être attribué à des élèves en fonction du niveau de difficulté.
Télécharger le script
Les variables
![]() |
Stocke la valeur de la distance du capteur avant sur le port 1.
|
![]() |
Stocke la valeur de la distance du capteur avant gauche sur le port 2
|
![]() |
Stocke la valeur de la distance du capteur arrière gauche sur le port 3
|
![]() |
Stocke la valeur compteur qui varie en fonction de la direction prise par le Mbot
|
![]() |
Stocke la valeur calculée de la distance, et ensuite un angle de rotation
|
![]() |
Stocke la valeur binaire des 3 capteurs à ultrasons.
|
![]() |
Stocke la valeur temps calculée à partir d'un angle.
|
La gestion des états
Ce premier script permet de gérer les différents états des capteurs.
Ce script permet met la variable compteur à 0 .
Ensuite le programme relève la valeur des capteurs et transforme sa valeur en tout ou rien dans une variable.
Attendre 0.1 seconde ralentit légèrement cette boucle pour éviter les bugs lors des mouvements du robot.
Si la distance du capteur avant (port1) est inférieure à 7 alors la valeur de la variable capteur 1 passe à 1 sinon elle passe à 0.
Si la distance du capteur côté gauche avant (port 2) est inférieure à 15 alors la valeur de la variable capteur 2 passe à 1 sinon elle passe à 0.
Si la distance du capteur côté gauche arrière (port 3) est inférieure à 15 alors la valeur de la variable capteur 3 passe à 1 sinon elle passe à 0.
Nous affectons à la variable ETAT le calcul des valeurs des différentes variables capteurs.
Cette valeur ETAT nous donne les différentes possibilités à traiter, en fonction de la valeur des trois capteurs.
Capteur 1 (port1) |
Capteur 2 (port2) |
Capteur 3 (port 3) |
ETAT |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 10 |
0 | 1 | 1 | 11 |
1 | 0 | 0 | 100 |
1 | 0 | 1 | 101 |
1 | 1 | 0 | 110 |
1 | 1 | 1 | 111 |