PDF de programación - Curso XLogo - Capítulo 19 - Utilización de la red con xLogo

Imágen de pdf Curso XLogo - Capítulo 19 - Utilización de la red con xLogo

Curso XLogo - Capítulo 19 - Utilización de la red con xLogográfica de visualizaciones

Publicado el 21 de Abril del 2018
647 visualizaciones desde el 21 de Abril del 2018
685,3 KB
13 paginas
Creado hace 13a (09/12/2010)
19.2. PRIMITIVAS ORIENTADAS A LA RED

193

19.2. Primitivas orientadas a la red

xLogo dispone de 4 primitivas que permiten comunicarse a través de una red: escuchatcp,

ejecutatcp, chattcp y enviatcp.

En los ejemplos siguientes, mantendremos el esquema de red de la subsección anterior.

escuchatcp: esta primitiva es la base de cualquier comunicación a través de la red.
No espera ningún argumento. Permite poner al ordenador que la ejecuta a la espera
de instrucciones dadas por otros ordenadores de la red.

ejecutatcp: esta primitiva permite ejecutar instrucciones sobre otro ordenador de
la red.

Sintaxis: ejecutatcp palabra lista → La palabra indica la dirección IP o el nom-
bre del ordenador de destino (el que va a ejecutar las órdenes), la lista contiene las
instrucciones que hay que ejecutar.

Ejemplo: desde el ordenador liebre, deseo trazar un cuadrado de lado 100 en el otro
ordenador. Por tanto, hace falta que desde el ordenador tortuga ejecute la orden
escuchatcp. Luego, desde el ordenador liebre, ejecuto:

ejecutatcp "192.168.2.2 [repite 4 [avanza 100 giraderecha 90]]

o

ejecutatcp "tortuga [repite 4 [avanza 100 giraderecha 90]]

chattcp: permite chatear entre dos ordenadores de la red, abriendo una ventana en
cada uno que permite la conversación.

Sintaxis: chattcp palabra lista → La palabra indica la dirección IP o el nombre
del ordenador de destino, la lista contiene la frase que hay que mostrar.

Ejemplo: liebre quiere hablar con tortuga.
tortuga ejecuta escuchatcp para ponerse en espera de los ordenadores de la red.
liebre ejecuta entonces: chattcp "192.168.1.2 [buenos días].
Una ventana se abre en cada uno de los ordenadores para permitir la conversación

enviatcp: envía datos hacia un ordenador de la red.

Sintaxis: enviatcp palabra lista → La palabra indica la dirección IP o el nom-
bre del ordenador de destino, la lista contiene los datos que hay que enviar. Cuando
xLogo recibe los datos en el otro ordenador, responderá Si , que podrá asignarse a
una variable o mostrarse en el Histórico de comandos.

194

CAPÍTULO 19. UTILIZACI ÓN DE LA RED CON XLOGO

Ejemplo: tortuga quiere enviar a liebre la frase "3.14159 casi el número pi".
liebre ejecuta escuchatcp para ponerse en espera de los ordenadores de la red.
Si tortuga ejecuta entonces: enviatcp "liebre [3.14159 casi el número pi],
liebre mostrará la frase, pero en tortuga aparecerá el mensaje:
Qué hacer con [ Si ] ?
Deberíamos escribir:
es enviatcp "liebre [3.14159 casi el número pi]
o
haz "respuesta enviatcp "liebre [3.14159 casi el número pi]
En el primer caso, el Histórico de comandos mostrará Si, y en el segundo "respuesta
contendrá la lista [ Si ], como podemos comprobar haciendo
es lista? :respuesta
cierto
es :respuesta
Si

Con esta primitiva se puede establecer comunicación con un robot didáctico a través
de su interfaz de red. En este caso, la respuesta del robot puede ser diferente, y se
podrán decidir otras acciones en base al contenido de :respuesta.

Un pequeño truco: lanzar dos veces xLogo en un mismo ordenador.

En la primera ventana, ejecuta escuchatcp.

En la segunda, ejecuta

ejecutatcp "127.0.0.1 [repite 4 [avanza 100 giraderecha 90]]

¡Así puedes mover a la tortuga en la otra ventana! (¡Ah sí!, esto es así porque 127.0.0.1
indica tu dirección local, es decir, de tu propio ordenador)

19.3. Robótica

Desde 2006, xLogo es capaz de comandar una interfaz externa para robótica, (y así
se presentó en el congreso Cafeconf - Aulas Libres). Las primitivas de comunicación por
red que acabamos de ver, además de ser utilizadas para la tareas grupales en red, chat,
comandar la tortuga en una PC desde otra PC, etc. permiten experimentar en robótica.

Me duele reconocer que mucho del trabajo realizado por Marcelo en este área se nos ha
ido con él, pero intentaré explicar las cosas de forma lo bastante clara para que cualquiera
pueda seguir el tema sin problemas.

Es aquí más que en ningún otro sitio del curso, donde agradeceré cualquier ayuda y/o
corrección que usted, lector o lectora, sea capaz de proporcionar.

19.3. ROB ÓTICA

19.3.1. Presentación

195

Prólogo: Prof. María Cristina Moreno.

En los libros de ciencia ficción, el escritor, como un alquimista, le dió vida a los robots que
hoy se incorporan a nuestra vida cotidiana; desde una simple cafetera, hasta el Mars Rover.

El objetivo es que tecnología y educación recorran juntas el camino hacia el futuro.
La propuesta es lograr que en casa y en la escuela se construyan y manejen pequeños robots
didácticos.

Con estas premisas, Marcelo Duschkin nos dejó el proyecto Mi Primer Robot, basado
en una interfaz electrónica simple y económica, TortuRob, que todos pueden construir
libremente, al ser liberada bajo Licencia Creative Commons.

19.3.2. La electrónica

El currículo de la asignatura de Tecnología en la Enseñanza Secundaria nos presen-
ta un bloque de control de procesos y robótica, pero habitualmente no se acompaña de
una dotación adecuada en lo referente al material necesario para experimentar en el taller.
Lo más habitual es aprovechar las tarjetas controladoras antiguas (tipo Inves, Enconor,
CNICE, ladrillos Lego,. . . ), con el problema que ello conlleva: su incompatibilidad con los
sistemas Windows actuales. Por otro lado, tampoco es raro el caso de disponer de pocas
unidades de los equipos citados, lo que añade un sobrecoste económico a la asignatura.

Nuestra propuesta de interfaz electrónica es el proyecto TortuRob.

El proyecto TortuRob

Es un circuito basado en un microprocesador PIC16F628A, que recibe comandos desde el
PC, y contiene puertos de entrada y salida para controlar una mecánica de robot. También
están incluídos 4 pulsadores y cuatro LEDs, con el objeto de usarlos en la etapa de aprender
a usar el sistema. De esta manera, las primeras pruebas no necesitan de una mecánica a
controlar.

196

CAPÍTULO 19. UTILIZACI ÓN DE LA RED CON XLOGO

La placa es de reducidas dimensiones (9,5 x 7 cm) y es muy fácil de armar por el aficionado
a la electrónica. Los detalles técnicos para su construcción pueden descargarse de:

http://downloads.tuxfamily.org/xlogo/robotica/TortuRob.zip

+11

+5

JK1

1N4007

+

D4

FU1
7805

.1
C10

9−12 Vcc

470/25
C2

+5

10K

R7 R8 R9 R10

Diodos: 1N4148

R3

1K

2N2222

K
0
0
1

2
R

+

100uf
C1

D2

D3

RX

2
3

Gnd

5

D1

TX

DB9−H

R4
SI !!! positivo a masa

2K2

1K5
R5

+5

R6

4K7

BC327

U1 C/ZOCALO
6

17

RA0

RB0

18

1

2

3

16

15

5

RA1

RA2

RA3

RA4

16F84

RB1

RB2

RB3

RB4

RB5

RB6

OSC1

RB7

VCC

OSC2

GND

/MCLR

7

8

9

10

11

12

13

14

4

+5

K
0
1

5
1
R

C4

C3

XTAL
8MHz

22pf

10uf/TANT

+

C9

1K

R11
R12
R13
R14

.1

C6

C5

C7

C8

+5

+11

7

6
1

2

3

4

5

s/c

1

2

3

4

5

6

7

R1
220

BZ1

+11

SW1

SW2

SW3

SW4

C11

.1

1

2

3

4

5

6

7

8

9

U2

s/c

2003

8

0
0
2
2
2
2
R16 R17 R18 R19

RO

VE

AM

AZ

Linux
Powered

Archivo

torturob1.fig

Rev.

2

Titulo

TORTUROB 1

INTERFASE PARA XLOGO
M.D.

02/07/07

Autor
Obs.

Fecha
Hoja de

La placa tiene interfaz serie, por ser el sistema más económico y sencillo, pero como
xLogo utiliza la conexión ethernet, es necesario hacer algún tipo de conversión. Lo más
simple es una conversión por software. En Linux puede utilizarse un script Tcl/Tk liberado
bajo licencia GPL:

http://downloads.tuxfamily.org/xlogo/robotica/tcptty-es.zip

que se ejecuta “por detrás” (background ) de xLogo.

Por desgracia, la versión en Visual Basic para Windows no es GPL y no puede proporcio-
narse un enlace al mismo (por razones obvias).

La otra solución es utilizar un módulo de hardware externo al PC, es decir, un convertidor
ethernet/rs232 de los hay muchos en el mercado. Esta solución, por supuesto, es más
cara, pero tiene una aplicación interesante:

En un aula con muchos ordenadores en red, se coloca un sólo módulo convertidor
con el robot, y cualquier alumno lo comanda desde su puesto.

Finalmente, decir que tiene seis salidas (la séptima dedicada a un buzzer ) y soporta cuatro
sensores digitales, que pueden ser: contactos, pulsadores, fotorresistores u optoacopladores.

19.3. ROB ÓTICA

197

19.3.3. El lenguaje de la TortuRob

Evidentemente, para poner ejemplos sobre robótica debemos elegir un lenguaje. De
acuerdo a nuestra elección sobre la placa, explicaremos el lenguaje de la TortuRob. Ob-
viamente, entendiendo esta terminología, podremos utilizar los ejemplos en las tarjetas de
que disponga el lector en su Centro.

El protocolo de comunicación con la TortuRob parte de las tres premisas siguien-

tes:

1. La placa TortuRob nunca inicia una comunicación, solo responde.

2. Todo comando enviado recibe una respuesta.

3. Todos los comandos y respuestas tienen la estructura: $Lx...x %[CR], donde:

$ → Identificador de inicio de comando.

% → Identificador de fin de comando.

L y x...x → L es una letra que identifica la acción (mayúscula si es comando, mi-
núscula si es respuesta), mientras que x...x son los datos asociados a las órde-
nes/respuestas anteriores y su longitud es variable.

Con esta breve información, veamos unos ejemplos antes de entrar en detalle:

El semáforo

La TortuRob posee colores, concretamente, las salidas 3, 4 y 5 se corresponden con
los LED rojo, verde y amarillo, respectivamente. ¿No invita eso a construir un semáforo?

En este programa sólo damos órdenes a la placa, concretamente a los LED y al zumbador.
Los códigos asociados a los LED comienzan con A seguido del número del LED y un 0 ó
1 según queramos apagarlo o encenderlo, mientras que activamos el buzzer con B seguido
del número de zumbidos que queremos que haga:

para semaforo

haz "estado enviatcp "localhost [$A40%] # apaga verde
haz "estado enviatcp "localhost [$A50%] # apaga amarillo
haz "estado enviatcp "localhost [$A31%] # enciende rojo
haz "estado enviatcp "localhost [$B1%]
espera 100

# un beep (semaforo para ciegos)

#

haz "estado enviatcp "loca
  • Links de descarga
http://lwp-l.com/pdf10545

Comentarios de: Curso XLogo - Capítulo 19 - Utilización de la red con xLogo (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad