Rss Les variables et les constantes

Sommaire:

 

Les constantes



Nous allons voir dans cette partie quelque chose qui ressemble de près à une variable, mais qui n'en est pas une.

En effet, une constante est une case en mémoire du NXT qui va retenir une information comme une valeur par exemple.

Mais qu'elle est donc la différence avec une variable.


Qu'est ce qu'une constante ?




Comme son nom l'indique, une constante est une valeur qui ne peut pas changer tant que le programme fonctionne.

Elle reste constante.

Je suis sûr que vous connaissez déjà quelques constantes !

Mais si, réfléchissez bien ...

Un exemple de constante très connue est le nombre pi d'une valeur de 3,14 qui se trouve sur toute calculatrice qui se respecte et que nous avons utilisé dans le tutoriel suivant pour calculer la circonférence des roues de notre robot.

Et d'ailleurs, la circonférence des roues de votre robot est une autre constante elle aussi vu qu'elle ne varie pas dans le temps ... Si vous ne changez pas de taille de roues bien évidemment.

Dans le programme d'exemple ci-dessous, c'est donc justement cette circonférence qui sera utilisée comme constante dans le programme.

Le grand intérêt des constantes est, qu'une fois déclarées, vous pouvez les utiliser dans n'importe lequel de vos programmes.

Et comme une variable, une constante est composée d'un nom et d'une valeur :

  • Un nom : Pi, Circonférences roues, etc ...
  • Une valeur : 3,14 ou 13,57 etc ...


Notez que la valeur n'est pas forcément un nombre, mais peut très bien être là aussi une valeur logique "Vrai/Faux" ou encore un texte.

Toujours simple, n'est ce pas.

Mais là encore, pour pouvoir utiliser un peu de la mémoire du NXT, il va falloir le demander gentiment en lui déclarant que nous souhaitons avoir pour nos programmes une constante d'un certain type, d'une certaine valeur et ayant un certain nom.

C'est le but de la déclaration de constante que nous allons aborder maintenant.


La déclaration de constante




Cette déclaration de constante est très importante et doit être faite avant toutes utilisations des constantes.

Si vous ne faites pas de déclaration de constante, vous ne pourrez tous simplement pas utiliser cette constante dans vos programmes.

Pour déclarer une constante, il faut utiliser l'option "Définir les constantes" du menu Modifier de votre logiciel NXT-G.



Ceci ouvrira une boîte de dialogue vous permettant de créer, modifier ou supprimer vos constantes.



Vous pouvez voir dans ma liste des constantes que certaines d'entre-elles existent déjà !

Notamment, une constante nommée Circonférence roues de type numérique et d'une valeur de 13,57 centimètres.

C'est exactement la valeur de la circonférences des roues de mon robot équipé de roues d'un diamètre de 43,2 millimètres !

Je vous conseille donc de créer cette constante par vous même.

Pour créer une nouvelle constante, il faut d'abord et avant tout cliquer sur le bouton "Créer".

Vous pouvez voir dans la liste votre nouvelle constante ainsi créée.

Il ne vous reste plus qu'à lui donner un nom, le type de données quelle va devoir contenir et une valeur à l'aide des trois champs éponyme de cette fenêtre.

Vous pouvez ainsi créer autant de nouvelles constantes que nécessaire dans vos programmes.

Notez que vous pouvez modifier une constante à tous moment, après sélection de celle-ci dans la liste des constantes, et même la supprimer à l'aide du bouton "Supprimer".

Une fois vos constantes déclarées, un dernier clic sur le bouton "Fermer" finalisera cette déclaration de constante.

Maintenant nous pouvons utiliser la constante que nous venons de déclarer.


Utilisation des constantes




Pour utiliser une constante, il existe dans la palette données du logiciel NXT-G un bloc "Constante".

Voici à quoi il ressemble :




Vous pourrez distinguer dans son panneau de configuration une option nommée Perso pour personnalisée.

Cette option vous permet de définir directement le nom, le type et la valeur de la constante dans son panneau de configuration.

Toutefois, cette constante ne sera définie que pour le programme dans laquelle elle a été définie de cette façon.

Elle ne sera pas disponible pour d'autres programme.

Une seconde option existe, nommée Choisir dans la liste, vous permettant de sélectionner la ou les constantes que vous venez de déclarer.

Sélectionner ainsi la constante que vous voulez utiliser dans la liste affichée sur la droite, comme sur l'image ci-dessous avec la constante nommée "Circonférence roues".



Le bloc "Constante" vous restitue la valeur de cette constante par l'intermédiaire d'un fil de données que vous pouvez utiliser dans votre programme.

Notez que lors de la lecture de cette constante, la valeur de celle-ci reste inchangée et vous retrouverez la même valeur si vous utilisez à nouveau un autres bloc "Constante" pour lire sa valeur.

Voyons maintenant l'utilisation pratique d'une constante.


Programme d'exemple




Comme programme d'exemple, je vous propose de calculer automatiquement le nombre de tour de roues que votre robot devra effectuer pour parcourir une distance mesurée par le capteur d'ultrasons.

Pour cela je vous invite à utiliser la plate-forme suivante.

Ce robot devra être placé face à un mur à une distance quelconque et le programme fera en sorte de mesurer cette distance puis de faire parcourir cette même distance au robot, en prenant une petite marge de sécurité de 2 centimètres.

Commencez donc par déclarer une constante numérique que vous nommerez "Circonférence roues" d'une valeur de 13,57.



Cette constante contient ainsi la circonférence des roues du robot préalablement calculé comme indiqué dans ce tutoriel.

Ensuite, réalisez le programme suivant :









Ce programme relativement simple fonctionne de la manière suivante.

Le bloc "Constante" fournie la valeur de la circonférence des roues, qui sera utilisée plus loin dans les calculs.

Ensuite, le bloc "Ultrasons" effectue une mesure de distance à l'aide du capteur d'ultrasons.

La valeur de cette mesure en centimètre est réduite de 2 à l'aide du premier bloc "Math", pour prendre une marge de sécurité de 2 centimètres, histoire que votre robot n'aille pas s'écraser comme un flanc sur le mur.

Cette valeur de distance est ensuite divisé par la circonférence des roues, grâce au second bloc "Math", de manière à obtenir le nombre de tours de roue que devra effectuer le robot pour parcourir cette distance.

L'opération est donc la suivante, comme vu dans le tutoriel précédemment cité :

Nombre~de~rotations~=~Distance/Circonference



Toutefois, la documentation du bloc "Déplacer" nous indique que la valeur à envoyer au plot de données Durée de ce dernier doit être exprimée en degrés pour un réglage sur Degrés ou Rotations de ce même paramètre dans le panneau de configuration de ce bloc :



De ce fait, il nous faut convertir notre nombre de rotations précédemment calculé en nombre de degrés.

Rien de plus simple, si on se rappel qu'un tour de roue fait toujours 360 degrés. Normal, puisqu'il s'agit d'un cercle.

Donc, il ne nous reste plus qu'à multiplier notre nombre de tours de roue par 360 pour obtenir un résultat exprimé en degrés.

L'opération est donc : Nombre~de~degres~=~Nombre~de~rotations~*~360

C'est exactement ce que fait le troisième bloc "Math" avant d'envoyer le résultat au bloc "Déplacer" via un fil de données.

Ce dernier se chargeant de déplacer le robot d'une distance égale à celle mesurée par le capteur d'ultrasons, moins la marge de sécurité.

Voila une constante que vous pourrez utiliser dans tous vos programmes afin de faire les calculs nécessaire aux parcours des distances à effectuer.

 
 « Page précédente
Les variables
 1  2  3  4 
Page suivante »
Conclusion 
 
 
1 Note
Ecrit par: FRED_80 Le: 29/03/12