miércoles, febrero 24, 2016

¡Alto ahi! Programando el control remoto

Algo importante a tener en cuenta es que cada vez que cargamos un programa nuevo a nuestro robot estamos borrando el anterior. En otras palabras, un programa pisa a otro programa. Esto, puede parecer medio engorroso pero al mismo tiempo permite preparar al robot para realizar tareas muy específicas y que no haya lugar a confusión. Pero también podríamos pensar en varios programas a la vez que se activaran a través de un menú… es una buena idea, pero antes de pensarla es importante conocer las posiblidades del control remoto.


Hasta ahora habíamos pensado pequeños programas autónomos, esto es, programas en los cuales el robot sigue una serie de instrucciones de acuerdo a lo que indican los sensores. Pero a esta cuestión, podríamos ahora agregar acciones al robot que dependieran de una instrucción en tiempo real enviada a distancia.


El misterio del control remoto
Un control remoto es un dispositivo que se comunica a través de señales infrarojas. La radiación infrarroja es un tipo de radiación electromagnética y térmica invisible al ojo humano… con una simple camara de celular podemos verificar si el control remoto funciona correctamente.




Una vez que verificamos que el control funciona (lleva una batería en su interior, que debe estar cargada) vamos a programar a mBot para que siga la instrucciones que le daremos, infrarrojos mediante.


La programación del control
Programar el control remoto es bastante simple, ya que solo tendremos que usar el condicional que indique que si apretamos un botón del control, el robot debe moverse en una dirección determinada. La primera dificultad que detectaremos al resolver esta cuestión es que, al girar, el robot necesita tiempo para posicionarse y avanzar. Eso lo tendremos que tener en cuenta en la programación e introducir una "espera" que permita adaptar nuestras órdenes a los tiempos físicos en los que el robot se mueve.

Por otra parte es importante que tengamos en cuenta, también, que no se trata solamente de avanzar y avanzar… ¿que pasa si nos sorprende una pared? No queremos que el robot se estrelle así que tomaremos una medida de seguridad: vamos a configurar el sensor ultrasónico frontal para que, al detectar un obstáculo a unos 25 cm, se detenga automáticamente.


El programa en Makeblock (versión de Scratch para mBot) quedaría, entonces, así:


¡Alto ahi!
Y como verán, al final del programa, incluimos unas líneas para colocar un freno “manual”, de manera tal que, si algo falla, podamos activarlo. Esto supone que los motores se detendrán si presionamos la tecla “A” en el control. Como broche final, una agregamos dos notas a modo de bocina, cosa que el robot avise que, efectivamente, recibió la señal de ¡Alto ahí!




Este es el tercer post sobre experiencias con mBot
Si te intersa conocer como llegamos aquí podés vistar nuestros posts anteriores: “Primeras experiencias en robótica educativa” y “Con ojos de robot” en este mismo blog.

No hay comentarios.: