En esta tercera entrega de los artículos tutoriales sobre LabVIEW para usuarios del NXT (III) vamos a ver nuevos sensores, como el de ultrasonido, nuevas estructuras, y otros métodos para usar los motores. Esto nos servirá para ampliar los conocimientos que ya tenemos y así poder crear programas más complejos.
Manejo de Motores:
Hemos visto como poner los motores en funcionamiento o pararlos, pero sin embargo a veces queremos que recorran cierta distancia (que giren un número de grados determinados). Para ello existe esta función:
Drive distance

Esta función la podemos encontrar haciendo click derecho en el Block Diagram y metiéndonos en NXT I/O → Complete → Motor → Drive Distance.
Manejo de Sensores:
En el artículo anterior vimos como poner un sensor, seleccionar su tipo, y vimos el funcionamiento del sensor de contacto y de luz. En este artículo introduciré el sensor de ultrasonido y el sensor de rotación:
Sensor de ultrasonido

Sensor de rotación

Estructura Case:
La estructura case es una estructura condicional que nos permite ejecutar una parte u otra del código según que valor tome determinada variable o elemento de nuestro programa. La estructura case la podéis encontrar en Structures → Case Structure:


Programa de prueba:
En el programa de hoy vamos a utilizar todo lo que hemos visto hoy más lo que vimos en el anterior tutorial. El programa va a consistir en un robot móvil que se desplaza gracias a dos motores (A y C). El robot cuenta con un sensor de ultrasonidos, y cuando este detecte un obstáculo a menos de 40 cm. el robot se parará instantáneamente y girará para esquivar el supuesto obstáculo. Una vez termine esta maniobra seguirá adelante hasta que detecte otro obstáculo. El robot se detendrá cuando su motor A haya recorrido más de 6000º.
Por tanto para este programa necesitamos un bucle while, un case que ejecute cosas diferentes dependiendo del valor del sensor de ultrasonidos, un sensor de ultrasonidos, un sensor de rotación, y manejo de motores, tanto para moverlos y frenarlos, como para decirles que recorran una distancia determinada. El Block Diagram es el siguiente:
En caso de que haya un obstáculo a menos de 40cm.:

