jueves, febrero 11, 2016

Primeras experiencias en robótica educativa

Hace un tiempo atrás publiqué algunos post sobre el recientemente renovado interés por la enseñanza de la programación en la currícula escolar. En línea con estas ideas, la robótica educativa, Arduino mediante, se presenta como una posiblidad más que atractiva en materia de "programar para aprender". 

Explorando estas ideas descubrí mBotDejaré las teorizaciones para más adelante: por ahora presentare a mi nuevo amigo de exploraciones y les contaré como resolví (provisoriamente) el problema de hacerlo funcionar en Ubuntu.

Como se imaginarán, mBot es un robot de diseño "humanizado" basado en Arduino  realmente muy fácil de usar. En muy pocos pasos puede montase su hardware con tanta facilidad que, de momento, uno duda si es un juguete más. 


mBot ensamblado y listo para su programación

El sentido de utilizar mBot se vincula directamente al aprendizaje de la programación, ya que su mecánica y su electrónica se encuentran totalmente resueltas. La placa del robot, basada en Arduino obviamente puede programarse en C usando Arduino IDE (Entorno integrado para desarrollos) pero también con una extensión de Scratch, basada en bloques... No se trata de la extensión regular de Scratch para Arduino sino de una adaptación llamada Mblock, por lo cual es necesario instalar una extensión específica. Y es aquí empiezan mis problemas ya que no utilizo Windows sino Ubuntu... 

Encontré en los foros algunas discusiones y solicitudes al desarrollador, incluso está en proceso una versión de para Chrome. Sin embargo, no conseguí que nada de esto funcionara por el momento. ¿Cómo lo resolví? No es una solución elegante pero, por ahora, me sirvió para salir del paso.

Aprender a programar en C directamente puede ser medio engorroso. Especialmente porque los ejemplos están demasiado "organizados" y es casi imposible hacerlo de forma intuitiva. La programación por bloques, por el contrario, permite un acceso lineal a los comandos que permite incorporar la lógica de la programación de modo mucho más simple. La versión de Scratch para mBot tiene la posiblidad de traducir los bloques en texto. Esta traducción automática facilita mucho, a mi entender, la compresión de las lineas de programa y su funcionamiento.


MBlock para Scratch en Wine:
Programa "adelante y atrás" para que las ruedas avancen o retrocedan según la instrucción del control remoto. A la derecha el código del programa en modo texto.

Como pueden ver en la imagen anterior, resolví el problema haciendo correr la versión de mBlock para Scratch en Wine. Sin embargo, la opción "upload" no funciona en Linux ya que por algún problema no resuelto aún el programa no reconoce el puerto. La solución fue copiar el código y "pegarlo" en Arduino IDE ya que desde ese entorno y en Linux, es posible cargar el robot con el programa.


El código ahora escrito y "pegado" en Ardduino IDE listo para ser cargado al robot.

Solo una pequeña observación: el código pegado "tal cual" indicó un error al compilarse que se resolvió eliminando dos instrucciones que aparecen por defecto en la conversión y aparentemente molestan en mi IDE (como puede verse en la captura estas son: #include: Arduino.h  e #include Servo.h fueron borradas de la versioń final).

El programa en cuestión es muy simple: mueve las ruedas hacia adelante y hacia atrás utilizando los comandos del control remoto:



Y ahora que tenemos una estrategia... les iré acercando novedades sobre mBot... en breve.

No hay comentarios.: