Hardware Software Tutoriales

Zowi III | ¿Cómo programarlo con Bitbloq?

Como hemos visto en capítulos anteriores, Zowi es un robot con muchas posibilidades. Si bien de fábrica puede quedarse en un juguete muy chulo, la capacidad de poder programar su comportamiento amplia enormemente su vida útil, extrayéndoles todo el jugo a sus sensores y componentes. Y antes de entrar en mi parte preferida, que es tratar este robot como el Arduino que es, vamos a echarle un vistazo a una herramienta que permite personalizar el contenido de su cerebro: Bitbloq. ¡No te lo pierdas!

Mención especial a la aplicación

Pero primero quiero hacer una mención especial a la aplicación de Zowi, que se puede encontrar en el Play Store. El motivo es que además de permitir juguetear un rato con el robot, cuenta con dos secciones que me parecen muy interesantes.

  • 3, 2, 1 !Acción!: este apartado permite “programar” a Zowi.
    Lo entrecomillo porque lo que nos ofrece es una funcionalidad muy básica, donde se pueden encadenar acciones del robot. Aunque no se incluyan bucles y distintas estructuras lógicas, viene bien para que los chavales -sobre todo los más pequeños- aprendan lo que es la secuenciación. Eso sí, no soy maestro, así que los detalles al respecto mejor se los dejo a otros que sepan de qué hablan.
  • Descubre: mi apartado preferido. En él se puede aprender un poco más sobre aspectos directamente relacionados con Zowi.Entrando en cualquiera de las opciones disponibles, podremos consultar datos bastante interesantes sobre ese tema en concreto.Además, haciendo clic en “Ver proyecto completo”, accederemos a una página web en la que tendremos más información a nuestro alcance. Y por último, para no perder las buenas costumbres, podremos hacer un examen que pondrá a prueba nuestros conocimientos y nos permitirá desbloquear funcionalidades de la aplicación.

Bitbloq, programación por bloques

Ahora sí, Bitbloq es una forma de programar orientada a los más pequeños de la casa. Permite iniciarse en este mundillo sin necesidad de aprender o tocar líneas de código, sino mediante del uso de bloques.

Estos bloques sustituyen a las estructuras clásicas, como los “if” o los bucles. De esta forma, es posible crear un nuevo comportamiento para Zowi de una forma muy visual. Merece la pena destacar que las posibilidades de esta herramienta no sólo se limitan a este robot, pero es en lo que nos vamos a centrar en esta serie.

Herramienta online

Si tenéis el ordenador al límite de su capacidad, no hay problema. Bitbloq es una herramienta online. O dicho de otra manera, una página web. Una vez hayáis hecho clic en el enlace, os saldrán un par de ventanas emergentes.

Si queréis tener ciertos privilegios como guardar proyectos para más adelante, podéis registraros, pero para lo que vamos a hacer con seguir con perfil de invitado es más que de sobra. También podéis comenzar una visita guiada, pero nosotros no somos de los que leen manuales.

Una vez desaparecidos estos popups, hacemos clic en la sección “Robots” de la parte derecha, para a continuación hacer clic encima de Zowi. Se añadirá automáticamente al proyecto, por lo que podremos continuar con los siguientes pasos.

Vamos ahora a fijarnos en las 3 pestañas de izquierda, que mostrarán su etiqueta si pasamos el ratón por encima. De arriba a abajo: “hardware”, “software” e “información sobre el proyecto”. Teniendo en cuenta que estamos escogiendo una plataforma sobre la que programar, tiene sentido que actualmente estemos en la primera. No obstante, como tenemos intención de empezar a darle caña a los bloques, vamos a seleccionar la segunda.

Pestaña “software” con mucho olor a Arduino

La pantalla principal de esta sección no hace sino confirmar lo que ya sabíamos: el cerebro de Zowi es una placa basada en Arduino.

Los 3 apartados mostrados se corresponden con la estructura típica de uno de sus sketch (archivo con extensión .ino).

  • Variables globales, funciones y clases: lugar donde definir aquello que utilizaremos de forma global en todo el programa. Estas variables, funciones y clases podrán ser llamadas desde cualquier parte del proyecto.
  • Instrucciones iniciales (Setup): lugar donde se inicializan aquellos sensores o actuadores que utilizaremos más adelante.
  • Bucle principal (Loop): bucle que se recorrerá indefinidamente una vez iniciado el programa.

Aunque veremos las dos primeras en profundidad más adelante, la tercera es la protagonista del día de hoy.

Y por fin, ¡los bloques!

En la imagen anterior, podéis ver como la sección derecha se divide en apartados de colores. Cada uno de ellos corresponde a un tipo de elemento o estructura de programación, como las variables.

Las más interesantes para nuestro proyecto son:

  • Movimientos Zowi: incluye estructuras relacionadas con la funcionalidad de Zowi, como la pulsación de botones, caminar, emitir o detectar sonidos. Después de echarle un vistazo a todas las opciones, me parece que esta es a la que más partido se le puede sacar. El resto están más pensadas para otro tipo de proyectos, y bajo mi punto de vista no acaban de encajar del todo bien en el nuestro.Abajo del todo, haciendo clic en “Avanzados”, se pueden encontrar  estructuras similares pero ligeramente más complejas. En cualquier caso, tanto estas como las más simples cumplen su cometido, que es permitirnos trastear un poco y descubrir cuál es el potencial de este robot.
  • Control: “if”, “else if”, bucles… El día a día de cualquier programador. Aunque conceptualmente es una sección de lo más interesante, está muy pensada para el uso de variables, por lo si no usáis ninguna es posible que no le encontréis mucha utilidad.Al igual que antes, disponemos del apartado “Avanzados”, cuyo contenido es análogo al de “Movimientos Zowi”.

Como podéis apreciar en las imágenes anteriores, los bloques cuentan con huecos a modo de piezas de puzzle. Esta forma permite saber a ciencia cierta que uno de ellos encaja dentro de otro; es más, una vez añadido al proyecto, y haciendo clic en dichos huecos, se muestra un conjunto de sugerencias que hace bastante más ágil la creación de nuestro pequeño programa.

No quiero acabar este repaso sin mostrar un pequeño ejemplo.

Contrariamente a lo que puede ocurrir con los lenguajes de programación, las instrucciones en este caso son razonablemente intuitivas. Tal vez lo más destacable son las estructuras de control (azules), que muestran dos bucles y la interacción con una variable “contador”.

Haciendo clic en la pestaña “Código”, accedemos a una sección bajo mi punto de vista más interesante.

Aquí se muestra la representación en código de todo lo que hemos plasmado utilizando bloques. Se pueden ver, por ejemplo, las siguientes equivalencias:

  • “Repetir 2 veces”: bucle “for” (color rojo).
  • “Mientras variable contador < 4 ejecutar”: bucle “while” (color verde).

Hora de las pruebas

Sí, todo lo anterior está muy bien, pero lo que queremos ver son resultados. Por eso, ha llegado la hora de verificar nuestro programa antes de cargarlo en la placa de Zowi. Para ello, hacemos clic en el icono para “Verificar”.

Si es la primera vez que lleváis a cabo este proceso, os pedirá descargar Web2Board, una herramienta que instalará los drivers y demás componentes necesarios para llevar a buen puerto nuestro trabajo.

Si le dais al botón, se os descargará un ejecutable que se instala siguiendo el procedimiento habitual. Podéis darle a “Siguiente” como si no hubiera mañana, y en 2 minutos lo tendréis todo listo.

Ahora sí, si repetimos el proceso, debería informarnos de que el proyecto se ha compilado con éxito. Por lo tanto, lo único que nos queda antes de ver al robot en acción es cargar en él nuestro programa. Eso sí, ¡no os olvidéis de enchufarlo antes por USB!

¡Pero yo quiero más!

Si habéis llegado hasta aquí, os habréis dado cuenta de dos cosas: por un lado, de que esto -creo que objetivamente hablando- mola. Y por otro, que por mucho que podamos personalizar hasta cierto punto el comportamiento de Zowi, se sigue quedando un pelín escaso. Todavía hay muchos factores que no controlamos: ¿y si quiero modificar la forma de caminar? ¿Y si quiero programar un nuevo paso de baile que me enseñaron esta Nochevieja? ¿Y si quiero crear mis propias bocas y pintarlas en la matriz de luces LED?

Todo esto es posible, y lo veremos en próximos episodios. No obstante, no hay que olvidar que de cara a los chavales que empiezan en este mundillo, esta herramienta está muy bien. No sólo porque convierte la acción de programar en algo más visual y llamativo, sino porque se les ofrece a los niños la opción de hacer sus pinitos a muy temprana edad; seguro que a los 8 años a ninguno nos llamaban la atención miles de líneas de código, pero unos bloques de colores son bastante más accesibles.

No obstante, no olvidéis estar pendientes, ¡que lo bueno acaba de empezar!

Marco

Marco

Ingeniero de Telecomunicaciones, estudiante y usuario de Android desde el HTC Magic. Muy crítico con todo lo que pruebo, ¡hay quien me llama hater!
Marco
¡Comparte!
Advertisment ad adsense adlogger