FLL08_Guia de Robotica

Embed Size (px)

Citation preview

  • 8/4/2019 FLL08_Guia de Robotica

    1/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Gua de RobticaLEGO MINDSTORMS NXT

    edubrick una empresa dedicada a la educacin entretenida.Contctenos al telfono 263 5080 o al correo [email protected] exclusivo de LEGO Education para Chile

  • 8/4/2019 FLL08_Guia de Robotica

    2/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina i

    Gua de Robtica

    LEGO

    MINDSTORMS

    NXT

    LEGO MINDSTORMS Son marcas registradas de la Compaa LEGO y estagua de robtica educativa no cuenta ni con el auspicio ni la autorizacin de lacompaa.

    Gua de Robtica LEGO MINDSTORMS los derechos de autor son propiedadde Gustavo Brinck, la reproduccin de este material por cualquier medio requierela autorizacin por escrito del autor.

  • 8/4/2019 FLL08_Guia de Robotica

    3/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina ii

    Contenido

    Introduccin............................................................................................................. 1Metodologa en la sala de clases:........................................................................ 1

    El cerebro de nuestro robot..................................................................................... 2Esquema ..........................................................................................................2Caractersticas tcnicas: .................................................................................. 3Operaciones bsicas........................................................................................ 3Visualizacin .................................................................................................... 3Men principal.................................................................................................. 4Puertas predeterminadas................................................................................. 4

    Sensores..............................................................................................................5Sensores Opcionales ....................................................................................... 6Sensores del Modelo RCX...............................................................................7

    Motores y Lmparas ............................................................................................ 7Programacin.......................................................................................................... 9

    Nuestro primer programa..................................................................................... 9Desafo 1........................................................................................................11Desafo 2:.......................................................................................................12Desafo 3........................................................................................................14

    Ayuda................................................................................................................. 15Sensor de Tacto ................................................................................................ 16

    Desafo 4........................................................................................................16Loops..................................................................................................................... 17

    Sensor de Luz....................................................................................................18Desafo 5........................................................................................................19

    Sensor de Sonido .............................................................................................. 21Sensor de Ultrasonido ....................................................................................... 22

    Evaluando Condiciones.........................................................................................23Visualizacin y Sonido........................................................................................... 24

    Desafo 6........................................................................................................25Administracin de Memoria...................................................................................26Botones................................................................................................................. 27Case...................................................................................................................... 28Data Hub............................................................................................................... 30Variables ...............................................................................................................31

    Desafo 7........................................................................................................32Cronmetros.......................................................................................................... 33

    Desafo 8........................................................................................................33Desafo 9........................................................................................................34

    Multiprogramacin................................................................................................. 35Comunicaciones....................................................................................................36

  • 8/4/2019 FLL08_Guia de Robotica

    4/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 1

    Introduccin

    La realizacin de proyectos de robtica otorga al estudiante la capacidad deaprender importantes conocimiento a travs de la construccin, programacin yprueba de los robots. Durante este proceso el estudiante se encontrar conconceptos claves que se relacionan con la ciencias de la computacin,matemticas aplicadas, ciencias en general, trabajo en equipo y comunicacin. Almismo tiempo el estudiante aprende el proceso de explorar, planificar y resolverproblemas. Tambin se familiarizar con el principio de dividir un proyecto enpequeas partes y as lograr una solucin metdica y mas abordable.

    Metodologa en la sala de clases:

    Se presenta el problema que los estudiantes deben resolver, se discute las reglas,las probables soluciones, tiempo mximo del proyecto, limitacin de materiales,cmo se debe presentar la solucin del problema.

    Durante la ejecucin del proyecto el instructor se convierte en un facilitador, esdecir a solicitud del estudiante acta como consejero, para ayudar que elestudiante descubra e investigue por si mismo. Permitiendo que el estudianteacte con la mxima libertad posible.

    Cada grupo presenta su proyecto de acuerdo a las bases de cada proyecto, se

    revisa la documentacin, se realizan las pruebas y todos opinan de proceso desolucin y solucin misma.

    En ocasiones de pedir a los estudiantes que realicen una mejora de la solucinpropuesta, con lo aprendido y discutido con el total de la clase, y as permitir unamejora continua.

  • 8/4/2019 FLL08_Guia de Robotica

    5/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 2

    El cerebro de nuestro robot

    El ladrillo inteligente LEGO NXT, es el cerebro de nuestro robot, bsicamente es

    un microprocesador, con puertas de entradas, de salida y memoria paraalmacenar nuestros programas, se comunica con el computador a travs de unapuerta USB o Bluetooth.

    Esquema

    Tres puertas de salida, sealadascomo A; B y C

    Una puerta de comunicacin USB

    Pantalla de cristallquido.

    Mini parlante

    Botones deencendidoapagado ynavegacin.

    Cuatro puertas de entrada,sealadas como 1; 2; 3 y 4.

  • 8/4/2019 FLL08_Guia de Robotica

    6/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 3

    Caractersticas tcnicas:

    Microcontrolador de 32 bits ARM7o Memoria FLASH de 256 Kbyteso Memoria RAM de 64 Kbytes

    Microcontrolador de 8 bit AVRo Memoria FLASH de 4Kbyteso Memoria RAM de 512 Bytes

    Comunicacin Inalmbrica Bluetooth (Bluetooth Class II V2.0)

    Puerta de alta velocidad USB (12 Mbit/s)

    Cuatro puertas de entrada de seis contactos, plataforma digital

    Tres puertas de salida de seis contactos, plataforma digital

    Pantalla grfica de cristal lquido de 64 x 100 puntos

    Parlante, calidad de sonido 8KHz

    Fuente de poder, 6 bateras AA

    Operaciones bsicas

    Botn Naranja

    Encendido y EnterBotones Gris Claro

    Para moverse en el men izquierda y derechaBotn Gris Oscuro

    Para retroceder en la seleccin del men

    Para apagar el NXT, presione el botn gris oscuro hasta que aparezca la pantallaTurn off?, luego presione el botn naranja.

    Visualizacin

    En la parte superior de la pantalla del NXT, podemosver el tipo de conexin que estamos usando(Bluetooth y/o USB), el nombre de nuestro robot,luego el smbolo que indica que est en operacin yfinalmente el estado de la batera.

    Indicadores

    Bluetooth encendido

    Bluetooth visible para otros dispositivos

    Bluetooth conectado a otro dispositivo

  • 8/4/2019 FLL08_Guia de Robotica

    7/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 4

    USB conectado y trabajando bienUSB conectado, con problemasNXT, operando correctamenteBatera baja

    Bateria bienNombre del NXT, veremos como cambiar el nombre ms adelante

    Men principal

    Software FilesProgramas que usted a bajado delcomputador

    NXT FilesProgramas que usted ha hechodirectamente en el NXT

    My Files

    Sound Files Archivos de sonido

    NXT ProgramsEn este sub-men, usted puede programar directamente elNXT

    Try MeProgramas precargados para probar motores y sensores,debe usar las puertas predeterminadas

    ViewLe permite visualizar el estado de los motores y sensores entiempo real

    SettingPuede ajustar el volumen del sonido del NXT, ajustar el modoSleep para apagar automticamente el NXT y tambinborrar programas

    BluetoothLe permite ajustar las distintos parmetros de lacomunicacin inalmbrica

    Puertas predeterminadas

    Puertas de Entrada Puertas de Salida

    1 Sensor de Tacto A Motor para funcin extra.

    2 Sensor de Sonido B Motor izquierdo3 Sensor de Luz C Motor derecho

    4 Sensor de Ultrasonido

  • 8/4/2019 FLL08_Guia de Robotica

    8/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 5

    Sensores

    Sensor de Tacto

    Le proporciona al robot el sentido del tacto, tantocuando se presiona como cuando se suelta. Tambinpodemos utilizarlo para ciclos completos depresionar y soltar.

    Sensor de Sonido

    Le permite al robot escuchar.

    El sensor de sonido puede detectar tanto decibeles(dB), como decibeles ajustados (dBA). Decibel esuna medida de la presin de sonido.

    dBA: La sensibilidad del sensor es ajustada al odohumano.

    db: La sensibilidad del sensor, no est ajustada ypuede escuchar sonidos por debajo o por encimade la capacidad del odo humano.

    El sensor puede medir sonido hasta de 90 dB. La lectura del sonido de visualizaen porcentaje de acuardo a la siguiente tabla:

    Porcentaje Descripcin

    4%-5% Habitacin en silencio5%-10% Personas hablando lejos

    10%-30% Conversacin normal

    30%-100% Personas gritando y msica a alto volumen

    Sensor de Luz

    Le proporciona al robot el sentido de la visin.

    Le permite al robot distinguir entre luz y oscuridad.

    El sensor es monocrmatico, es decir puede distinguirentre el blanco y el negro pasando por una gama degrises, la lectura la entrega en porcentaje.

  • 8/4/2019 FLL08_Guia de Robotica

    9/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 6

    Sensor Ultrasnico

    Tambin le proporciona al robot un sentido de visin.

    El sensor emite un sonido y mide el tiempo que laseal tarda en regresar, para luego calcular ladistancia, a la cual se encuentra el objeto uobstaculo.

    Es el mismo principio utilizado por los murcilagos y el sonar de las naves, tieneuna rango de 0 a 255 cm con una presicin de +/- 3 cm.

    Sensores Opcionales

    Sensor Brjula

    Le permite al robot saber hacia donde esta apuntando.

    Este ser sensor es capas de medir el campo magnticoterrestre y calcular donde est el norte magntico.

    Se visualiza la lectura en grados 0 a 359

    Sensor de Color

    Le permite al robot ver colores.

    No slo blanco y negro, este es un sensor capas de distinguircolores reales.

    Sensor de Inclinacin y Aceleracin

    Le permite al robot saber que inclinacin tiene.

    Dispone de un acelermetro en los tres ejes (X; Y y Z) con unrango entre 2g y +2g, lo cual le permite calcular lainclinacin.

  • 8/4/2019 FLL08_Guia de Robotica

    10/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 7

    Sensores del Modelo RCX

    Los sensores del robot RCX, tambin pueden ser utilizados en el nuevo robotNXT, utilizando el cable adaptador.

    Sensor de Tacto Sensor de Luz

    Sensor de Rotacin Sensor de Temperatura

    Motores y Lmparas

    Los servomotores, le darn movimiento a nuestro robot.

    Los motores incluyen un sensor de rotacin, con unaprecisin de +/- 1 grado, tambin podemos montar elmotor en un eje y utilizarlo como senor de rotacin.

    Para el movimiento de un modelo motorizado elfirmware (el sistema operativo interno del NXT),dispone de un sofisticado algoritmo PID, el cual nospermite que nuestro modelo se desplace conprecisin.

    Tambin podemos utilizar los motores, estndar LEGO,mediante el cable adaptador.

    Las lmparas podemos utilizarlas como indicadores, tambin mediante eluso del cable adaptador

  • 8/4/2019 FLL08_Guia de Robotica

    11/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 8

    Importante:

    En el prximo capitulo comenzaremos con la programacin,

    para ello necesitamos que arme el TriBot, comenzando en lapgina 8 hasta la 22, del manual de educacin del conjunto9797.

    Note que en cada instruccin, se seala en un recuadro laspiezas que ocupar en ese paso, es importante que seleccione

    las piezas, antes de construir, as sabr que no lesobra ni le falta ninguna.Por ejemplo en el diagrama adjunto se indica quenecesitamos 2 ejes color rojo, el nmero encerradoen el circulo indica que es de largo 2. El eje gris se

    indica que es de largo 3, y la viga con el recuadro 7indica que tiene 7 hoyos o 7M.

  • 8/4/2019 FLL08_Guia de Robotica

    12/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 9

    Programacin

    Para programar el NXT, utilizaremos el programa NXT-G, lenguaje grfico basadoen LabView de National Instrument, tambin es posible programarlo en RoboLab2.9 y directamente en LabView.

    Tambin hay desarrollos independientes que permiten programar el NXT enlenguaje C (NXC y RobotC), JAVA y Lua.

    Debemos distinguir entre los programas que permiten que el robot opere en formaautnoma y los programas que pueden controlar el robot en forma remota, paraesta ltima forma hay tambin gran nmero de programas como MicrosoftRobotics Studio, C# ,Perl, JAVA, Ruby, etc. Tambin muchos de los desarrollosindependientes, citados anteriormente pueden operar al robot en forma remota.

    Nuestro primer programa

    Debemos desplazar nuestro robot, cuatro segundos hacia adelante.

    Inicie el programa NXT-G y contine hasta llegar a la pantalla ms abajo indicada.En esta pantalla elegiremos el bloque que tienelos engranajes(Move Block) y lodesplazaremos al rea de trabajo en laposicin de inicio (Start).

    Nos quedar conectado de laforma que se muestra en la figura.

    En la parte de inferior de la pantalla se encuentra elpanel de configuracin, el cual depende del bloqueseleccionado de nuestro programa, en este caso slohay un bloque por lo que el panel de configuracinmuestra los parmetros del bloque Move.

    Panel de configuracin del bloqueMove

  • 8/4/2019 FLL08_Guia de Robotica

    13/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 10

    Detalle de los parmetros:Puerta de salida, en este caso tenemos dos motores en B yen C.Sentido de Avance, hacia adelante.

    Volante, derecho

    Potencia, 75%

    Duracion, debemos elegir 4 segundos

    Siguiente accin, freno

    Finalmente nuestro programa debe quedar como muestra la figura, note que elbloque ahora muestra un reloj en lugar de un indicador de rotacin, ya que hicimosel cambio en el parmetro de duracin a 4 segundos.

    Ya tenemos nuestro programa y debemos bajarlo al NXT.

    En el controlador, vea figura de la izquierda, con el robot NXTencendido y conectado al computador, presionamos el botn NXT

    Window

    Ahora en el controlador presionamos el botn de Download, sacamos elcable USB, ponemos el robot en el suelo y presionamos el botn naranjo enel NXT.

  • 8/4/2019 FLL08_Guia de Robotica

    14/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 11

    Desafo 1

    Intente hacer que su robot avance durante 4 segundos y luego retroceda 4segundos.

    La solucin est en la pgina siguiente, trate de hacerlo sin ver la solucin.

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    15/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 12

    Solucin:

    Para realizar este desafo debemos, agregar otro bloque de movimiento a nuestroprograma y en el panel de configuracin, cambiar la direccin hacia atrs, tambin

    es necesario que la duracin sea 4 segundos.

    Desafo 2:

    Bien, ahora vamos a avanzar con nuestro robot, girar y regresar.

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    16/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 13

    Solucin:

    En este caso tenemos tres movimientos: avanzar por 4 segundos, girar un tiempoo una cantidad de rotaciones y regresar, que en realizad es avanzar nuevamente

    ya que el robot ha girado.

    En el bloque central, para el giro, hemos movido el volante para realizarlo, eneste caso (dadas las condiciones de la superficie y estado de la batera) elparmetro de la duracin se estableci en 0.83 rotaciones, puede que usted

    requiera modificarlo.

    En lugar de especificar la duracin en rotaciones intntelo con tiempo.

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    17/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 14

    Desafo 3

    El robot debe estacionarse en ellugar indicado, trate no pasar el ejede la calzada, ya que hay vehculosen sentido contrario circulando.

    Bonus:Hay un paso de cebra, intentedetenerse por dos segundos, antesde pasar.

    Ayuda: Para esperar por un tiempo determinado debemos utilizar el bloque deespera por tiempo:

    En nuestro caso el parmetro de control es eltiempo y las unidades debemos cambiarlas a 2segundos.

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    18/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 15

    Ayuda

    La opcin de ayuda, esta disponible enel programa, cada vez queseleccionamos un bloque, en la parteinferior derecha aparece una brevedescripcin de su funcin.

    Si necesitamos de ms ayuda podemospresionar More Help y obtendremos

    una completa descripcin del bloque.

    Hasta ahora hemos controlado el robot con parmetros de tiempo y distancia atravs de la rotacin de los motores. Para ver de que otras opciones disponemos,vamos a instalarle un sensor de tacto.

    Vaya a la pgina 40 paso 26 del manual y construya el soporte del sensor detacto, hasta la pgina 43,

    Importante: Instlelo en la parte frontal del robot no en la parte posterior comoindica el manual.

    El cable del sensor de tacto, instlelo en la puerta de entrada 1.

    Programa: Avance hasta chocar

    A diferencia del programa anterior,ahora nuestro bloque de control demovimiento, debe hacer que el robot dedesplace sin lmites, por lo que en elparmetro duracin elegiremosUnlimited.

    Bien, ahora tenemos que detener el robot cuando choque, para lo cualutilizaremos el bloque de espera, pero en lugar de especificar tiempo como en elprograma anterior, elegiremos sensor de tacto.

  • 8/4/2019 FLL08_Guia de Robotica

    19/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 16

    Sensor de Tacto

    Note que hemos seleccionado en el panel de configuracin del bloque de espera,los siguientes parmetros:

    Control Sensor

    Sensor Touch Sensor (sensor de tacto)

    Port 1, puerta a la cual conectamos el sensor

    Action Pressed, actuar al presionar el sensor

    Desafo 4

    El robot debe recorrer el circuito de la figura,los lados del rectngulo son desconocidos, elrectngulo exterior es una pared slida.

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    20/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 17

    Loops

    En la resolucin del problema, nos daremos cuenta que la misma secuencia serepite cuatro veces, para lado del rectngulo, por lo que vamos a introducir unnuevo bloque llamado loop, que nos permitir en este caso ejecutar en este casocuatro veces nuestra secuencia.

    En el panel de configuracin del bloque loop, debemos especificar los siguientesparmetros: ControlCount (Cuenta) y Until4 (4 veces).

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    21/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 18

    Ahora que contamos con ms herramientas, podemos realizar programas msentretenidos.

    Sensor de Luz

    Vamos a instalar el sensor de luz en la parte frontal de nuestro robot, primerodebemos sacar el sensor de tacto.

    Construya el soporte para el sensor de luz comenzado en la pgina 32 paso 22 denuestro manual, hasta el paso 23.

    Al igual que en el caso del sensor de tacto, queremos que elrobot avance hasta encontrar la lnea negra, en realidad esexactamente el mismo programa, slo debemos cambiar losparmetros del panel de configuracin del bloque de espera.

    Control Sensor

    Sensor Light Sensor (sensor de luz)Port 3, puerta a la cual conectamos el sensor

    Until < 50, Luz menor que 50

    Funtion Generate Light (luz reflejada)

    Para calibrar el sensor debemos medir la luz, en la superficie clara y tambien en lalnea negra, para ello utilizaremos la funcin View directamente en el NXT

    En el men principal, ViewReflectec lightPort 3 si la medicin sobre el colorclaro es 60 y sobre la lnea negra es 40, entonces elegimos 50, la idea es usar elpunto medio.

  • 8/4/2019 FLL08_Guia de Robotica

    22/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 19

    En realidad el robot se detiene porque el programa ha finalizado, pero si nuestroprograma tuviera ms bloques, el robot seguira avanzando (esto aplica tambin alejemplo con el sensor de tacto, por lo tanto debemos agregarle un bloque deparada a nuestro robot.

    Nuestro ltimo bloque de movimientodebe estar configurado para detenerse.

    Desafo 5

    Veamos una primera versin del conocido Siga la lnea

    Para seguir la lnea negra, ocuparemos unalgoritmo que nos permitir desplazarnos por elborde de la lnea, la idea es que cuando el robotest sobre la superficie clara, gire a la izquierda ycuando est sobre la lnea negra gire a laderecha. Mediante este movimiento de zig-zag,lograremos nuestro objetivo.

    Escribamos nuestro programa en un pseudo lenguaje, es decir con palabrascomunes y luego lo trasladaremos al lenguaje NXT-G

    Pseudo lenguaje Diagrama de flujo

    Gire a la izquierda

    Espere por color negro

    Gire a la derecha

    Espero por color blanco

    Vuelva a la primera instruccin

    Ciertamente nuestro programa no termina nunca, ms adelante solucionaremoseso problema.

  • 8/4/2019 FLL08_Guia de Robotica

    23/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 20

    Notas:

    Ya sabemos como programar los giros y la espera por color negro, para la esperapor color blanco slo tenemos que cambiar el signo menor , en elpanel de configuracin del bloque de espera.

    Y para que nuestra rutina se repita vamos a usar un loop infinito, lo cualdefinimos en el panel de configuracin del bloque loop.

  • 8/4/2019 FLL08_Guia de Robotica

    24/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 21

    Algunas ideas para salir del loop infinito

    Podemos cambiar, en el panel de configuracin del bloque de loop, el parmetrode control, por tiempo y determinar cuantos segundos necesitamos para terminar

    el circuito. (por ejemplo 4 segundos)

    Notas:

    Sensor de Sonido

    Otro mtodo ms interactivo, es usar el sensor de sonido, para lo cualconstruiremos su soporte, a partir de la pgina 24 paso 18.

    Entonces en el panel de configuracin del bloque loop, el parmetro de control

    ser el sensor de sonido, debe ajustar la sensibilidad para que opere cuando deuna orden en voz alta.

  • 8/4/2019 FLL08_Guia de Robotica

    25/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 22

    Sensor de Ultrasonido

    Utilizaremos el sensor de ultrasonido para medir la distancia a la cual nosencontramos de un objeto, el objeto debe ser capaz de reflejar el sonido,

    superficies rugosas o telas no reflejan muy bien el sonido.

    De la misma forma que en otros ejemplos, debemos realizar unprograma, para que nuestro robot avance hasta encontrarse a 20cm de la pared.

    Entonces comenzamos con el bloque de movimiento y esperamosa que la distancia sea menor que 20 cm, luego nos detenemos.

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    26/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 23

    Evaluando Condiciones

    El problema del bloque espere por, es que si la condicin de espera no se danunca, el programa no pasa al siguiente bloque, para evitar esta situacinutilizaremos la instruccin IF, que en el caso del programa NXT-G se llamaSwitch.

    Vamos a realizar el mismo programa anterior de la siguiente forma, preguntamospor la condicin del sensor de ultrasonido, si es menor que 20 cm, nos detenemosde lo contrario seguimos avanzando.

    Note que si tomamos el robot y lo alejamos,seguir avanzando hasta que la distancia seamenos a 20 cm.

    Para ver ms claramente la diferencia con el bloque espere por, demos lasiguiente condicin, el robot debe avanzar hasta 20 cm de la pared o hastaencontrar la lnea negra.

    Lo que hemos hecho es primero evaluar

    la condicin de distancia y luego lacondicin de luz, cualquiera de las dosque sea verdadera detendr el robot.

    Es importante notar que podemosanidar bloques Switch, decir poner unodentro de otro, tambin podemos anidarloops.

    Este programa no es posible realizarlocon los bloques espere por ya que

    quedamos a la espera de una condicineternamente.

  • 8/4/2019 FLL08_Guia de Robotica

    27/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 24

    Visualizacin y Sonido

    El bloque Display, nos permite visualizar en pantalla texto, imgenes y tambindibujar nuestros propios diseos.

    Veamos el bloque Display:

    En el panel de configuracin del bloque, tenemos varios parmetros quepermitirn la visualizacin en la pantalla:

    Action: Texto, Imagen o DibujoDisplay: BorrarFile: Lo que queremos mostrar en lapantalla

    Position: en que posicin

    Por ejemplo para ver ojos mirando a la izquierda,debemos realizar el siguiente programa, hemosaadido un bloque de espere por un segundo,para poder ver la imagen. (no olvide poner losparmetros en el panel de configuracin delbloque display.

    El bloque de Sonido, nos permite emitir voces, efectos y tambin tonos.

    En el panel de configuracin del bloque, tenemos varios parmetros

    determinaran que sonido se emitir.

    Action: Podemos elegir un sonido pre-grabado o un tono musical

    Control: Emitimos un sonido o loterminamos

    Volumen: Nivel del volumenFuncin: Podemos repetir un sonido

    File:Eleccin del sonido o tono si el parmetro Actionest en tone.

    Wait:Espera que se complete el sonido, o contina con

    el siguiente bloque.

  • 8/4/2019 FLL08_Guia de Robotica

    28/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 25

    Desafo 6

    Haga un programa que ejecute una escala musical y al final un aplauso de cierre.

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    29/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 26

    Administracin de Memoria

    Los sonidos y los grficos ocupan bastante memoria, por lo que no debemosabusar de ellos, los archivos quedan grabados en la memoria del NXT igual quelos programas, para hacer una limpieza debemos presionar en el Controlador elbotn NXT windows y luego seleccionar Memory.

    En este panel podemos hacer mantencin a la memoria del NXT

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    30/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 27

    Botones

    Los botones del NXT tambin pueden ser utilizados como controles de

    entrada para nuestro programa, con el ejemplo siguiente vamos ver enplenitud su utilidad.

    El programa debe mostrar en la pantalla unos ojos mirando a la izquierda o a laderecha cuando presionemos los botones grises claros(Triangulares) cuandopresionemos el botn anaranjado, el programa finaliza.

    Smbolo Descripcin Ingls Accin

    Botn de Entrada Enter Button Salir

    Botn Izquierdo Left Button

    Botn Derecho Righ Button

    Intente definir el panel de configuracin de cada bloque.

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    31/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 28

    Case

    Hasta ahora, los Switchs nos han permitido elegir entre dos alternativas, veremoscomo configurarlos para seleccionar mas posibilidades

    Veamos algo sencillo, elegiremos un nmero al azar entre 1, 2 y 3 y de acuerdo aestas alternativas lo desplegaremos en la pantalla.

    Nmero Pantalla

    1 Nmero 1

    2 Nmero 2

    3 Nmero 3

    Para elegir un nmero al azar utilizaremosel bloque Random, y definiremos el rangoentre 1 y 3

    Para configurar el Switch, debemos elegir los siguientesparmetros:Control Value(Valor)Type Number (Nmerico)DisplayDesactivar Flat View(representacin plana)Utilizando los smbolos de + para agregar y - para borrar

    debemos ingresar losdatos, para que quedecomo en la figura.

    El asterisco (*) se ocupa para definir la seleccin por defecto, es decir si al evaluarel nmero no es 1, 2 o 3, tomar ese camino.Note que ahora el bloque Switch tiene tres pestaas, al seleccionar la primeradebemos insertar la accin que deseamos para esa alternativa, en nuestro casouna pantalla con el texto Numero 1.

    luego seleccionamos lasegunda pestaa, ponemosotro pantalla, con el textoNumero 2.

    y repetimos para tercera pestaa.

  • 8/4/2019 FLL08_Guia de Robotica

    32/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 29

    Para finalizar el control de salida de nuestro programa ser el botn anaranjado.

    Trate de incorporar ms alternativas y sonido

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    33/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 30

    Data Hub

    Cada bloque posee un controlador de los parmetros que sesuperponen al panel de configuracin, este controlador dedatos (Data Hub) se expande posicionando el cursor en laparte inferior del bloque. Cada uno de los conectores puedenllevar informacin entre bloques, que puede ser numrica,lgica y de texto.

    Supongamos que queremos mostrar en la pantalla un nmero al azar entre 1 y 6,al revisar el concentrador del bloque pantalla, nos daremos cuenta que no tieneuna entrada numrica, por lo que tenemos que transformar el nmero a texto, lobueno es que si hay un bloque para este propsito.

    Para instalar los cables, slo ponga el cursoren el conector, aparecer un carrete haga unclick en el mouse y vaya al destino del cable yhaga nuevamente click.

    El color de los cables determina en tipo deinformacin que viaja por ellos, ver la ayuda enel programa para ms informacin.

    Puede automatizar este programa, para visualizar un nmeros al azar cada vezque se presione el botn derecho y finalizar el programa con el botn enter.Intentelo!

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    34/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 31

    Variables

    Ocuparemos las variables para almacenar datos y hacer uso de ellos durante elprograma.

    Para definir una variable, tenemos queseleccionarEditDefine Variable, en elmen principal.

    Luego, le podemos dar un nombre y defin eltipo de variable, numrica, lgica o texto.

    Luego en el programa o en el panel de configuracin debemosdefinir el valor que tomar, este operacin se llama grabarwrite, luego para utilizarla emplearemos un leer Read

    Panel de configuracin del bloqueVariable.

    El siguiente programa, elige un nmero al azar entre 0 y 100, el cual almacena enla variable Number 1, luego elige un segundo nmero al azar y revisa si soniguales, si lo son el programa termina.

    El bloque de comparacin nos permite en este caso determinar si losnmero son iguales

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    35/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 32

    Desafo 7

    Qu muestra en la pantalla durante 3 segundos este programa?

    Si no entiende algn bloque utilice la ayuda en lnea

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    36/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 33

    Cronmetros

    Medir tiempos es muy importante en algunas programas, para ello utilizaremos elbloque Timer.

    Hay tres cronmetros disponibles, y bsicamente podemos ponerlos encero (reset) y leerlos (read).

    Tambin es posible comparar el valor del cronmetro con unvalor y disparar una alarma.

    Desafo 8

    Necesitamos medir, cuanto se demora el robot desde una posicin determinada

    hasta una lnea negra.

    Programa

    Comenzar a medir el tiempo

    Poner en marcha el robot

    Esperar por encontrar la lnea negra

    Detener el robot

    Mostrar el valor del tiempo medido en pantalla

    Esperar 3 segundos, para visualizar el tiempo medido

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    37/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 34

    Solucin:

    El tiempo se mide en milsimas de segundo

    Desafo 9

    Modifique el programa anterior para que muestre en pantalla segundos y no

    milsimas de segundos

    Notas:

  • 8/4/2019 FLL08_Guia de Robotica

    38/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 35

    Multiprogramacin

    Algunas veces necesitamos que el robot realice ms de una funcinsimultneamente, veamos como implementarla

    Debemos posicionar el mouse en cualquiera de lasramas(arriba o abajo) de la viga de secuencia y con elbotn izquierdo delo mouse dibujumos una nueva viga desecuencia.

    Tambin es posible generar una viga de secuencia enmedio de un programa, en este caso posicione el mouseentre los bloques y presione la tecla shift.

    Es importante tener la precaucin de evitar los conflictos, por ejemplo en una ramapuedo programar que el robot avance y en la otra que retroceda, lo cualobviamente causar un problema.

    Veamos un ejemplo simple, el robot debe avanzar hasta encontrar la lnea negra,

    si no la encuentra en diez segundos una alarma sonar

    La secuencia superior, permite que el robot avancehasta la lnea negra y luego se detenga.La secuencia inferior, espera por diez segundos yemite una alarma.

    Tenemos un problema, ya que si el robot encuentra lalnea negra, antes de los diez segundos, igual sonar

    la alarma y por otro lado si se cumplen los diez segundos la alarma sonar pero elrobot seguir buscando la lnea negra.

    Para solucionar este problema pondremos alfinal de cada secuencia un bloque de paradaStop que termina la ejecucin de ambassecuencias, por lo tanto la que se cumplaprimero detendr la otra.

  • 8/4/2019 FLL08_Guia de Robotica

    39/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Versin 2.0 edubrick una empresa dedicada a la educacin entretenida Pgina 36

    Comunicaciones

    El robot se puede comunicar va Bluetooth con otros robot, previamente debenautorizarse y conectarse mediante el siguiente procedimiento.

    En el NXT Maestro que se comunicar con los otros NXT, seleccione en el menprincipal BluetoothSearch, cuando la bsqueda finalice seleccione el NXT con elcual se quiere comunicar y luego escoja el nmero de la conexin(1,2 o 3).

    La primera vez que lo haga, se le pedir que ingrese la clave en ambos NXT.

    Un NXT maestro puede conectarse con 3 NXT esclavos.

    Revisemos los bloques para enviar y recibir informacin

    Bloque para enviar informacin Send Message

    Connection: Indica a quin le enviar el mensaje. si es delMaestro puedo enviarle a los Escalavos 1,2 y 3.Si es de algn Esclavo debo usar la conexin 0.

    Message: Puede ser numrico, lgico o texto, se puedeincluir el mensaje en el panel de configuracindel bloque o en el concentrador

    Mailbox: Hay diez casillas disponibles y cada casillapuede almacenar hasta cinco mensajes,

    siempre se guarda los cinco ltimos

    Bloque para recibir informacin Receive Message

    Message: Puede ser numrico, lgico o texto, se puedeincluir un mesaje para disparar una alerta.

    Mailbox: Se debe especificar que casilla deseo leer.

  • 8/4/2019 FLL08_Guia de Robotica

    40/40

    eeeddduuubbbrrriiiccckkkwww.edubrick.cl

    Veamos un ejemplo bsico:

    El NXT maestro le enva un mensaje a un esclavo, de acuerdo a si el botnanaranjado este presionado(10) o no(10).

    El NXT esclavo recibe el mensaje y lo interpreta de la siguiente forma:

    Mensaje Recibido Pantalla

    0

    10

    Programa de NXT maestroDentro del loop infinito se ha

    instalado un switchcomandado por el botnanaranjado, cuando este seapresionado enviar un nmero 10 y un cero cuandono lo sea. Se muestra como se ha configurado elpanel del bloque enviar para enviar el nmero 10,de la misma forma se debe configurar el bloqueinferior,

    Programa de NXT esclavoEl loop interno monitorea la llegado de

    un mensaje cuando esto ocurre, se saledel loop y el swtich determina deacuerdo al nmero recibido si muestrauna bomba o el boom.

    Programe los NXT y haga variaciones y pruebas.