You are on page 1of 70

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  Sensor  


Sonido Ultrasónico
Los sensores del Kit LEGO NXT

Sensor de Rotación incorporado con el motor
Otros Sensores

Sensor de 
Sensor de 
Sensor  Inclinación y 
Color
Brújula 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 1

2
El Programa
Paletas de Funciones
Básica Completa Personalizada
Programación Básica
Paleta Básica
La paleta básica nos permite
Movimiento
desarrollar un programa con
todas sus características, pero si Grabar / 
deseamos ahondar y ejecutar Reproducir
acciones mas especificas es
recomendable utilizar la paleta Sonido
Completa.
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.

Seleccionar el 
Archivo de Sonido
Archivo de Sonido Reproducir

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.

Con esta opción 
hacemos que luego de 
5 Rotaciones o  cumplir su condición el 
Vueltas del Motor 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  Distanci Unidad de 


que a 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 1
podemos usar en sensores o
para mostrar por la pantalla
del NXT

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

Sensor de  Guarda Valor  Convierte de  Muestra Texto por 


Luz  en una Variable Numero a  Pantalla
Texto
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 

You might also like