Destripando el Printbot Evolution de BQ
¡Ándaleeeee! Cómo habrás imaginado me han dejado esta semana un robot de esos de BQ. Yo soy un rata de manual. y no, no me lo han dejado de BQ para que te spamee, me lo han dejado unos amigos de una academia para que lo probara. Puro colegueo.
El robot que me han dejado es el Printbot Evolution, que se puede comprar o descargar para imprimir en 3D. Hay un par más del estilo pero son los tres muy parecidos. De hecho, en el blog oficial de BQ lo pintan de manera que da la sensación de que cada uno puede hacer una cosa. El post del sigue líneas se hace con uno, el de huir de la luz se hace con otro…
Quiero decir, que hay tres cosas que pueden hacer y da la sensación de que cada cosa solamente la hace un robot. Yo he conseguido hacer las tres con éste xDD. Eso sí haciendo algún que otro pequeño cambio. ¡Vamos al lío que hoy tengo ganas!
ZUM BT 328, la placa del Printbot Evolution
Bueno, pues la placa que lleva el robot comprado desde BQ es la ZUM BT 328. Si te imprimes el robot con impresora 3D podrías utilizar un Arduino cualquiera o comprar la placa ZUM, que vale unos 35€. Es algo más que Arduino pero la verdad es que me ha sorprendido porque tiene algunas pijadas bastante interesantes.
La primera, como puedes ver son la gran cantidad de pines. Bueno hay los mismo que en Arduino. Pero si te acuerdas del sensor magnético ese del que te hablé, te acordarás que tenía tres patas: 5 Voltios, GND y la señal. Pues en esta placa han aprovechado eso y han creado para cada pin las tres señales. De esta manera, no tienes que irte a buscar GND y 5 Voltios de la placa sino que cada pin tiene su propia alimentación.
Esto mola porque la placa saca más intensidad que la Arduino. Además de que es más fácil. Evitas el tener que ir usando protoboards para ir pinchando todo a GND o todo a 5 Voltios. De hecho, creo que la razón es esa. Cada sensor de los que lleva el robot es evidente que va a necesitar alimentación y que va a necesitar informar de la señal que recibe, así que cada componente se conecta a un pin y ya está, más fácil y más visual.
Otra cosa que me ha traído loco es que decían que la placa tenía bluetooth. Pero vaya, que no lo encontraba. Al final, mirando la placa vi que hay un led que tiene escrito ‘BT’. Así que ya se intuye que la cosa que sobresale y tiene al lado es el bluetooth. Digo que sobresale porque en las placas más viejas es como un chip verde pegado de mala manera. En las nuevas ya es algo que casi no se ve. Pero bueno, sea como fuere, para encenderlo tienes que ir a los tres conmutadores que tiene. No son más que tres pestañas que puedes subir y bajar con la punta de un boli.
Sirven para cambiar el funcionamiento de algo físicamente. Entonces cada uno los programa como quiere. En este caso está programado para que cuando el primer conmutador esté en la parte en la que pone ON y el resto en la otra parte, el bluetooth se active. Verás que una luz azul empieza a parpadear.
Ahora, si pillas el teléfono podrás ver que hay un nuevo dispositivo en la zona que lleva el nombre de ZUM_BT328 ó bqZUM_BT328. Dependiendo si la placa es de las nuevas o de las que reluce un poco menos. Para probar que funciona puedes hacerlo con el programa que ya te dejan los de BQ listo para probar. ¡Siempre desde el IDE de Arduino, eh!
Luego tiene un interruptor rojo en el lateral que se desliza. Esto permite apagar la placa o al menos que no haga sus funciones. Así, no tienes que preocuparte de estar subiendo el programa a la placa y que el robot se pasee por ahí a sus anchas huyendo de ti. Y bueno, el resto parece bastante similar a una placa Arduino, pero blanquita. Vamos a ver qué pueden hacer tus mozos con ella.
El programa esquiva-obstáculos
El programa líder para el Printbot Evolution es lo que llaman el esquiva-obstáculos. Fácil de entender, ¿no? Que el robot esquiva obstáculos. Para ello tiene un sensor ultrasonidos que le permite ver si hay objetos a una cierta distancia. Es éste:
Como ves tienen como forma de ojos, entonces lo aprovechan para que sean como los ojos del robot. Primero gira la cabeza a la izquierda. Mira si hay algo. ¿Cómo? Enviando unos ultrasonidos. Si rebotan es que hay algo, si no llegan de vuelta es que no hay nada y se han perdido en el infinito.
Luego hace lo mismo mirando hacia adelante y hacia a la derecha y guarda los valores de las tres direcciones. Con estos valores analiza. Si no hay nada a la izquierda, va hacia la izquierda. Si lo hay pero no lo hay en el centro va hacia el centro. Y si en la izquierda y en el centro hay un obstáculo pero en la derecha no, se dirigirá hacia al derecha.
¿Qué pasa si hay obstáculos por todos los lados? Se mueve hacia atrás. Esto, de primeras parece algo lógico. Si ha llegado hasta ahí, lo mejor es echar marcha atrás y buscar otra solución. El problema es que, ¿y si lo acabamos de poner y por la parte de atrás no hay un hueco? Se piña. Se va a meter un viaje fino fino. Se va a hacer pupita. Porque digamos que se mueve bastante trozo cada vez que avanza.
¡Así que cuidado al ponerlo inicialmente! Para pasar el programa al Printbot Evolution, se puede hacer de dos formas. Yo utilizo el IDE de Arduino. También se puede utilizar un IDE de programación en bloques (rollo Scratch) hecho por los madrileños que se llama bitbloq. En esta página han dejado el código Arduino y la forma de programarlo en bitbloq.
Sigue la ralla…negra
Otra cosa que está de moda son los siguelíneas. ¿Nunca has visto esos robots que van por una habitación de suelo blanco y siguen las líneas negras? De estas líneas que se hacen con cinta aislante vaya. Si no los has visto nunca, tienes que ponerte al día. Pues eso es lo que han dejado por aquí en la página oficial de estos robots.
¿El problema? Es que el programa está pensado para el Printbot Renacuajo…y no es el que yo tengo. Pero yo veo que el Printbot Evolution este tiene sensores ópticos delante. Lo que hacen estos sensores ópticos es enviar 0 Voltios o 5 Voltios según si lo que se encuentran es un color negro o uno blanco.
De hecho, con el programa del esquiva obstáculos se encienden las luces de los sensores cuando el robot está en el aire. Vamos que funcionan. Pero lo que pasa al pasar el programa es que solamente se mueve la rueda derecha y hacia atrás. ¡vaya desastre! Me olvido de bitbloq porque no estoy yo para aprender otro programa de estos y me pongo con el código de Arduino.
Al final es cambiar el pin del servo izquierdo por un 8, ya que en el Printbot Evolution está conectado ahí y ya funciona…marcha atrás. Para cambiar la maarcha atrás hay que cambiar la dirección de los servos y al izquierdo le escribo un 0 y al derecho 180. Nada, los he intercambiado y ya está, de servos ya hablamos otro día. Total, que aquí te dejo el código (Sí, me he hecho una cuenta en GitHub solamente para esto).
El robot vampiro
Bueno, la tercera opción que nos ofrecen desde BQ es hacer un huyeluz. Vamos, que al apagar las luces y perseguirlo con una linterna el tío se escapa. Bueno, pues el Printbot Evolution este también tiene un par de sensores LDR que miden la cantidad de luz. Pero en el post oficial solamente se habla del robot Beetle y el programa que viene también es para el Beetle. Putada, me toca investigar el código otra vez a ver que se puede hacer.
En este caso parece que la cosa es más fácil. Con cambiar el servo que se pone en 6 a 8 ya se mueve bien. Y parece que con esto ya estará todo. Te dejo el código para que vayas más rápido.
Los printbots en Android
Aunque si quieres ir realmente rápido lo suyo es la app que tienen. Simplemente es bajarla para Android y meterle un programa mediante el IDEArduino a la placa y ya. Bueno, tener el bluetooth encendido es condición necesaria. Sino no se mueve. Lo que hace la app es que te permite mover el robot, te permite enviar algunas órdenes que los niños programen o simplemente poner el robot en uno de los tres modos que te he contado. No está mal para pasar un rato.
Información básica sobre Proteción de datos
Responsable ➥ Sergio Luján Cuenca
Finalidad ➥ Gestionar el envío de correos electrónicos con artículos, noticias y publicidad. Todo relacionado con los temas de rufianenlared.com
Legitimación ➥ Consentimiento del interesado
Destinatarios ➥ Estos datos se comunicarán a MailRelay para gestionar el envío de los correos electrónicos
Derechos ➥ Acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la política de privacidad
Plazo de conservación de los datos ➥ Hasta que se solicite la supresión por parte del interesado
Información adicional ➥ Puedes encontrarla en la política de privacidad y el aviso legal
No es oro todo lo que reluce…
Bueno, llegamos al final. Nada, para mi estos robots son para pasar un buen rato. Pero la verdad es que el aprendizaje lo veo limitado. 90€ es bastante pasta para que los niños jueguen un rato y ya. Eso sí, la plataforma que tienen y la placa ya parecen más interesantes porque ahí si que hay aprendizaje. Desde cómo encender una bombilla a cómo hacer que el robot este limpie el suelo de casa.
Vamos, que la placa y la plataforma me molan. Los robots los veo limitados y con tantas facilidades tampoco es que los niños vayan a aprender mucho. Que yo creo que manejar la tablet y mover los cursores de adelante y atrás ya lo sabían antes de comprarse el robot. Pero bueno, parece que esos robots están de moda…pero si eres un padre indeciso…píllale la placa, me da la impresión de que le dará más uso.
Por cierto, las imágenes utilizadas son las oficiales del proyecto DIWO de BQ, las cuáles están bajo la licencia Creative Commons de Compartir Igual (CC BY-SA). Vamos como este blog en sí. Nos vemos por las redes sociales. Y ¡comenta y comparte anda! que soy buen chaval.