Siguiendo con nuestros tutoriales para los robots programables para niños, hoy vamos a ver como manejar el sensor de ultrasonidos que los acompaña.
Para las pruebas vamos a utilizar el robot educativo de Makeblock pero te vale cualquiera de nuestros Robots.
Antes que nada tienes que saber algo de programación en mBlock, si nunca has usado mBlock pasate por nuestro curso de inicio.
¿Qué es un sensor ultrasónico?
El sensor ultrasónico es un sensor que nos va a permitir medir la distancia a la que se encuentra el robot de un determinado objeto, controlando esa distancia evitaremos chocarnos o podremos realizar alguna maniobra para sortearlo.
Es curioso como en la naturaleza tenemos al murcielago que es un animal con un sistema parecido, emite sonidos con la garganta que rebotan en la paredes, con su oidos puede oirlos cuando rebotan y se hacen una idea del entorno en el que se encuentran.
¿Cómo funciona el sensor ultrasónico en el mBot?
El sensor de ultrasonidos del mBot funciona por medio de un receptor y un emisor. El emisor emite una onda de sonido que rebota en el objeto la cual es recibida por el receptor.
El sensor lo que va hacer es medir el tiempo que tarda entre que se emite la onda y se recibe. Conociendo la velocidad a la que se propaga el sonido (342 m/s) el sensor aplica la formula de la velocidad, distancia y tiempo:
distancia = velocidad x tiempo
El sensor hace un ajuste en esa formula y divide el tiempo entre 2 porque el cuenta el tiempo que la onda tarda en ir y venir.
distancia = velocidad x (tiempo/2)
Después de esta pequeña introducción técnica del funcionamiento del sensor vamos al lio.
En el mBot y en casi todos los robots educativos el sensor de ultrasonidos esta colocado en la parte delantera. Esto tiene lógica porque normalmete van hacia adelante y tienen que esquivar los obstaculos.
¿Cómo programar el sensor de ultrasonidos con mBlock para el mBot?
Dentro de mBlock vamos a las fichas de Robots y buscamos la que pone «distancia del sensor de ultranosidos» con el número de puerto. En el número de puerto tenemos que seleccionar el número donde lo tenemos conectado.
Esta instrucción nos va devolver la distancia, en centimetros a la que se encuentra el robot del siguiente obstaculo. En función del valor que nos devuelve esta ficha, haremos una cosa u otra.
Para hacer eso necesitamos un instruccion de control condicional. Vamos a los bloques de control y seleccionamos la ficha «si entonces si no».
Lo siguiente que tenemos que hacer es comparar el valor devuelto por el sensor con una distancia por ejemplo de 15 cm.
Para ello vamos a los bloques de operadores, seleccionamos el de menor que y lo colocamos dentro de la instrucción de control.
Colocamos las fichas de distancia del sensor y el 15 dentro de la ficha de menor que.
Si se cumple que la distancia del sensor es menor de 15 cm quiere decir que estamos muy cerca entonces le podemos decir al robot por ejemplo que retorceda durante un segundo y luego haga un giro también durante un segundo a la derecha.
Para hacer esto volvemos a los bloques de control y buscamos las ficha «avanzar a velocidad 0», la arrastramos al panel y cuando la tenemos colocada dentro de la ficha condicional en la parte del si, luego pinchamos sobre avanzar nos deja seleccionar «retoceder a velocidad» por ejemplo 255, pero queremos que esto lo haga durante un segundo. Para ello buscamos la ficha «esperar 1 segundo» y la colocamos seguido, esta en los bloques de control.
El siguiente paso que tiene que hacer el robot, es girar hacia la deracha para ello seleccionamos la ficha»avanzar a velocidad 0″ la colocamos seguido de esperar un segundo y pinchamos en avanzar para seleccionar «girar a la derecha» y ponemos una velocidad por ejemplo 100 o lo que querais. Con esto nos pasa lo mismo que con el retroceso, queremos lo haga durante un segundo, pues para ello colocamos la ficha de esperar 1 segundo.
Ahora nos queda hacer la parte de que el sensor nos esta devolviendo una distancia mayor a 15 cm. Esta parte es sencilla porque solo queremos que siga la marcha. Para ello en la parte del «si no», colocamos la ficha de amavanzar a 255. El resultato queda de la siguiente manera:
Si dejamos esto así no nos va a funcionar bien porque lo va hacer una sola vez. Si queremos que este todo el rato andando tenemos que poner por encima un bucle que haga que eso lo repita todo el rato y le colocamos la ficha de programa de mBot, todos los programas tienen que empezar con esa insturcción.
Vamos a los bloques de control y metemos todo dentro de la ficha «por siempre».
Probamos el programa en nuestro mBot
Ahora solo nos queda grabar el programa en el mBot y probar el resultado. Os dejo un video con el resultado.
Resumen del tutorial
En este tutorial hemos aprendido varias cosas:
- Que es un sensor de ultra sonidos.
- Como se programa en el mBot.
Si quieres puedes seguir revisando más cursos y talleres de robótica educativa.
[mc4wp_form id=»130″]