Tutorial de programación lego mindstorms nxt
-
Upload
colegio-san-gabriel-arcangel -
Category
Documents
-
view
840 -
download
4
Transcript of Tutorial de programación lego mindstorms nxt
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.
• 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.
Objetivos
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 FuncionesBásica Completa Personalizada
Programación Básica
Paleta BásicaLa 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
Mostrar por Pantalla
Sonido
Grabar / Reproducir
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ónNuestro primer programa queda así:
Estableciendo las siguientes opciones:
Motores B y CAvanzar 4 Segundos Detenerse (Freno)
Solo nos falta descargar el programa al NXT!
Transferir un programa al NXTPara 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.
Seleccionamos “NXT Windows”
Click en la Pestaña Memory
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.
Administración de Memoria
1 Barra nivel de uso de memoria2 Memoria no usada(Área Gris)3 Lista Programas/Imagen/Sonido4 Borrar Selección5 Descargar selección al NXT6 Cargar selección al PC.7 Borrar todo8 Información del NXT :‐Nombre del NXT‐Nivel de batería‐Tipo de Conexión (USB)‐Espacio libre de almacenamiento ‐Versión del Firmware
1 Barra nivel de uso de memoria2 Memoria no usada(Área Gris)3 Lista Programas/Imagen/Sonido4 Borrar Selección5 Descargar selección al NXT6 Cargar selección al PC.7 Borrar todo8 Información del NXT :‐Nombre del NXT‐Nivel de batería‐Tipo de Conexión (USB)‐Espacio libre de almacenamiento ‐Versión del Firmware
Administración de Memoria
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
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.
Actividad 1:
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).
Hacer que el robot avance 5 vueltas y luego se detenga.
Actividad 2:
Hacer que el robot avance 5 vueltas y luego se detenga.
Actividad 2:
5 Rotaciones o Vueltas del Motor
Con esta opción hacemos que luego de cumplir su condición el motor Frene
Sensor de Tacto
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.
Actividad 3:
Sensor de Luz
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.
Actividad 4:
Sensor de Sonido
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.
Actividad 5:
Sensor Ultrasónico
Sensor UltrasónicoEl 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.
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.
Actividad 6:
Mas cerca que
Distancia
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)
EjemploEl 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
EjemploEn 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
2
3
EjemploEl 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 PersonalizadosCuando 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
EjemploCrear un bloque de la siguiente rutina.
Nombre y Descripción
Crear un icono
Crear un bloque de la siguiente rutina.
Ejemplo
Y el icono de la rutina quedara asi.
Aplicando Conocimientos
Ejercicio Propuesto 1El 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 2El robot debe seguir el borde de una línea negra.
Ejercicio Propuesto 3El robot debe cumplir la función de despertador, cuando
salga el sol debe tocar un sonido (Alarma).
Ejercicio Propuesto 4El robot debe esquivar cualquier objeto que este a una
distancia de menos de 20 centímetros frente a él.
Ejercicio Propuesto 5El 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