Rss Les blocs mathématiques

Sommaire:

 

Le robot fou



Comme application pratique des blocs mathématiques, je vous propose de réaliser un programme permettant à votre robot de simuler la folie.

En effet, ce programme fait en sorte que le robot se déplace de manière totalement aléatoire que ce soit en avant, en arrière, à droite ou à gauche et cela à des vitesses elles aussi complétement aléatoires.

Mais ce n'est pas tout car ce robot générera quelques sons dans certaines circonstances !

Il criera « Hooray » s'il va tout droit, « System Overload » s'il s'arrête et rigolera lorsqu'il tournera rapidement à droite ou à gauche.

Bref, un robot fou fou fou ... :lol

Ce programme ne sert pas à grand chose, mais permet de mettre en application les blocs mathématiques dans leur ensemble.

Nous utiliserons la plate-forme de base pour ce programme.

Voyons donc maintenant ce programme de folie.


Le programme du robot fou




Voici le programme vous permettant de réaliser un robot totalement fou :

(Cliquez sur la miniature du programme pour l'agrandir.) :

Robot fou


















Et voici comment fonctionne ce programme.

D'abord et avant tout, une boucle sans fin permettant au programme de s’exécuter indéfiniment.

Vient alors trois blocs "Aléatoire" envoyant un nombre au hasard par leurs fils de données :

  1. Le premier génère un nombre entre 0 et 100 servant à fournir une vitesse aux moteurs.
  2. Le second génère un nombre entre -100 et 100 permettant de virer plus ou moins vers la gauche ou vers la droite.
  3. Le troisième génère un nombre entre 0 et 100 qui, après comparaison, servira à déterminer la direction du déplacement du robot.


Comme indiqué ci-dessus, le bloc suivant est un bloc "Comparer" configuré pour vérifier si le nombre envoyé par le troisième bloc "Aléatoire" est inférieur à 50 ou non.

La sortie logique « Vrai » ou « Faux » de ce bloc servira à déterminer la direction, en marche avant ou en marche arrière, du déplacement du robot.

Vient ensuite le bloc "Déplacer", qui reçoit par des fils de données, les informations des blocs précédent et qui permet d'actionner de manière illimité les moteurs du robot conformément au tableau ci-dessous fournit dans la documentation du logiciel.



Ces blocs se suffisent à eux mêmes pour faire adopter au robot un déplacement aléatoire.

Mais nous allons rajouter d'autres blocs permettant de lui faire émettre quelques sons qui amplifieront son apparente folie.

Ainsi, après le bloc "Déplacer", se trouve un bloc "Son" jouant le son Hooray uniquement lorsque le robot va exactement en ligne droite.

En effet, le prise de données contrôle de ce bloc "Son" est reliée par un fil de données au second bloc "Aléatoire" via le bloc "Déplacer".

Comme ce bloc "Aléatoire" génère un nombre entre -100 et 100 et que celui-ci détermine le sens du virage du robot, lorsque le nombre généré sera exactement égale à zéro, ce qui correspond à ne tourner ni à droite ni à gauche, cela autorisera le bloc "Son" à lire son fichier sonore en vertu du tableau ci-dessous tiré également de la documentation concernant le bloc "Son".



Pour toutes les autres valeurs, le fichier son ne sera pas joué par le bloc "Son".

Et comme ce second bloc "Aléatoire" peut générer des nombres négatif, le bloc "Math" suivant est configuré pour obtenir en sortie de celui-ci la valeur absolue de ces nombres. C'est à dire le même nombre qu'en entrée mais sans le signe + ou -.

Cette valeur absolue servira pour un des blocs "Plage".

Les deux blocs "Plage" qui suivent permettent de vérifier si les nombres générés sont dans une certaine plage de valeurs :

  1. Le premier vérifie si la valeur de direction se trouve dans la plage allant de 75 à 100.
  2. Le second vérifie si la valeur de puissance, donc de vitesse du robot, se trouve dans la plage allant de 80 à 100


Notez au passage que cette même valeur de puissance est transmise également à la prise de données contrôle d'un second bloc "Son" jouant le son System Overload uniquement lorsque le robot à une vitesse nul égale à 0.

Les sorties logiques des deux blocs "Plage" sont envoyées au bloc "Logique", configuré en opération « Et », dont la sortie ne sera « vrai » que lorsque le robot tournera très fortement (75 à 100) à droite ou à gauche et cela à grande vitesse (80 à 100).

Dans ce cas, et uniquement dans ce cas, le bloc "Commutation" suivant exécutera le rayon de séquence supérieur jouant un son de rire à l'aide du troisième bloc "Son".

Enfin, un bloc "Attendre" fera exécuter une pause d'une demi seconde au programme avant que celui-ci ne boucle sur lui même générant trois nouveaux nombres aléatoire pour un autre comportement du robot.

Voila donc le programme d'un robot complément zinzin.

Pour finir ce tutoriel en beauté et être complet dans mes propos, je vous décrit rapidement dans le paragraphe suivant les blocs mathématiques fournit par la société HiTechnic qui se révèlent être très pratique dans nos programmes.

 
 « Page précédente
Le bloc Logique
 1  2  3  4  5  6  7  8  9 
Page suivante »
Les blocs mathématiques de HiTechnic 
 
 
1 Note
Ecrit par: FRED_80 Le: 10/03/12