Saltar la navegación

06 Ultrasonidos

Medidor de Distancia

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

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. Para siempre,
  2. Crear una variable que se denomine "distancia"
  3. Establecer en la variable "distancia" el valor detectado en la entrada "leer ultrasonidos en cm"
  4. Mostrar número "distancia" en la matriz led.
  5. Establecer una pausa de 1 segundo.

El código creado en Makecode sería:

Medidor de distancia
Fuente propia (Dominio público)

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

Todo esto, según los bloques de código con Makecode, 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 Maqueen, podemos conseguir que venga también siguiéndonos. Si estamos a una distancia menor 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. Para siempre,
  2. Si el lector detecta que estamos a menos de 10 cm y a una distancia distinta de 0,
  3. El robot vendrá detrás, pero si no es así,
  4. 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 Makecode, podría quedar del siguiente modo:

Perseguidor
Fuente propia (Dominio público)