Apprentissage de la programmation en P_LOGO
LOGO et MEC : Y a-t-il plus simple è

 

 

Retour au sommaire

Pour commander des MEC ou des MEC simples (Modules électroniques de commande), il faut faire apparaître des zones qui puissent passer du clair au foncé, zones sur lesquelles on scotche les photorésistences.

Le plus souvent, on demande à la tortue (cachée, pour ne pas agir sur les photorésistences) de se déplacer au milieu de la zone (FPOS), de tracer un cercle autour d’elle (CERCLE) et de remplir ce cercle (REMPLIS) avec la couleur noire ou la couleur blanche (FCC). Le programme peut ressembler à ceci :

POUR ZONE :HORIZ :VERTIC

; place la tortue à un certain endroit de l’écran

LC FPOS LISTE :HORIZ :VERTIC

; dessine un cercle

CERCLE 20

; remplis le cercle

REMPLIS

FIN

;procédure qui permet de commander la marche et le sens d’un moteur grâce à deux zones colorée sur l’écran.

POUR MOTEUR :NUM :MARCH :SENS

; cache la tortue (important)

CT

; définit la couleur de la zone pour la photoréstence du sens du moteur

FCC SI ZEROè :SENS [0] [15]

; place et affiche la zone

ZONE DIFF PROD 80 :NUM 220 0

; définit la couleur de la zone pour la photoréstence de la marche/halte du moteur

FCC SI ZEROè :MARCH [0] [15]

; place et affiche la zone

CARREP DIFF PROD 80 :NUM 220 70

FIN

Ça fonctionne évidemment très bien, mais ce n’est pas très rapide à l’exécution, la tortue devant effectuer plusieurs opérations consécutives.

Voici une autre manière de réaliser une commande de moteur par un MEC, en utilisant les multitortues et les formes. Il suffit de placer une tortue à l’emplacement de chaque zone, de leur faire prendre la forme d’un cercle plein, puis de les faire apparaître et disparaître.

Pour commencer, il faut créer la forme ronde. (Cette étape sera plus largement expliquée dans la partie " LOGO : Les lutins et autres farfadets. ")

POUR TORTUERONDE

VE VIDEFORMES

CT CERCLE 20 REMPLIS

; crée une nouvelle forme de tortue à partir du dessin à l’écran

CREEFORME "ROND

FIN

Ensuite, il faut placer les différentes tortues et métamorphoser les tortues en ronds, voici un exemple avec quatre zones.

POUR PLACETORTUES

VE

; place chacune des tortues

FTORTUE 0 LC FPOS [-100 100]

FTORTUE 1 LC FPOS [-100 0]

FTORTUE 2 LC FPOS [100 100]

FTORTUE 3 LC FPOS [100 100]

; fixe la forme "rond à toutes les tortues et colorie en gris.

FTORTUE [0 1 2 3] FFORME "ROND MT

FIN

TORTUERONDE

PLACETORTUES

Quand cela est fait, on peut astucieusement scotcher les photorésistences et régler leur sensibilité autour de leur seuil de transition (clignotement) avec la couleur grise. On est sûr ensuite que le blanc et le noir commanderont bien un état ou l’autre.

POUR REGLAGE

FTORTUE [0 1 2 3]

FCC 7 MT

ATTENDS 5

FCC 15 CT

FIN

Ensuite, pour déterminer la couleur d’une zone, il suffit de s’adresser à telle ou telle tortue et de lui demander de se cacher ou de se montrer. Par exemple :

POUR MARCHEAVANT

FTORTUE 0 CT

FTORTUE 1 MT

FIN

POUR MARCHEARRIERE

FTORTUE [0 1] MT

FIN

POUR ARRET

FTORTUE 1 CT

FIN

Ces procédures, outre qu’elles sont très simples, sont très rapides lors de l’exécution.

Si on veut reprendre l’exemple précédent pour commander un moteur, on aura :

; nouvelle procédure qui permet de commander la marche et le sens d’un moteur grâce à deux zones colorée sur l’écran.

POUR MOTEUR :NUM :MARCH :SENS

; s’adresse à la tortue correspondant à la photorésistence du moteur

FTORTUE PROD :NUM 2

; cache ou montre la tortue

SI ZEROè :SENS [CT] [MT]

; de même pour la photorésistence de marche/halte du moteur

FTORTUE SOMME PROD :NUM 2 1

SI ZEROè :MARCH [CT] [MT]

FIN

L’avantage, c’est que l’exécution est extrêmement rapide, même sur un ordinateur un peu poussif. On contrôle alors bien les mouvements du robot. Alors, peut-on plus simple è

Que c'est beau, le LOGO !

Chapître suivant


Webmaster : Sinclair ( philippe.lucidarme@wanadoo.fr ) dernière mise à jour : 1 aout1999.