MONOGRÁFICO: Desarrollos de Scratch para robótica, Enchanting y S4A |
SOFTWARE - Software educativo | |||||||
Écrit par Sergio González Moreau | |||||||
Lundi, 07 Novembre 2011 22:45 | |||||||
There are no translations available. Scratch es un programa de iniciación a la programación desarrollado por el Lifelong Kindergarten Group en el Laboratorio de Medios del MIT y que ya ha sido comentado en este sitio. Permite crear animaciones, juegos,… de forma intuitiva siempre en un entorno en dos dimensiones. Además, gracias a la tarjeta Picoboard y sus sensores (de luz, sonido, pulsador, deslizador y cuatro entradas con pinzas de cocodrilo) es posible interactuar con nuestro entorno. IntroducciónTarjeta Picoboard El programa es gratuito y su código fuente está disponible para la comunidad propiciando la creación de programas como Enchanting, un desarrollo pensado para programar en especial LEGO Mindstorm NXT; o Scratch para Arduino (S4A), que como su propio nombre indica, se ha centrado en Arduino, una plataforma con software y hardware abierto (open-source) ideal para la electrónica en general. En ambos casos estamos hablando de poder utilizar Scratch para programar robots, aunque permite muchas más posibilidades.
Este monográfico se centra sobre todo en la instalación, configuración y práctica de ejemplo inicial de estos desarrollos, dejando en manos del lector la investigación de sus posibilidades para el aula, talleres específicos o iniciativas diversas. Enchanting: Scratch para Lego Mindstorms NXT
IntroducciónEnchanting está desarrollado por Clinton Blackmore, cabeza visible de la asociación Southern Alberta Robotics Enthusiasts (SABRE) de Canadá, junto con un grupo de colaboradores que se encargan por ejemplo de temas como el de instalación, audio o conexión por bluetooth con el ladrillo NXT. La página web de esta asociación, http://robotclub.ab.ca, contiene un apartado específico para el programa, http://enchanting.robotclub.ab.ca/, y además nos permite conocer las iniciativas y trabajos que lleva a cabo y que nos pueden dar algunas ideas, como por ejemplo el control de componentes de LEGO Mindstorms (un par de motores y un sensor) utilizando una tarjeta Arduino dentro de la sección de artículos. Software necesarioPara poder trabajar con Enchanting habrá que tener instalados un par programas, Java JDK y LeJOS NXJ, además del controlador de NXT. En cada uno de los siguientes apartados se explica la forma de descargar, instalar y configurar este software. Como resumen, en la última sección aparecen los enlaces para todo lo requerido además del programa Scratch por si estás interesado en empezar por el entorno clásico. Programas necesarios Controlador de NXT (Fantom driver)Si ya tienes instalado el software de LEGO Mindstorms puedes saltarte este paso, aunque puede servirte para actualizar el controlador (driver) del ladrillo NXT, el cerebro de nuestros robots o construcciones. El ladrillo NXT con el firmware de LeJOS Accedemos a la dirección http://mindstorms.lego.com/en-us/support/files/Driver.aspx con nuestro navegador preferido y pulsamos en Downloads. Aparecerá la opción de elegir entre la versión para PC o MAC. Escogeremos la que se ajuste a nuestro ordenador, en este caso PC. Tras la descarga, habrá que descomprimir el archivo (por ejemplo con 7-Zip) con lo que tendremos la siguiente situación: Para iniciar la instalación del controlador bastará con pulsar en el archivo setup.exe. Hacemos clic en el botón Next tres de veces ya que no hay nada que configurar y dejaremos que se lleve a cabo el proceso.
Dependiendo del ordenador en el que estemos trabajando, la instalación puede llevar más o menos tiempo. Cuando acabe, bastará con pulsar en el botón Finish.
Java JDKEl siguiente paso es instalar el entorno de desarrollo de Java. Lo usual es tener en nuestro ordenador sólo la máquina virtual, por lo que se explicará la descarga e instalación. Hemos escogido la última versión hasta este momento de Java JDK, la 1.7. Para poder trabajar con LeJOS NXJ será necesario que la versión sea superior a la 1.5+. Con nuestro navegador web habitual accedemos a la dirección http://www.oracle.com/technetwork/java/javase/downloads/index.html y escogeremos la opción para Java SE 7 JDK, pulsando en el botón Download. En la siguiente ventana, deberemos aceptar la licencia de uso y escoger la versión que se corresponda con las características de nuestro ordenador. En este caso, hemos escogido la de Windows x86. El procedimiento de instalación es bien sencillo y es mejor no cambiar nada de lo que nos proponga ya que en el siguiente paso nos hará falta la localización del programa, que por defecto es C:\Program Files\Java\jdk1.7.0\ (está instalado dentro de la carpeta Archivos de Programa). La opción que podemos modificar sin ningún problema es la de instalar o no los ejemplos y demostraciones de Java. Es conveniente no confundir la ruta que nos es necesaria, la del entorno de desarrollo C:\Program Files\Java\jdk1.7.0\, con la de la máquina de Java, C:\Program Files\Java\jre7\, que es la que normalmente instalamos para poder ver contenido creado en Java. Al finalizar la instalación, el programa abrirá el navegador web para permitirnos registrarnos gratuitamente en la página de Oracle. Falta por configurar unas variables en nuestro ordenador para que no tengamos problemas posteriores con la instalación de LeJOS NXJ. Configurando variablesPara modificar variables de entorno en nuestro ordenador hay que acceder (en Windows 7) al Panel de Control > Sistema > Configuración avanzada del sistema. Hay una nueva ventana en la que en la parte inferior hay un botón que pone Variables de entorno. Pulsaremos en él y surgirá una ventana similar a la siguiente: Vamos a crear una nueva variable de sistema para el directorio de desarrollo de Java (JAVA_HOME). En la ventana que aparecerá escribimos en la casilla superior “JAVA_HOME” y en la inferior la ruta al entorno de desarrollo, C:\Program Files\Java\jdk1.7.0\. Ahora haremos lo mismo para el directorio de LeJOS NXJ (NXJ_HOME), que por defecto se instala en C:\Program Files\lejos nxj\. Por último, vamos a modificar la variable de sistema Path. Añadiremos un par de entradas correspondientes a la localización de los archivos binarios de Java y LeJOS NXJ. Localizamos la entrada Path y pulsamos en Editar. Nos situamos al final de la segunda casilla y escribimos lo siguiente: “;%NXJ_HOME%\bin;%JAVA_HOME%\bin”. Si todo lo hemos hecho bien, no tendremos ningún problema en la instalación de LeJOS. LeJOS NXJLeJOS NXJ es un entorno basado en Java que nos permite comunicarnos con el cerebro de nuestro robot LEGO, al que se suele llamar ladrillo NXT. La página principal del proyecto es http://lejos.sourceforge.net/index.php y muestra dos versiones, una para NXT y otra para RCX. En nuestro ejemplo descargaremos la versión para NXT, opción disponible dentro del apartado Downloads de LeJOS NXJ.
Al pulsar sobre el último enlace, nos dirigirá a la página de SourceForge que contiene todos los archivos de este proyecto. Hacemos clic en la versión 0.9.0beta y en la siguiente página, escogemos el archivo leJOS_NXJ_0.9.0-Setup.exe para descargarlo.
Una vez que lo tenemos ya en nuestro ordenador, la instalación no requiere muchos pasos y no hay que modificar nada. Al hacer doble clic sobre el archivo, nos preguntará si deseamos continuar con la instalación. Habrá que escoger la opción Yes. En los dos siguientes pasos bastará con pulsar en Next para seguir. Fíjate que si no tienes bien configurado el entorno de Java, te indicará que no lo tienes instalado y procederá a llevarte a la página de Java para que lo descargues. No hay que cambiar la ruta de instalación de LeJOS NXJ ya que entonces no coincidirá con la indicada en la variable del sistema.
La ventana que viene a continuación, nos permitirá indicar si deseamos un directorio en concreto para guardar todos los proyectos de LeJOS NXT. No es necesario modificarlo, por lo que dentro de la carpeta del usuario se creará otra que tendrá por nombre LeJOSNXJProjects. Podríamos crearla dentro de Mis Documentos si deseamos tener más centralizada la gestión de nuestros archivos.
Dejaremos que el proceso continúe hasta el último paso. Actualizando el software base del ladrilloLa última ventana de la instalación de LeJOS NXJ no se cerrará hasta que actualicemos el software de nuestro ladrillo, el cerebro de nuestras creaciones en LEGO Mindstorm NXT. Aparece una nueva ventana en Java para empezar con la actualización al pulsar en el botón Start program. Está claro que nuestro ladrillo debe estar conectado y encendido para que todo esto pueda realizarse, por lo es conveniente comprobar antes que las pilas AA que utiliza están en buen estado. Por si acaso, el programa nos los recuerda en un mensaje que deberemos aceptar. Nos preguntará si deseamos borrar todos los archivos NXT del ladrillo, a la que contestaremos afirmativamente. Empieza la transferencia de archivos a nuestro ladrillo que llevará unos momentos. Al terminar la descarga, nos preguntará si deseamos descargar otra vez el software al ladrillo, a lo que deberemos responder que no. Por fin, se cierra la última ventana de instalación de LeJOS NXJ. EnchantingTras todo este camino ya estamos en disposición de instalar Enchanting, cuya página principal es http://enchanting.robotclub.ab.ca/tiki-index.php. En el apartado dedicado a que la versión 0.0.7 ya está disponible (Enchanting 0.0.7 is out!), debajo del vídeo podemos ver un enlace a la descarga del programa (Downloading Enchanting). Por si acaso cambia algo, también puedes hacerlo desde esta otra dirección: https://launchpad.net/enchanting/+download De todos los archivos que están disponibles, nosotros descargaremos el ejecutable de la última versión, Enchanting-0.0.8.0-Setup.exe. El desarrollo de la instalación es muy sencillo ya que está en español y consiste en aceptar todos los pasos. Puede surgir la duda de si sólo se quiere para un usuario o para todos, pero lo más cómodo es la segunda opción que es la que aparece marcada por defecto. En nuestro escritorio aparecerá un acceso directo al programa cuyo dibujo es una barita mágica con estrellas. Configuración inicial: sensores y motoresLa primera vez que ejecutamos el programa, el cortafuego de Windows nos preguntará por las reglas de conexión a redes públicas o privadas. La configuración que muestra por defecto, permitir acceso a redes privadas, es suficiente. Cada vez que abrimos Enchanting lo primero que debemos hacer es indicarle al programa qué sensores y motores tenemos en el ladrillo, así como su ubicación. Empezamos por los motores ya que es la opción que aparece primero. Pulsaremos en el botón gris Configure Motors que aparece a la izquierda de la ventana. Aparecerá una ventana en la que seleccionamos los motores, las posiciones en la que están conectados y el nombre que deseamos darle. Sólo es necesario arrastrar el bloque azul que corresponda con el puerto que tengamos en uso. En nuestro caso, ambos son motores NXT, conectados a los puertos A y B. El que está en conexión A, le hemos dejado el nombre que por defecto le asigna el programa (NXT motor); y al otro, le hemos cambiado el nombre pulsando sobre la última casilla y escribiendo otras palabras (Otro motor 2). No hay que preocuparse por esto ya que Enchanting pone nombres distintos y sólo lo cambiamos para sentirnos más cómodos con la denominación. Tras los motores, les llega el turno a los sensores que tengamos en nuestro ladrillo NXT. Para ello, hacemos clic en la opción Sensores y luego sobre el botón gris Configure Sensors. Al igual que antes, aparece una nueva ventana en la que bastará con arrastrar el sensor correspondiente al puerto que esté conectado. Sigue siendo posible modificar los nombres que el programa asigna a cada sensor, si escribimos en la última casilla de cada pieza azul. Descargar el programa a nuestro ladrilloCuando tengamos creado nuestro programa habrá que descargarlo a nuestro ladrillo NXT. Para ello, hay que pulsar en la flecha azul que hay entre los botones de inicio y parada usuales de Scratch, situados en la zona superior derecha de la pantalla. Mientras no tengamos conectado y encendido nuestro ladrillo, las tres opciones estarán no estarán disponibles, apareciendo todas con el símbolo de prohibido. Además, si se nos ocurre pulsar en el botón de descarga, el programa nos indicará que no está conectado ningún dispositivo. Cuando lo tengamos enchufado, podremos pulsar en el botón y el programa empezará a compilar nuestro programa, pasárselo a LeJOS y descargarlo. Si todo ha ido bien, el ladrillo reproducirá unas notas musicales. Sólo queda la práctica con el programa. Scratch for Arduino (S4A)IntroducciónScratch for Arduino (S4A) ha sido creado por Marina Conde, Víctor Casado, Joan Güell, José García y Jordi Delgado con la ayuda del Grupo de Programación Smalltalk del Citilab[1], un centro dedicado a la investigación, formación y promoción de la tecnología digital (http://citilab.eu). Si quieres saber más sobre este proyecto puedes visitar el apartado dedicado a Arduino que tienen en su página web: http://seaside.citilab.eu/scratch/arduino. Software necesarioPara poder utilizar S4A será necesario tener instalado previamente el software de Arduino y actualizar el firmware (software base) de la placa. Son dos actos que nos permiten equipar a nuestro ordenador con un entorno de programación muy intuitivo y sencillo. Software para ArduinoLa parte simple de este proceso consiste en la descargar el archivo comprimido de la última versión y su descompresión. Para ello, accedemos a la página web del proyecto, http://www.arduino.cc/ y nos vamos a la sección de Descargas (Downloads). Es conveniente acceder a su versión en inglés ya que tiene las últimas versiones de software, la 0022 en este momento. Como estamos trabajando en entorno MS Windows, pulsaremos en su opción (Windows). La descarga requiere algo de tiempo ya que el archivo tiene casi 86 MB. Cuando ya lo tengamos en nuestro disco duro, lo descomprimimos y obtendremos una carpeta con el siguiente contenido. Lo importante es el archivo arduino.exe que nos permite programar y acceder a la placa, y la carpeta de drivers que vamos a utilizar a continuación. La cuestión algo complicada en este apartado es la instalación de los controladores (drivers) de la placa Arduino. En nuestro caso vamos a instalar el modelo Mega 2560 y para el resto de las versiones se puede proceder de la misma manera. Los pasos a seguir son: Conectamos la placa a nuestro ordenador y el sistema operativo se pondrá a buscar los drivers del dispositivo. Puede ser que no los encuentre como en nuestro caso. Nos vamos a Panel de Control > Sistema > Administrador de dispositivos y aparecerá la placa pero con un signo de advertencia delante de ella indicando que no está bien instalada. Nos situamos sobre ella y pulsamos el botón derecho del ratón. Del menú contextual que saldrá escogemos la primera opción Actualizar software del controlador. Aparece el asistente que nos ofrece dos opciones, buscar automáticamente el controlador, que ya lo ha intentado antes y no ha dado resultado; y buscar el software en el ordenador, que será la que vamos a escoger. En la siguiente ventana, pulsaremos en el botón Examinar y navegaremos hasta la carpeta drivers que hemos mencionado antes. El sistema mostrará un mensaje de advertencia sobre el posible problema de inseguridad al instalar este controlador. Escogeremos la segunda opción, Instalar este software de controlador de todas formas. Ya tenemos todo el proceso hecho y en el listado de hardware del sistema aparece reflejada nuestra placa Arduino correctamente configurada. Firmware de S4AHay que cambiar el software base que tiene la placa Arduino para que pueda comunicarse con ella S4A y así trabajar. Este software está disponible en la página web de S4A en la zona de descargas. Para acceder a ella, al final del apartado dedicado a Arduino se proporciona el siguiente enlace: http://seaside.citilab.eu/scratch/downloads. El segundo párrafo contiene el enlace directo para bajar el archivo de firmware más reciente, actualmente el 12. Puede ocurrir, como en Mozilla Firefox en este caso, que al pulsar sobre él aparezca el contenido del fichero. Si esto ocurre, hay que pulsar con el botón derecho del ratón sobre el enlace y escoger del menú contextual Guardar enlace como… y archivarlo donde deseemos. Cuando lo tengamos en nuestro ordenador, habrá que descargarlo a la placa y para ello nos valdremos del software de Arduino. Nos vamos a la carpeta arduino-0022 y pulsamos dos veces sobre el archivo ejecutable arduino.exe para abrirlo. Tras unos instantes de carga, aparece la ventana principal del programa, similar a la mostrada a continuación: Para abrir el firmware descargado nos vamos a la opción del menú File y escogemos Open. En el cuadro de búsqueda que surgirá, nos desplazaremos hasta el lugar en el que lo tenemos guardado. Puede que aparezca una advertencia en la que se nos pide permitir crear una carpeta con el mismo nombre del fichero y moverlo dentro de ella. Pulsaremos sobre el botón OK para continuar. Aparece en una nueva ventana el archivo que vamos a pasar a la placa. Volvemos al menú File y ahora pulsamos sobre la opción Upload to I/O Board, o pulsamos en la barra de herramientas el icono Upload. En la parte inferior aparece el estado del proceso y tras un momento, si no hay problemas, nos indicará que se ha realizado (Done uploading). Scratch for Arduino (S4A)Ya estamos en disposición de instalar S4A y para ello habrá que volver a visitar la sección de descargas de la página web del proyecto, http://seaside.citilab.eu/scratch/downloads; o utilizar el siguiente enlace, http://seaside.citilab.eu/S4A12.exe. Si hemos escogido la primera opción, el tercer párrafo contiene enlaces para distintos sistemas operativos y en este ejemplo, ya que estamos trabajando en el entorno MS Windows, escogemos el primero de ellos. La última versión hasta el momento, S4A12, tiene un tamaño de 27 MB por lo que puede tardar un poco su descarga. El procedimiento de instalación como la mayoría de las veces en MS Windows, se inicia pulsando dos veces sobre el fichero. Lo primero será escoger el idioma que se usará durante la instalación. Pulsaremos en el botón Siguiente en la bienvenida y en la siguiente ventana aceptaremos el acuerdo. El resto de los pasos, salvo que deseemos ubicar el programa en otro lugar o no crear accesos directos en el menú de Inicio o en el escritorio, bastará con hacer clic en la opción Siguiente. La última ventana nos permite abrir el programa (Ejecutar S4A), en nuestro supuesto la hemos desmarcado ya que lo dejamos para el siguiente apartado. Probando S4AAntes de ejecutar el programa es conveniente tener conectada al ordenador la placa Arduino, ya que su búsqueda será una de las primeras cosas que hará. La primera vez que abrimos el programa, desplegará el menú de idiomas para que elijamos el nuestro. Pulsamos sobre la opción correcta y dejamos que el programa siga examinando el sistema para enlazar con la placa. Cuando la haya encontrado, en el cuadro resumen de valores de entrada las cantidades mostradas irán variando muy rápidamente. Estamos preparados para probar el programa y lo mejor será utilizar los ejemplos que ya tiene creados el equipo del proyecto y que están a disposición de todos. Abrimos el navegador y volvemos a la sección de descargas del proyecto, http://seaside.citilab.eu/scratch/downloads. Dentro de ella hay un apartado dedicado a ejemplos que contiene un enlace a un archivo comprimido, s4a_basic_examples.zip. Al descomprimirlo, tendremos cuatro ejemplos sencillos con sus esquemas de montaje. Hemos escogido la práctica de un led con un interruptor, que se llama button_led_with_state.sb, y cuyo diseño está recogido en el archivo switch_led.png. Nos harán falta los siguientes materiales: placa de conexiones, resistencia de 10 kW, led, interruptor y cables de conexión. Como ya hemos comentado, la forma de montarlo aparece en el fichero switch_led.png. Imagen del archivo switch_led.png Nuestra construcción ha quedado tal y como se muestra en la fotografía que aparece a continuación. Podemos ver que la placa Arduino está conectada por USB a nuestro ordenador. Cuando lo tengamos todo hecho, hay que abrir el archivo button_led_with_state.sb con S4A. Cuidado porque si tenemos instalado Scracth, si pulsamos dos veces sobre el archivo éste será el programa que lo inicie. Por tanto lo mejor será, estando en S4A, pulsar en Archivo y escoger Abrir. Aparecerá una advertencia sobre si deseamos guardar el archivo existente, ya que no contiene nada diremos que no. En el cuadro de diálogo, nos desplazamos hasta nuestra carpeta que contiene estos ejemplos y seleccionamos el fichero. Cargará el archivo y volverá a buscar la placa por un momento. Fijaros que la estructura del programa no tiene un final, si no que es un bucle sin fin que se iniciará cuando pulsamos en la bandera verde y se detendrá al hacerlo sobre el botón rojo de stop. Hacemos clic en la bandera verde que está en la parte superior izquierda para comprobar si nuestro montaje funciona correctamente. Si pulsamos el interruptor debería encenderse nuestro led rojo, que es lo que ocurre tal y como refleja la siguiente fotografía. Si volvemos a presionar se apaga la luz. Podemos probar el resto de los ejemplos si queremos hacernos una idea más precisa de cómo se programa en este entorno y se relaciona la placa con S4A. Lo que resta son los ensayos/proyectos que cada uno quiera hacer y que podemos enviar al equipo de S4A ya que estará encantado de publicarlos. Enlaces
Enchanting
Scratch for Arduino (S4A)
[1] Obtenido de la página del proyecto http://seaside.citilab.eu/ |