Para programar los robots de Lego usamos un entorno de programación gráfico llamado NXT, y basado en la insercción de bloques configurables, a continuación vamos a ver los más básicos. Esta es la interfaz del programa:
Dentro de la paleta de herramientas común tenemos estos bloques:
BLOQUE MOVER: Permite mover el robot hacia delante, atras o describiendo una curva. En Puerto selecciono los motores conectados a las ruedas, después selecciona la dirección y si quiero aplicar giro, puedo controlar la potencia y la duracción (número de rotaciones. tiempo en segundos, ilimitado o grados), recomendamos poner la duración en rotaciones. La última opción del bloque es la opción de Siguiente acción: si ponemos freno al finalizar los motores se detendrán de golpe, mientras que si ponemos flotación, se detendrán con un poco de inercia y la parada será más suave. En la imagen adjunta se aprecia claramente todas las opciones de programación del bloque mover.
BLOQUE LOOP (BUCLE)
La herramienta LOOP la utilizaremos siempre que necesitemos repetir muchas veces o indefinidamente órdenes. Podemos repetir las órdenes encerradas dentro del bucle, un número determinado de veces(contador), indefinidadmente, un tiempo determinado(segundos) o dependiendo del valor de un sensor. En el ejemplo de la imagen el robot avanza y gira a la derecha indefinidamente.
En el control del bucle marcaremos Siempre.
En el siguiente ejemplo el robot avanza y gira a la derecha hasta que el sensor de tacto es presionado.
En el control seleccionareos Sensor y el puerto al que lo selecciono. Otro ejemplo podría ser que nuestro robot debiera evitar caer al vacio arriba de una mesa, debemos repetir indefinidamente la rutina en la que el sensor de luz sense el piso para no caernos (el piso siempre da un reflejo de luz superior al vacio), y sólo se podría mover cuando encuentre determinado reflejo en el piso.
BLOQUE ESPERA
Usamos este bloque para ejecutar una acción hasta que alguno de los sensores envie una determinda señal, o simplemente detenemos la ejecución durante un tiempo determindado.En el ejemplo de la imagen, el robot avanza, después esperamos un segundo. continua avanzado pero girando a la derecha hasta que el sensor de contacto es presionado momento en que detenemos el robot.
BLOQUE BIFURCACIÓN (SWTICH)
Este permite bloque definir dos acciones según se cumpla o no una determinada condición (que un sensor envíe una señal, por ejemplo).
Si por ejemplo utilizamos el sensor de ultrasonidos para detectar obstáculos, debemos ubicar qué órdenes queremos que se cumplan cuando estamos próximos al obstáculo y qué órdenes queremos que el robot cumpla cuando el sensor no detecta los objetos. De esta forma estaremos tomando una decision cuando se detectan objetos póximos y otra decision cuando existe v ía libre. De la misma manera estaremos tomando siempre diferentes decisiones para los demas sensores (sonidos, luz, y contacto). En la imagen de arriba si estamos a más de 10 cm de cualquier obstáuclo el robot avanza si detecta algún obstáculo a menos de 10 cm retrocede, gira a la drecha y vuelve a avanzar. (Ver abajo configuración del bloque bifurcación para el ejemplo de arriba)
A continuación os mostramos unos videotutoriales, están en formato flash. Espero les resulte de utilidad.
- Videotutorial bloque mover
- Videotutorial Bloque Espera
- Videotutorial Bucles (Loops) – Ver pantalla Completa
- Videotutorial bloque visualización
- VideoTutorial sensor de luz
- VideoTutorial Sensores para ver
- Videotutorial mis bloques
- VideoTutorial mis bloques avanzado
Para descargar el software sigue este enlace MINDSTORMS NXT 2.0 – Windows
donde puedo conseguir
Hola Valentina, puedes descargar el software MINDSTORMS NXT 2.0 en el siguiente enlace:
https://www.lego.com/en-us/mindstorms/downloads/nxt-software-download
Gracias por la información, me has salvado de una tarea para mañana :3
Muy buena la informacion pero deberian haber puesto un video sobre el bloque bifuracion
muy muy buena la informacion