Introduction: Juego De Coding (programación) Para Niños

About: Músico, matemático, computación, ciencia... insolente y subversivo, pero siempre propositivo

Este es un instructable para crear un juego sencillo para enseñar a programar a niños. La idea es muy similar al juego Cubetto de Primo, pero la idea es que sea completamente modificable y hackeable. Por eso comparto el código, explicación del código y los archivos para poder construir con cortado láser las piezas.

Esto es parte de un esfuerzo de la Fundación Costa Rica para la Innovación para crear herramientas base, con la cual todos podemos evolucionar la tecnología. Enseñar a todos a programar, no puede ser un asunto de productos de consumo disponible, sino de crear herramientas para poder enseñarnos a nosotros mismos.

Este instructable es para personas que ya saben algo de Arduino, y que tiene algún conocimiento básico de Processing.

Step 1: Enseñar a Través De Secuencia De Pasos

Uno de los aspectos más importantes de la programación, es el lenguaje. La programación es la traducción de ideas a un lenguaje formar, que es además comunicable. Esta herramienta, a diferencia de algo como primo, establece la relación de indicar una secuencia de comandos que luego son ejecutados por un robot. El componente computable se representa en la computadora (en lugar de una caja física como Primo), y el robot responde de manera física en un mundo construido por los niños.

La lógica del programa permite ver la secuencia de comandos como algo de planificación del problema que luego es ejecutado, contrario a controlar un robot con control remoto, donde las acciones son ejecutadas en tiempo real y no como una planificación de futuros movimientos, que son hechos explícitos mediante algún lenguaje, en este caso, simplemente una cadena de comandos de movimiento en diferentes direcciones.

No se sabe mucho sobre el efecto de aprender a programar desde temprano, pero el sentido común nos dice que tiene sentido, pues las formas de pensamiento abstracto se ven estimuladas. En nuestra opinión estas herramientas se deben democratizar, para que se puedan masificar y no podemos estar a la espera de que hayan grandes programas de evaluación de los resultados. Estamos seguros que daño no podrán hacer. Por esa misma razón damos este código y proyecto base, que se puede poner a funcionar en un par de horas y a un costo muy bajo.

Este instructable tiene como meta explicar la lógica del software sencillo, creado en processing, y fácil de modificar, y su conexión con el RedBot, un robot basado en Arduino. El RedBot no es necesario, y cualquier otro robot puede ser construido con la plataforma Arduino, motores o servos y algún dispositivo de comunicación Bluetooth.

Step 2: Materiales Y Equipos

Ocupamos:

  1. Computadora
  2. Descargar Processing
  3. Arduino IDE
  4. RedBot (en Costa Rica). Aunque puede ser cualquier robot. El modelo de redbot utilizado acá difiere del que se consigue en el mercado, hay que ajustar las dimensiones de los archivos de la caja
  5. Bluetooth BEE (cualquier módulo bluetooth funciona)
  6. Material MDF para cortado láser

Step 3: El RedBot Y El Código

Código Arduino

El RedBot tiene una librería para el Arduino IDe que facilita el control de motores. Adjunto encontrarán el código. El paso importante es la lectura del puerto serial,

void serialEvent() {
  if (Serial.available())
  {
    cmd = Serial.readStringUntil('/n');
  }
}

El Evento SerialEvent() permite al Arduino correr el código de forma normal el loop, y solamente cuando hay información que viene por serial, se inica el evento serialEvent. En ese instante, se almacena el String que viene por serial, en una variable global que llamamos cmd, y que contiene una secuencia de n[umeros del 0 al 3 que son los comandos de movimiento, que son luego interpretados en el main loop.

Bluetooth

En el RedBoard, el Xbee bluetooth se conecta fácilmente en los headers, pues el RedBot viene diseñado para utilizar ese módulo de bluetooth. Hay una versión de redBot nueva que es igual, solamente el chasis cambia. Primero cargar el código adjunto al RedBot y luego conectar el módulo bluetooth. El bluetooth aparecerá como un dispositivo más en la computadora, y asegurase que se conecta. El led verde del Xbee dejará de parpadear en el momento que esté conectado a la computadora.

Step 4: Cubierta De Robot, Árbol Y Cerca

Con el material MDF, cortar con cortadora láser lo que se adjunta en el archivo eps. Esto lo pueden hacer en cualquier lugar donde ofrezcan cortado láser y no debería salir caro. En Costa Rica, recomendamos la Inventoría.

Luego es nada más de ensamblar el robot, árbol y cerca.

Step 5: Interfaz

Código processing

para correr el código, descargar el programa Processing acá. Allí vienen las instrucciones para instalarlo en cualquier plataforma (Windows, Mac, Linux). El código lo he dejado lo más simple posible para que este pueda ser modificado.

Una vez descargado e instalado Processing, coloque los archivos "Robot_control.pde" y "button.pde" en un directorio con el nombre "Robot_Control", o puede colocarlos en el mismo directorio y abrir en Processing el archivo "Robot_Control.pde"

Imágenes

Las imágenes las adjuntamos como un archivo zip. Nada más descargarlas y colocarlas en el mismo directorio en Processing, donde colocaron el código, dentro de una carpeta llamada "data"

Step 6: Funcionando

Una vez todo listo. simplemente ejecutar el código en Processing. Nada más asegurarse que se conectan al puerto indicado de bluetooth, cambiando la línea:

port = new Serial(this, "nombredelpuerto", 9600);

El nombre del puerto varía, así por ejemplo en Windows será algo como "COM3", mientras que en MAC, será algo como "/dev/cu.Arduino-DevB", y en linux algo con "/dev/rfcomm0".

Como ven este es un código base, para transformarlo en algo como un producto, todavía necesita desarrollo y cualquier contribución es bienvenida.