Physical Etoys y Lego Mindstorm NXT

El robot Lego Mindstorm NXT viene con un programa propio que usualmente es el que se utiliza para programar las acciones de dicho robot.

Tanto el kit de Lego como su software Mindstorm son de autor, es decir son pagos. Vale aclarar que MUY pagos.

En esta ocasión dejo de lado por un rato dicho software para mover el robot, a quien cariñosamente llamaremos «Wally», para comenzar a usar el programa Physical Etoys, software libre, MUY libre.

A continuación, un paso a paso de cómo lo hice.

UNIENDO A WALLY CON LA COMPUTADORA EN WINDOWS:

Con el programa Mindstorm se programaba la secuencia de acciones en la computadora y luego, a través de USB se descargaba el trabajo realizado en el ladrillo. Con el Physical Etoys la programación es en tiempo real, es decir, a medida que se programa en la computadora se va viendo cómo se ejecuta en Wally. Esto se debe a que la conexión es a través de Bluetooth.

Encendemos el ladrillo de Wally con el botón naranja. Aclaro que lo recomendable es que esté la batería ya cargada, así se trabaja más libremente.

wally

En el visor del ladrillo buscamos el dispositivo Bluetooth y confirmamos que Wally está visible, caso contrario, lo hacemos visible.

Abrimos en la computadora los dispositivos Bluetooth. Al agregar un dispositivo, reconoce a Wally automáticamente.

04

Al seleccionarlo, nos va a pedir un código de emparejamiento. En este caso seleccionamos la 2da opción (Escribir código de emparejamiento del dispositivo). Vale destacar que esta es la opción recomendada. Podríamos también emparejarlos sin necesidad de códigos con la tercer opción (Aparear sin códigos…) pero… ¿No suena un poco promiscuo?

05

En la pantalla del ladrillo del kit Lego aparecerá un número – código

codigo-nxt

Ese código lo escribimos en el cuadro de texto que ofrece el siguiente paso

07

Aparecerá una leyenda que indica que está buscando el robot. Para que lo encuentre satisfactoriamente, en el ladrillo hay que presionar el botón naranja.

Cuando aparece un mensaje de que el dispositivo se agregó correctamente, ya está conectada la computadora con el robot Lego Mindstorm NXT

CONECTANDO AL ROBOT CON EL PROGRAMA PHYSICAL ETOYS

Ahora tenemos que preparar el robot para poder programarlo con el programa Physical Etoys. Cabe destacar que estoy trabajando con la versión 2.1.1, la cual se puede descargar de ACÁ, tanto para Windows como para Linux.

Una vez dentro del programa, abrimos un Proyecto Nuevo.

00

Primero buscamos el objeto «Ladrillo NXT» que se encuentra en el menú desplegable en la parte inferior de la pantalla

01

El ladrillo muestra en su display la palabra USB con dos flechas en sus laterales, con estas mismas buscamos el número de COM correspondiente al Bluetooth.

¿Cómo saber cuál número de COM le corresponde al Bluetooth?

Tengamos en cuenta que en el «Ladrillo NXT» dentro del programa Physical Etoys, si la conexión vía Bluetooth se realizó exitosamente, sólo se mostrarán los números de COM habilitados.

Aún así, para saber qué COM le corresponde al Bluetooth, se puede ver desde el Administrador de Dispositivos del equipo.

10

Y AHORA A MOVER MOTORES!

Una vez que ya tenemos conectado nuestro Ladrillo NXT al programa Physical Etoys, moveremos el mundo….. pero empecemos por un simple motor.

En Lego los motores van conectados a los terminales con letras (A,B o C) y los sensores a los terminales con números (del 1 al 4).

En el ladrillo la conexión sería la siguiente (es una conexión estándar sin una construcción, ojo…)

motor

En el Ladrillo NXT de Physical Etoys hacemos clic sobre el motor A y se agregará un motor.

11

Ahora, para comenzar a programar en Physical Etoys, si hace tiempo que no lo hacen, es mejor releer los conceptos básicos de programación en Etoys.

Abrimos los halos del ladrillo y seleccionamos el visor. Conectamos el ladrillo ejecutando la opción 12

El NXT realizará un sonido bip, lo cual significa que se conectó exitosamente.

Abrimos entonces los halos del motor y seleccionamos el visor. Arrastramos desde la flecha de asignación el bloque 13

Simplemente con eso ya podemos mover un motor. Si ejecutamos este guión y vamos cambiando el valor de la potencia del motor, veremos cómo va aumentando su velocidad en el motor físico.

NOS PONEMOS SENSIBLES…. AGREGAMOS UN SENSOR

Como detallamos antes, en los terminales con números van los sensores. En este caso conectamos un sensor de choque (pulsador) en la terminal 1.

sensor

En Physical Etoys programaremos para que el motor se mueva cuando el pulsador esté presionado. Al hacer clic sobre el número de sensor en el Ladrillo NXT del programa, se desplegará una lista con los 4 sensores posibles de conectar. Elegimos el «Sensor de tacto», otra forma de llamar al pulsador o sensor de choque, o simplemente botón.

14 15

Abrimos los halos del pulsador y luego seleccionamos el visor. Veremos que el bloque «Sensor de tacto NXT está presionado» está en falso. Si presionamos el pulsador en nuestro robot, veremos que su valor cambia a verdadero.

16 17

Abrimos un nuevo guión. En la caja amarilla del guión buscamos el bloque de «Prueba Si No» para generar un condicional.

En los bloques del sensor elegimos «Sensor de tacto está presionado» (recordar NO arrastrarlo desde la flecha de asignación para que quede como afirmación) y lo ponemos al lado de «Prueba».

En los bloques del motor elegimos «Motor NXT Potencia» y esta vez SI lo arrastramos desde la flecha de asignación, ya que hay que asignarle el valor 100. Lo arrastramos al lado de la opción Si dentro del condicional. Hacemos lo mismo con la opción No, pero le dejamos su valor en 0.

18

De esta forma estamos diciéndole al robot que Si es verdadero que el sensor de tacto está presionado, que potencie el motor a 100, sino que lo deje quieto (en 0).

De esta forma ya sabemos mover un motor a través de un sensor con Lego y el programa Physical Etoys vía Bluetooth.

Deja un comentario