Grupo de Tecnología Educativa (GTE) UNIVERSIDAD ANDRES  BELLO Proyecto Explora ED12/011 “Interescolar de Robótica Educativa para todos los  Chilenos”

Tutorial de Programación  LEGO MINDSTORMS NXT 

Introducción
El Grupo de Tecnología Educativa, dependientes de la Facultad de Ingeniería de la Universidad Andrés Bello, en conjunto con el programa Explora Conicyt enmarcados en el Proyecto de Valoración y Divulgación adjudicado el año 2008, que lleva por nombre “Interescolar de Robótica Educativa para todos los Chilenos” código ED12/011, presenta una nueva herramienta educativa para las comunidades tecnológicas formadas por el proyecto durante el transcurso del presente año. Esta herramienta permite a las comunidades tecnológicas que poseen kit de robótica Lego NXT, conocer las distintas funciones que posee el software “Lego Mindstorms NXT education” para realizar su programación y también permite conocer las distintas piezas que presenta el Kit en base a los distintos sensores, y la forma de aplicar conocimientos educativos en base a esta herramienta.

Objetivos
• Conocer el Kit lego NXT, en base a las piezas y funciones que éste posee. • Entregar conocimientos básicos de programación, referente al software “Lego Mindstorms NXT Education” • Entregar una herramienta para los profesores y alumnos de las comunidades tecnológicas, para realizar sus clases de robótica, relacionadas al Kit Lego NXT.

Primero que todo, debemos entender:

¿Que diferencia un robot de una máquina?

Sentidos

Planificación

Acción

Los sensores del Kit LEGO NXT
Sensor de Tacto Sensor de Luz Sensor de  Sonido Sensor   Ultrasónico

Los sensores del Kit LEGO NXT
Sensor de Rotación incorporado con el motor

Otros Sensores
Sensor  Brújula Sensor de  Color Sensor de  Inclinación y  Aceleración

Controlador NXT

Controlador NXT

Menú NXT
El robot NXT consta de una pantalla con varias opciones que nos permiten tener mas opciones para programar de forma mas optima nuestro robot, agregar sonidos, imágenes y hasta realizar pruebas sin necesidad de tener el programa NXT-G para realizar pruebas de motores y/o sensores.

Menú NXT

Programación del Robot NXT

El Programa
2

1

El Programa

Paletas de Funciones
Básica Completa Personalizada

Programación Básica

Paleta Básica
La paleta básica nos permite desarrollar un programa con todas sus características, pero si deseamos ahondar y ejecutar acciones mas especificas es recomendable utilizar la paleta Completa.
Movimiento Grabar /  Reproducir Sonido Mostrar por  Pantalla Esperar por Recursiones Condicional

Ejercicio 1:
Realizar la siguiente acción con el robot: Que avance por 4 segundos con los motores conectados en los puertos B y C y luego se detenga.
Para realizar esta acción debemos arrastrar el icono de movimiento y ubicarlo en la línea del programa. Así, podremos ver las opciones de cada icono en la parte inferior del programa.

Ejercicio 1: Solución
Nuestro primer programa queda así:

Estableciendo las siguientes opciones:
Avanzar Motores B y C 4 Segundos Detenerse (Freno)

Solo nos falta descargar el programa al NXT!

Transferir un programa al NXT
Para esto necesitamos conectar un extremo del cable USB al NXT, y el otro extremo al Computador.

Transferir un programa al NXT
Ahora solo nos queda transferir el programa a nuestro robot. Hacemos clic en la opción “Download and Run” y el programa buscara un NXT conectado, si lo encuentra comenzara a bajar el programa a nuestro robot y cuando lo descargue se comenzara a ejecutar automáticamente.

Administración de Memoria
Debido a los tipos de datos que podemos almacenar en el NXT, ya sea, sonidos , imágenes, o los mismos programas debemos tener siempre presente la cantidad de memoria que tenemos. Así evitaremos posibles problemas de memoria al cargar nuestros programas al NXT.
Seleccionamos “NXT Windows”

Click en la Pestaña Memory

Administración de Memoria
1 Barra nivel de uso de memoria 2 Memoria no usada(Área Gris) 3 Lista Programas/Imagen/Sonido 4 Borrar Selección 5 Descargar selección al NXT 6 Cargar selección al PC. 7 Borrar todo 8 Información del NXT : ‐Nombre del NXT ‐Nivel de batería ‐Tipo de Conexión (USB) ‐Espacio libre de  almacenamiento  ‐Versión del Firmware

Ejercicio 2:
Realizar la siguiente acción con el robot: Que avance por 4 segundos con los motores conectados en los puertos B y C, que reproduzca el sonido “Good bye” y se devuelva.

Archivo de Sonido

Reproducir

Seleccionar el  Archivo de Sonido

Esperar que se reproduzca  completamente

Actividad 1:
El robot debe avanzar por 3 segundos, girar a la derecha por 3 segundos y tocar una nota musical por 1,5 segundos.

Actividad 1:
El robot debe avanzar por 3 segundos, girar a la derecha por 3 segundos y tocar una nota musical por 1,5 segundos.

Sensores

Sensor de Rotación
A diferencia del su antecesor (RCX), el NXT viene con un sensor de rotación incorporado en cada motor, mas preciso ya que nos permite ingresar en la programación si deseamos movernos por rotaciones o por grados (Angulo).

Actividad 2:
Hacer que el robot avance 5 vueltas y luego se detenga.

Actividad 2:
Hacer que el robot avance 5 vueltas y luego se detenga.

5 Rotaciones o  Vueltas del Motor

Con esta opción  hacemos que luego de  cumplir su condición el  motor Frene

Sensor de Tacto

Actividad 3:
Cuando el sensor de contacto no se presione, los motores conectados en B y C deben retroceder y al presionar el sensor de tacto se deben apagar.

Actividad 3:
Cuando el sensor de contacto no se presione, los motores conectados en B y C deben retroceder y al presionar el sensor de tacto se deben apagar.

Sensor de Luz

Actividad 4:
Que el robot avance hasta una línea negra, se detenga 2 segundos y luego que gire 3 segundos.

Actividad 4:
Que el robot avance hasta una línea negra, se detenga 2 segundos y luego que gire 3 segundos.

Sensor de Sonido

Actividad 5:
Cuando no exista un sonido fuerte, el robot debe avanzar hasta que escuche un sonido sobre un porcentaje de 50.

Actividad 5:
Cuando no exista un sonido fuerte, el robot debe avanzar hasta que escuche un sonido sobre un porcentaje de 50.

Sensor Ultrasónico

Sensor Ultrasónico
El sensor ultrasónico tiene la capacidad de detectar objetos principalmente rectos ya que funciona por medio de un emisor de señales de ultrasonido y un receptor que recibe estas señales cuando rebotan en un objeto frente al sensor.

Actividad 6:
El robot debe avanzar hasta que encuentre un objeto a una distancia menor que 10 centímetros.

Actividad 6:
El robot debe avanzar hasta que encuentre un objeto a una distancia menor que 10 centímetros.

Mas cerca  que

Distanci a

Unidad de  Medida

Recursiones / Loops

Recursiones
Las Recursiones o “Loops” son estructuras de programación que nos permiten hacer que una tarea se repita tantas veces como nuestro programa lo requiera. Las opciones de repetición pueden ser las siguientes: • Recursión Infinita • Condiciones de sensor • Recursión por tiempo • Recursión por Contador • Por lógica (1/0 – V/F)

Actividad 7:
Explicar el funcionamiento del siguiente programa:

Actividad 7:
Explicar el funcionamiento del siguiente programa:

Mientras el sensor de tacto este suelto, avanzar  hasta que el sensor de sonido detecte un sonido  mas fuerte que el establecido, detenerse.  Reproducir un sonido de un Archivo y esperar 2  segundos.

Bifurcaciones / Condicionales

Condicionales
Las bifurcaciones como su nombre lo dicen toman 2 caminos, pero en este caso depende de la variable que tomemos como condición. Estas pueden tomar la condición por sensores o por valores lógicos (Verdadero/ Falso)

Ejemplo
El siguiente programa realizado con condicional enciende una lámpara cuando se presiona el sensor de tacto y la apaga cuando este se suelta.

Condición Verdadera

Condición Falsa

Tareas Simultaneas

Tareas Simultaneas
En NXT-G no es necesario el utilizar un icono para realizar tareas simultaneas, sino que solo arrastrando una línea de programa hacia nuestra nueva tarea podemos lograr mas de una tarea ejecutada al mismo tiempo

Ejemplo
En el siguiente programa podemos apreciar el uso de las tareas simultaneas. Que hace el programa?

Variables
En las variables podemos guardar valores numéricos, lógicos y de texto que podemos usar en sensores o para mostrar por la pantalla del NXT

1

3 2

Ejemplo
El siguiente programa toma el valor del sensor de luz y luego lo muestra por pantalla.

Sensor de  Luz 

Guarda Valor  en una Variable

Convierte de  Numero a  Texto

Muestra Texto por  Pantalla

Bloques Personalizados

Bloques Personalizados
Cuando utilizamos la misma rutina varias veces seguidas, siempre es bueno tener un bloque de este tipo para ahorrar tiempo a la hora de programar, además ahorras espacio en tu diagrama.

Seleccionar  la rutina que  haremos un  bloque.

Ingresar  nombre y  descripción

Ejemplo
Crear un bloque de la siguiente rutina.

Nombre y  Descripción

Crear un  icono

Ejemplo
Crear un bloque de la siguiente rutina.

Y el icono de la rutina quedara asi.

Aplicando Conocimientos

Ejercicio Propuesto 1
El robot debe avanzar hasta chocar, luego girar en 180º y volver a realizar la misma acción.

Nota: No necesariamente debemos utilizar el sensor de  rotación para el giro, esto depende de cómo este  construido nuestro robot. Para este caso utilizaremos  tiempo, el que dependerá del roce del la superficie.

Ejercicio Propuesto 2
El robot debe seguir el borde de una línea negra.

Ejercicio Propuesto 3
El robot debe cumplir la función de despertador, cuando salga el sol debe tocar un sonido (Alarma).

Ejercicio Propuesto 4
El robot debe esquivar cualquier objeto que este a una distancia de menos de 20 centímetros frente a él.

Ejercicio Propuesto 5
El robot debe avanzar en cualquier dirección por 2 segundos cuando escuche un sonido, y cuando no lo escuche debe detenerse.

Fin

Tutorial de Programación  LEGO MINDSTORMS NXT 

Sign up to vote on this title
UsefulNot useful