TUTORIAL DE PROGRAMACION LEGO MINDSTORMS NXT .pdf

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

Transcript of TUTORIAL DE PROGRAMACION LEGO MINDSTORMS NXT .pdf

  • GrupodeTecnologaEducativa(GTE)

    UNIVERSIDADANDRESBELLO

    ProyectoExploraED12/011

    InterescolardeRobticaEducativaparatodoslosChilenos

    TutorialdeProgramacin

    LEGOMINDSTORMSNXT

  • Introduccin

    El Grupo de Tecnologa Educativa, dependientes de la Facultad de Ingeniera de la Universidad Andrs Bello, en conjunto con el programa Explora Conicyt enmarcados en el Proyecto de Valoracin y Divulgacin adjudicado el ao 2008, que lleva por nombre Interescolar de Robtica Educativa para todos los Chilenos cdigo ED12/011, presenta una nueva herramienta educativa para las comunidades tecnolgicas formadas por el proyecto durante el transcurso del presente ao.

    Esta herramienta permite a las comunidades tecnolgicas que poseen kit de robtica Lego NXT, conocer las distintas funciones que posee el software Lego Mindstorms NXT education para realizar su programacin y tambin 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 bsicos de programacin, referente al software Lego Mindstorms NXT Education

    Entregar una herramienta para los profesores y alumnos de las comunidades tecnolgicas, para realizar sus clases de robtica, relacionadas al Kit Lego NXT.

    Objetivos

  • Primero que todo, debemos entender:

    Que diferencia un robot de una mquina?

  • Sentidos Planificacin Accin

  • Los sensores del Kit LEGO NXT

    SensordeTacto SensordeLuz SensordeSonido

    SensorUltrasnico

  • Los sensores del Kit LEGO NXT

    SensordeRotacinincorporadoconelmotor

  • Otros Sensores

    SensorBrjula

    SensordeColor

    SensordeInclinacinyAceleracin

  • 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, imgenes y hasta realizar pruebas sin necesidad de tener el programa NXT-G para realizar pruebas de motores y/o sensores.

  • Men NXT

  • Programacin del Robot NXT

  • El Programa

    2

    1

  • El Programa

  • Paletas de FuncionesBsica Completa Personalizada

  • Programacin Bsica

  • Paleta BsicaLa paleta bsica nos permite desarrollar un programa con todas sus caractersticas, pero si deseamos ahondar y ejecutar acciones mas especificas es recomendable utilizar la paleta Completa.

    Movimiento

    MostrarporPantalla

    Sonido

    Grabar/Reproducir

    Esperarpor

    Recursiones

    Condicional

  • Ejercicio 1:

    Realizar la siguiente accin 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 accin debemos arrastrar el icono de movimiento y ubicarlo en la lnea del programa.

    As, podremos ver las opciones de cada icono en la parte inferior del programa.

  • Ejercicio 1: SolucinNuestro primer programa queda as:

    Estableciendo las siguientes opciones:

    MotoresByCAvanzar 4Segundos 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 opcin 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 automticamente.

  • SeleccionamosNXTWindows

    ClickenlaPestaaMemory

    Debido a los tipos de datos que podemos almacenar en el NXT, ya sea, sonidos , imgenes, 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.

    Administracin de Memoria

  • 1 Barraniveldeusodememoria2Memorianousada(reaGris)3ListaProgramas/Imagen/Sonido4BorrarSeleccin5DescargarseleccinalNXT6CargarseleccinalPC.7Borrartodo8InformacindelNXT:NombredelNXTNiveldebateraTipodeConexin(USB)EspaciolibredealmacenamientoVersindelFirmware

    1 Barraniveldeusodememoria2Memorianousada(reaGris)3ListaProgramas/Imagen/Sonido4BorrarSeleccin5DescargarseleccinalNXT6CargarseleccinalPC.7Borrartodo8InformacindelNXT:NombredelNXTNiveldebateraTipodeConexin(USB)EspaciolibredealmacenamientoVersindelFirmware

    Administracin de Memoria

  • Ejercicio 2:Realizar la siguiente accin 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.

    ArchivodeSonido Reproducir

    SeleccionarelArchivodeSonido

    Esperarquesereproduzcacompletamente

  • 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 Rotacin

    A diferencia del su antecesor (RCX), el NXT viene con un sensor de rotacin incorporado en cada motor, mas preciso ya que nos permite ingresar en la programacin 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:

    5RotacionesoVueltasdelMotor

    ConestaopcinhacemosqueluegodecumplirsucondicinelmotorFrene

  • 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 lnea negra, se detenga 2 segundos y luego que gire 3 segundos.

    Actividad 4:

  • Que el robot avance hasta una lnea 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 Ultrasnico

  • Sensor UltrasnicoEl sensor ultrasnico tiene la capacidad de detectar objetos principalmente rectos ya que funciona por medio de un emisor de seales de ultrasonido y un receptor que recibe estas seales cuando rebotan en un objeto frente al sensor.

  • El robot debe avanzar hasta que encuentre un objeto a una distancia menor que 10 centmetros.

    Actividad 6:

  • El robot debe avanzar hasta que encuentre un objeto a una distancia menor que 10 centmetros.

    Actividad 6:

    Mascercaque

    Distancia

    UnidaddeMedida

  • Recursiones / Loops

  • Recursiones

    Las Recursiones o Loopsson estructuras de programacin que nos permiten hacer que una tarea se repita tantas veces como nuestro programa lo requiera. Las opciones de repeticin pueden ser las siguientes:

    Recursin Infinita Condiciones de sensor Recursin por tiempo Recursin por Contador Por lgica (1/0 V/F)

  • Actividad 7:Explicar el funcionamiento del siguiente programa:

  • Actividad 7:Explicar el funcionamiento del siguiente programa:

    Mientraselsensor detactoestesuelto,avanzarhastaqueelsensor desonidodetecteunsonidomasfuertequeelestablecido,detenerse.ReproducirunsonidodeunArchivoyesperar2segundos.

  • Bifurcaciones / Condicionales

  • Condicionales

    Las bifurcaciones como su nombre lo dicen toman 2 caminos, pero en este caso depende de la variable que tomemos como condicin.

    Estas pueden tomar la condicin por sensores o por valores lgicos (Verdadero/ Falso)

  • EjemploEl siguiente programa realizado con condicional enciende

    una lmpara cuando se presiona el sensor de tacto y la apaga cuando este se suelta.

    CondicinVerdadera

    CondicinFalsa

  • Tareas Simultaneas

  • Tareas Simultaneas

    En NXT-G no es necesario el utilizar un icono para realizar tareas simultaneas, sino que solo arrastrando una lnea 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 numricos, lgicos 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.

    SensordeLuz

    GuardaValorenunaVariable

    ConviertedeNumeroaTexto

    MuestraTextoporPantalla

  • 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, adems ahorras espacio en tu diagrama.

    Seleccionarlarutinaqueharemosunbloque.

    Ingresarnombreydescripcin

  • EjemploCrear un bloque de la siguiente rutina.

    NombreyDescripcin

    Crearunicono

  • Crear un bloque de la siguiente rutina.

    Ejemplo

    Yeliconodelarutinaquedaraasi.

  • Aplicando Conocimientos

  • Ejercicio Propuesto 1El robot debe avanzar hasta chocar, luego girar en 180 y

    volver a realizar la misma accin.

    Nota:Nonecesariamentedebemosutilizarelsensor derotacinparaelgiro,estodependedecmoesteconstruidonuestrorobot.Paraestecasoutilizaremostiempo,elquedepender delrocedellasuperficie.

  • Ejercicio Propuesto 2El robot debe seguir el borde de una lnea negra.

  • Ejercicio Propuesto 3El robot debe cumplir la funcin 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 centmetros frente a l.

  • Ejercicio Propuesto 5El robot debe avanzar en cualquier direccin por 2 segundos

    cuando escuche un sonido, y cuando no lo escuche debe detenerse.

  • Fin

  • TutorialdeProgramacin

    LEGOMINDSTORMSNXT

    Primero que todo, debemos entender: Los sensores del Kit LEGO NXTLos sensores del Kit LEGO NXTOtros SensoresControlador NXTControlador NXTMen NXTMen NXTPaletas de FuncionesProgramacin BsicaPaleta BsicaEjercicio 1:Ejercicio 1: SolucinTransferir un programa al NXTTransferir un programa al NXTAdministracin de MemoriaAdministracin de MemoriaEjercicio 2:Actividad 1:Actividad 1:SensoresSensor de RotacinActividad 2:Actividad 2:Sensor de TactoActividad 3:Actividad 3:Sensor de LuzActividad 4:Actividad 4:Sensor de SonidoActividad 5:Actividad 5:Sensor UltrasnicoSensor UltrasnicoActividad 6:Actividad 6:Recursiones / LoopsRecursionesActividad 7:Actividad 7:Bifurcaciones / CondicionalesCondicionalesEjemploTareas SimultaneasTareas SimultaneasEjemploVariablesEjemploBloques PersonalizadosEjemploEjemploAplicando ConocimientosFin