Conectar dos Lego Mindstorms EV3 en modo Daisy-Chain

En este artículo se explica cómo conectar dos bloques inteligentes Lego Mindstorms EV3 en cadena (Modo Daisy-Chain), lo cual permite desde un bloque EV3 monitorear sensores y controlar motores de otros tres bloques EV3. Con un sencillo programa se muestra cómo desde el primer bloque EV3 se mide proximidad con un sensor infrarrojo conectado al segundo bloque EV3, y al presionar un sensor de contacto conectado al primer bloque, se acciona un motor mediano conectado al segundo bloque. Todo esto con un único programa cargado en el primer bloque EV3.

Introducción

El software Lego Mindstorms EV3 (Home o Education) permite hacer programas que manipulen hasta cuatro bloques EV3 conectados en cadena, activando el Modo Daisy-Chain que está en Propiedades del Proyecto.

Conexión en cadena. En este modo de conexión cada dispositivo se conecta al anterior y al posterior geográficamente, formando una cadena. A este modo de organización se le conoce también como daisy-chain (cadena margarita) [1].

Con esto es posible hacer un sistema robótico con cuatro Lego Mindstorms EV3 usando hasta 16 sensores y 16 motores.

Material

2 Bloques inteligentes Lego Mindstorms EV3.
2 Cables USB para EV3.
1 Sensor de contacto EV3.
1 Sensor infrarrojo EV3.
1 Motor mediano EV3.
1 Computadora con software Lego Mindstorms EV3 instalado.

Conexiones

Para usar el programa que se muestra posteriormente, se colocaron los dos bloques EV3, sensores y motor como se ilustra en la fotografía siguiente:

Bloque 1 (EV3 de la izquierda)

  • Puerto mini USB (lado superior) a PC.
  • Puerto USB (lado izquierdo) al mini USB del Bloque 2.
  • Puerto de entrada 1 al sensor de contacto.

Bloque 2 (EV3 de la derecha)

  • Puerto mini USB (lado superior) al USB del Bloque 1.
  • Puerto de entrada 4 al sensor infrarrojo.
  • Puerto de salida A al motor mediano.

Programa

Asegúrate de tener encendidos ambos bloques EV3, el Bloque 1 (izquierdo) conectado a la computadora, los sensores y motor conectados a los bloques EV3 como se indica en el punto Conexiones.

Inicia el software Lego Mindstorms EV3 (Home o Education). Crea un nuevo proyecto, el cual puedes llamar Conectar 2 EV3. Abre la pestaña Propiedades el proyecto y haz clic en la casilla de verificación Modo Daisy-Chain.

Regresa a la pestaña Program, y agrega los bloques de programación como se muestra en la imagen siguiente.

Observa que en la esquina inferior derecha, al hacer clic en el icono Vista del Puerto , se puede seleccionar de qué Bloque EV3 se desean ver los puertos. En la imagen siguiente está seleccionada la pestaña Capa del bloque 2, mostrando lo que tiene conectado el Bloque 2, un motor mediano en el Puerto A y un sensor infrarrojo en el Puerto 4.

El siguiente pseudocódigo explica lo que hace el programa:

Repetir siempre (Bucle):

Si el sensor de contacto (Bloque 1, Puerto 1) es presionado:

Muestra en la pantalla la imagen Touch sensor.
Reproduce el sonido Activate.
Gira el motor mediano (Bloque 2, Puerto A) una rotación.

Si no

Lee proximidad del sensor infrarrojo (Bloque 2, Puerto 4).
Muestra en la pantalla el valor de proximidad.
Hace una pausa de 0.2 segundos.

Fin Si

Fin Repetir

El programa se ejecuta en el Bloque 1, por lo tanto, todos los bloque de programación se ejecutan en el Bloque 1, y solamente los bloques de programación en los que se puede especificar una tarea sobre un Bloque EV3 en particular, tienen un campo llamado Número de capa, el cual se refiere al número de Bloque EV3 conectado en cadena.

A continuación se describe cómo están configurados los bloques de programación que permiten especificar un Bloque EV3 en particular.

Interruptor. En este bloque se tienen que configurar las opciones como se muestra en la imagen siguiente.

Motor mediano. En este bloque se tienen que configurar las opciones como se muestra en la imagen siguiente.

Sensor infrarrojo. En este bloque se tienen que configurar las opciones como se muestra en la imagen siguiente.

Ejecutar programa

Primero, enciende ambos bloques EV3. Conecta el Bloque 1 (EV3 de la izquierda) a la computadora y descarga el programa al EV3.

Una vez terminada la descarga del programa en el Bloque 1, ejecuta el programa. Acerca algo al sensor infrarrojo y observa cómo cambia el número en la pantalla del Bloque 1. Oprime el sensor de contacto y observa la imagen de la pantalla del Bloque 1, escucha el sonido que reproduce y observa que el motor mediano gira una rotación.

En el Bloque 2 (EV3 de la derecha) no es necesario cargar algo en particular, solamente debe estar encendido para que el Bloque 1 opere el sensor y motor conectados en él.

Dónde comprar

Si deseas adquirir un paquete completo Lego Mindstorms EV3 o solamente el bloque inteligente EV3, o algún sensor o motor, puedes buscar con nuestro patrocinador RobotSA.

Referencias

[1] Sanchís, Enrique (2002). Sistemas electrónicos digitales: Fundamentos y diseño de aplicaciones. Universitat de València. Pag. 33

iRoX – Escuela de Verano Robótica 2017 – Segunda llamada

El Instituto de Robótica de Xalapa invita al público en general a su Escuela de Verano Robótica 2017 para niños, jóvenes y adultos, que se llevará a cabo del 14 al 22 de julio en Xalapa, Veracruz, México. Donde impartiremos cursos de robótica (y Raspberry Pi) independientes de dos o cuatro días:
  • Curso Raspberry Pi, 14 y 15 de julio, intensivo, 12 horas, dirigido a jóvenes y adultos.
  • Curso Robótica Lego NXT, 17 al 20 de julio, matutino, 16 horas, dirigido a niños y jóvenes.
  • Curso Robótica Arduino, 17 al 20 de julio, vespertino, 16 horas, dirigido a niños y jóvenes.
  • Curso Robótica Lego EV3, 21 y 22 de julio, intensivo, 12 horas, dirigido a jóvenes y adultos.

¿Conoces a algún niño o joven fuera de Xalapa a quien le gustaría aprender de robótica? Llévalo a Xalapa un fin de semana a tomar nuestro Curso Robótica Lego Ev3, o mejor aún, una semana completa para tomar dos o tres cursos de robótica.

NOTA: Tenemos descuentos en inscripción temprana, hasta el 30 de junio.

Puedes ver más información en nuestra página Escuela de Verano Robótica 2017, o escribirnos en nuestra página de contacto o al correo electrónico irox@robotsa.com.

El iRoX es sede de los equipos de robótica Galácticos, formados por niños que han obtenido los siguientes logros:

Lego Mindstorms EV3 código fuente disponible

Xander Soldaat publicó en 2013 un artículo en su blog botbench.com, dando a conocer que el código fuente del Lego Mindstorms EV3 está disponible para uso personal. Ver Enlace.

El código fuente está cargado en el espacio Mindboards Github: [LINK]. De donde se puede clonar el repositorio.

Entre los requisitos que Xander menciona para modificar el código fuente están:

  • Una máquina con Linux (puede ser virtual).
  • Eclipse.
  • Java JRE.
  • Code Sourcery Lite para ARM.
  • Un adaptador USB a puerto serial.
  • Una tarjeta SD.
  • Alicates de punta plana.
  • Un adaptador Netgear WNA1100 WiFi.

Si te gustan los robots Lego Mindstorms EV3, los retos de programación y te gustaría entra al mundo del desarrollo de código abierto (open source), este es un proyecto donde podrás aprender mucho e incluso hacer tus propias aportaciones.

Esta es la página de Xander: http://botbench.com/blog/2013/07/31/lego-mindstorms-ev3-source-code-available/