A continuación, se añadirá un sensor ultrasónico.

Figura 32: Brick con sensor ultrasónico.
Tras realizar una configuración inicial, conecte el sensor ultrasónico al puerto 4 del brick y seleccione el sensor 4 en la configuración inicial. Se debe proporcionar un nombre al sensor (por ejemplo “telémetro”) y se recomienda dejar el valor de 0 (por defecto) para la frecuencia de muestreo.

Figura 33: Configuración sensor ultrasónico.
A continuación se añadirá un drive (servicio de dirección) estableciendo su configuración inicial. Conecte el motor izquierdo al puerto C y el derecho al puerto B. Se establecerá la distancia entre ruedas a 0.112, el diámetro de ambas ruedas a 0.055 y deje el valor “0” que aparece como valor por defecto para la frecuencia de muestreo.

Figura 34: Configuración del drive (servicio de dirección).
Evitando obstáculos
Añadir lógica al diagrama es sencillo pero es recomendable expandir el área de trabajo lo máximo posible cerrando o minimizando los paneles de “Basic Activities”, “Properties”, etc.
Una vez seleccionado un bloque condicional “If” de la ventana/panel de actividades básicas (“Basic activities”), se debe arrastrar hasta la ventana del diagrama. Cada vez que se reciba una lectura de distancia se capturarán las notificaciones del “LegoNXTUltrasonicSensorv2”. El valor capturado será usado para mover el motor apropiadamente.
Se debe seleccionar el pin redondo de salida de notificaciones del “LegoNXTUltrasonicSensorv2” y arrastrarlo hasta el bloque “If”. Esto permitirá capturar las notificaciones del sensor ultrasónico y evaluarlas. Cuando se muestre la ventana de condiciones, seleccionar del panel “From” el valor “SonarSensorUpdate”.

Figura 35: Captura de las notificaciones del sensor ultrasónico.
Seleccionar el bloque “If” y pulsar la barra espaciadora para abrir el menú desplegable con los valores disponibles en el sensor de ultrasonidos. Escribir o seleccionar “Distance < 50” (distancia menor que 50 cm.).

Figura 36: Selección de distancia menor que 50 cm.
Pinchar y arrastrar en el pin de la derecha de la expresión escrita “Distance < 50” hasta unirla con el pin de entrada de la actividad “LegoNXtDrivev2”. Esto abrirá la ventana de diálogo de conexiones donde se debe seleccionar en el panel “From” el valor “TrueChoice” y en el panel “To” el valor “RotateDegrees”.

Figura 37: Ventana de configuración de conexiones.
Al pulsar el botón de OK se abrirá la ventana de diálogo de datos de conexiones, donde se debe activar la opción de editar los valores directamente “Edit values directly” y teclear los valores mostrados en la siguiente figura:

Figura 38: Ventana de configuración de datos de las conexiones.
Explorando el entorno
Evitar los obstáculos no es suficiente para explorar el entorno, por ello será necesario añadir dos nuevos bloques “LegoNXTDrivev2”. Se pueden añadir realizando un copiar&pegar con el botón derecho del ratón sobre el bloque inicial o bien marcando el dicho bloque y pulsar Control-c seguido de Control-v dos veces. Ahora se añadirá una nueva condición al bloque “If” pulsando sobre el signo más (+) y escribiendo en esta nueva condición “Distance < 90”.

Figura 39: Añadiendo nueva condición a un bloque “If”.
Arrastrar una nueva conexión desde la segunda condición del “If” al segundo bloque “LegoNXTDrivev2”
En esta ocasión se seleccionarán los valores mostrados en las figuras que se muestran a continuación:

Figura 40: Ventana de configuración de las conexiones.

Figura 41: Ventana de configuración de los datos de las conexiones.
Finalmente, se conectará el pin de salida de la condición “else” del bloque “If” al tercer bloque “LegoNXTDrivev2” y de nuevo con el valor ”SetDrivePower”, pero en esta ocasión se colocará el 80% de la potencia a ambos motores para que circule en línea recta cuando no haya obstáculos a menos de 90 centímetros.

Figura 42: Configuración de la conexión para la condición “else”.
Compilación y ejecución
Tras asegurarse que el Tribot se encuentra en el suelo y encendido, seleccione el menú “Run” y la opción “Start”. Si todo funcionó correctamente, el Tribot comenzará a caminar esquivando los obstáculos que se vaya encontrando a su paso.

Figura 43: Compilación y ejecución del ejemplo del sensor de ultrasonidos.