Saltar la navegación

06 Ultrasonidos

Medidor de Distancia

En esta ocasión, vamos a ver cómo funciona el detector de ultrasonidos. 

La disposición en el Miibot será la siguiente:

Miibot ultrasonidos
Fuente propia (Dominio público)

Para ello, vamos a observar el valor que adquiere una variable a la que se le asigna la magnitud (en centímetros) de distancia a la que se encuentra un objeto del robot Maqueen.

El código que se debe de establecer sería:

  1. Iniciar,
  2. Por siempre,
  3. Crear una variable que se denomine "distancia"
  4. Establecer en la variable "distancia" el valor detectado en la entrada "distancia en cm"
  5. Establecer una pausa de 1 segundo.

El código creado en Crumble sería:

Práctica6a
Fuente propia (Dominio público)

En el bloque de distancia en centímetros tenemos que indicar en T el puerto al que lo hemos conectado y E donde recogemos la distancia en cm, que en nuestro caso, es el puerto A. De ahí, que en el código anterior, en el bloque de ultrasonidos aparezca T:A y E:A

Detector de obstáculos

Existen ocasiones en las que se desea que el robot no choque contra un objeto. Para ello, al disponer del medidor de ultrasonidos, podemos configurar el programa de la manera que cuando esté a menos de una determinada distancia, se detenga y gire, de una manera aleatoria, para buscar una nueva trayectoria y evite ese objeto que le impide avanzar.

Para que esto sea posible hay que programar el robot con un algoritmo con las siguientes instrucciones:

  1. Iniciar
  2. Bucle infinito
  3. Si la distancia es menor de 10 cm,
  4. Se debe de asignar a una variable "giro" un valor obtenido al azar entre 0 y 1.
  5. Si se obtiene 0, entonces
  6. El robot girará a la derecha, y
  7. Si se obtiene 1, entonces
  8. El robot girará a la izquierda, un determinado tiempo, para buscar una nueva trayectoria.
  9. Si la distancia es mayor de 10 cm,
  10. El robot avanzará a una determinada velocidad.

Todo esto, según los bloques de código con Crumble, se traduciría en:

Evitar obstáculos
Fuente propia (Dominio público)

Seguir a un individuo

Cuando tenemos un perro nos gusta que venga junto o detrás de nosotros o nosotras. Con un robot, como Miibot, podemos conseguir que venga también siguiéndonos. Si estamos a una distancia menor de un valor, nos seguirá, pero si nos distanciamos más, se despistará y comenzará a dar vueltas esperando encontrar a alguien que se aproxime a una distancia establecida para seguirlo. El robot se puede ir con cualquiera, nuestro perro, seguramente, no lo haría.

El código del algoritmo que tendríamos que implementar debería ser:

  1. Iniciar
  2. Bucle infinito,
  3. Si el lector detecta que estamos a menos de 10 cm y a una distancia distinta de 0,
  4. El robot vendrá detrás, es decir, los dos motores avanzarán, pero si no es así,
  5. El robot, dará vueltas en un sentido esperando encontrar de nuevo a ese individuo que esté a menos de 10 cm para iniciar, de nuevo, su persecución.

El código en Crumble, podría quedar del siguiente modo:

Perseguidor
Fuente propia (Dominio público)

Tarea

Construir un laberinto.

Programar Miibot para que recorra todo el laberinto, desde la entrada hasta la salida.

Cuando detecte a una cierta distancia un muro, deberá de corregir la trayectoria para que pueda abandonar el laberinto.