MAN.lab .TurtleBots

download MAN.lab .TurtleBots

of 15

Transcript of MAN.lab .TurtleBots

  • 8/17/2019 MAN.lab .TurtleBots

    1/15

    Programando con TurtleBots

    Programación con TurtleBots para Lego NXT

     Autor  Fabiana Pedrini

    Versión Fecha   03/03/15

    Ubicación  Plan Ceibal – Laboratorios Digitales

  • 8/17/2019 MAN.lab .TurtleBots

    2/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    Índice

    TurtleBots para Lego NT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3"en#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3Blo$ues!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%

    Blo$ues de NT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&"otores!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&'ensores!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(

    )*emplos!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!10

    +btener el ,alor de un sensor!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!10Probar el -uncionamiento de un sensor !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11)ncender motores asincr.nicos!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11Detecci.n de ob*eto !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1tiliar teclado para controlar al robot!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1

    Control de cambios!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1&"odi-icaciones!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1&2e,isiones!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1&

    "N!LB!Tortugarte4Lego Pgina de 1&

  • 8/17/2019 MAN.lab .TurtleBots

    3/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    TurtleBots para Lego NXT

    TurtleBots es una cti,idad desarrollada por Facultad de 6ngenier7a a partir de la cti,idadTortugarte8 $ue permite la programaci.n de los distintos 9its de rob.tica entregados por PlanCeibal!

    Men

    )n el "en# podremos encontrar las siguientes -unciones:

    !cono Descripción

     Archi"o#$ Permite ;uardar el arc

  • 8/17/2019 MAN.lab .TurtleBots

    4/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    ()ecutar#$ Permite e*ecutar el programa de dos -ormas:

    A 2pida cone*oA Paso a paso caracol

    Parar#$ Permite parar la e*ecuci.n de un programa! )ste7cono s.lo aparece cuando el programa se encuentrae*ecutando!

    (scon*er#$ )sconde los blo$ues de la pantalla deprogramaci.n = la paleta!

     A+u*a#$ Brinda a=uda al usuario! Para ello debe seleccionarla paleta de la $ue desea tener in-ormaci.n = luegoseleccionar la opci.n a=uda!

    ()e&plos#$ Permite seleccionar e*emplos precargados deTortugarte!

    ,alir#$ Permite salir de la cti,idad!

    Blo'ues

     l seleccionar la opci.n de Blo$ues se despliega un submen# con las distintas paletas

    !cono Descripción

    Co&an*os *e la tortuga#$ Permite el mo,imiento de latortuga!

    Plu&a#$ Blo$ues $ue permiten a la tortuga de*ar un rastro!

    "N!LB!Tortugarte4Lego Pgina % de 1&

  • 8/17/2019 MAN.lab .TurtleBots

    5/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    Clores#$ Permite seleccionar un color para el rastro $ue de*ela tortuga al usar la pluma!

    -pera*ores nu&.ricos#$ Proporciona blo$ues conoperadores num?ricos = l.gicos para realiar laprogramaci.n!

    -pera*ores *e /lu)o#$ n operador de -lu*o de-inido por elusuario permite de-inir el procesamiento personaliado delos -lu*os de e,entos!

     Variables#$ Permite la creaci.n de subrutinas = ,ariables!

    ,ensores#$ Blo$ues de sensores proporcionados por lalaptop o para la generaci.n de los mismos!

    Me*ios#$ Permite la interacci.n entre el programa = elusuario8 la cmara o arc

  • 8/17/2019 MAN.lab .TurtleBots

    6/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    Blo'ues *e NXT 

    Para controlar el robot de Lego NT encontraremos dentro de la pesta@a de rob.tica dos paletaspara su programaci.n:

    !cono Descripción

    Motores#$ Permite el control de los motores = reproducci.nde sonidos del controlador!

    ,ensores#$ Blo$ues $ue permiten el control de los sensores!

    Motores

     l iniciar el programa los blo$ues de control se encontrarn de color gris como muestra lasiguiente imagen!

    Para poder utiliar los blo$ues es necesario tener conectado al puerto 'B el controlador prendido8

    arrastrar el blo$ue de re-rescar NTE al rea de programaci.n como muestra la imagen! na ,ereconocido el controlador los blo$ues cambiaran a color ,erde!

    Dentro de la paleta de "otores de NT podremos encontrar los siguientes blo$ues:

    !cono Descripción

    0e/rescar NXT#$ 2econoce al controlador conectado!

    "N!LB!Tortugarte4Lego Pgina & de 1&

  • 8/17/2019 MAN.lab .TurtleBots

    7/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    NXT#$ )stablece el dispositi,o de NT actual!

    N&ero *e NXTs#$ De,uel,e el n#mero de dispositi,osNT!

    No&bre *el bric1#$ +btiene el nombre del NT!

    0epro*ucir tono#$ 2eproduce un tono en cierta -recuenciapor un tiempo determinado!

    2irar &otor#$ Permite el mo,imiento de un motor en elpuerto determinado8 con una cantidad de rotaciones en unapotencia!

    Nota: La potencia puede ser entre A1( = 1(8 el signodetermina el sentido del mo,imiento del motor!

    ,incroni3ar &otores#$ Permite el mo,imiento sincroniadode los motes $ue se encuentren conectados en los puertos B= C por una cantidad de rotaciones = potencia determinada!

    ,incroni3ar &otores#$ Permite el mo,imiento sincroniadode los motes $ue se encuentren conectados en los puertos B= C a una potencia determinada!

    Puertos#$ Blo$ues para conectar en la descripci.n delpuerto dependiendo de donde se encuentre conectado el

    motor en el controlador!Nota: Tambi?n se puede escribir la letra del blo$ue en ladescripci.n del puerto!

    4niciar &otor#$ 6nicia el mo,imiento del motor por siempreconectado en el puerto seleccionado!

    "N!LB!Tortugarte4Lego Pgina de 1&

  • 8/17/2019 MAN.lab .TurtleBots

    8/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    Frenar &otor#$ Frena un motor espec7-ico!

    Nota: )s recomendable siempre tener este blo$ue en el reade programaci.n cuando se utilian los blo$ues $ue inicianpor siempre el mo,imiento del motor!

    0einiciar &otor#$ 2einicia el contador del motor!

    Posición *el &otor#$ +btiene la posici.n del motor!

    ,ensores

    !cono Descripción

    ,ensor *e Lu3#$

    ,ensor *e escala *e grises#$

    ,ensor *e botón o tacto#$ De,uel,e el ,alor 0 si el sensorno se encuentra presionado = 1 en caso de estar presionado!

    ,ensor *e *istancia#$ "ide una distancia entre 0 a 55cm!

    ,ensor *e soni*o#$

    ,ensor *e color#$Nota: '.lo se encuentra disponible en el 9it de Lego NT !0

    Puertos#$ Blo$ues para conectar en la descripci.n delpuerto dependiendo de donde se encuentre conectado elsensor en el controlador!

    Nota: Tambi?n se puede escribir el n#mero en el blo$ue enla descripci.n del puerto!

    "N!LB!Tortugarte4Lego Pgina ( de 1&

  • 8/17/2019 MAN.lab .TurtleBots

    9/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    Ni"el *e bater5a#$ +btiene el ni,el de bater7a en mili,otls!

    Color co&o lu3#$ tilia el sensor de color como sensor delu!

    Nota: '.lo se encuentra disponible en el 9it de Lego NT !0

    Pren*er lu3#$ Prende la lu del sensor de color!

    Nota: '.lo se encuentra disponible en el 9it de Lego NT !0

    "N!LB!Tortugarte4Lego Pgina G de 1&

  • 8/17/2019 MAN.lab .TurtleBots

    10/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    ()e&plos

      continuaci.n algunos e*emplos $ue eHpli$uen las coneHiones = -unciones de los blo$ues

    -btener el "alor *e un sensor 

    Para obtener el ,alor de un sensor es necesario utiliar el blo$ue imprimirE $ue se encuentra en lapaleta de adicionales

    )s necesario $ue el programa siempre se intente obtener el ,alor8 $uedando la programaci.n de lasiguiente -orma!

    Donde imprime en pantalla el ,alor del sensor de distancia conectado al puerto 1!

    "N!LB!Tortugarte4Lego Pgina 10 de 1&

  • 8/17/2019 MAN.lab .TurtleBots

    11/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    Probar el /unciona&iento *e un sensor 

    )n este e*emplo mostraremos como saber si un sensor se encuentra -uncionando!

    Para ello la programaci.n $ue $ueremos realiar es $ue siempre detecte el uso del sensor debot.n o tacto8 = en caso de presionarlo $ue reproduca un sonido!

    (ncen*er &otores asincrónicos 

    )n este e*emplo mostraremos c.mo encender primero un motor = luego otro conectado a otropuerto!

    "N!LB!Tortugarte4Lego Pgina 11 de 1&

  • 8/17/2019 MAN.lab .TurtleBots

    12/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    Detección *e ob)eto 

    tiliaremos el sensor de distancia para poder detectar un ob*eto!

    La programaci.n inicia los dos motores de -orma sincr.nica = en caso del sensor de distanciaconectado al puerto % detecte un ob*eto a una distancia menor a 15 cm este se detiene!

    Utili3ar tecla*o para controlar al robot 

    )n el e*emplo $ue ,eremos a continuaci.n se programar el control del robot utiliando el teclado!

    1! rrastrar el blo$ue de consulta de tecladoI $ue se encuentra dentro de la paleta de'ensores

    ! )ncastrar el con*unto de blo$ues $ue aparecieron en el rea de programaci.n luego dearrastrar el blo$ue de consulta de tecladoE en un blo$ue de acci.n $ue se encuentra en lapaleta de >ariables! )l blo$ue de acci.n permite la creaci.n de subrutinas $ue luegopueden ser llamadas recursi,amente desde el programa principal8 una ,e $ue se asigneun nombre a dic

  • 8/17/2019 MAN.lab .TurtleBots

    13/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    el blo$ue acci.n creado anteriormente $ue nombramos buscar TeclaE disponible en lapaleta de >ariables!

    Notar $ue el blo$ue de acci.n tiene la caracter7stica $ue en la parte superior tiene unapunta indicando $ue es el blo$ue de comieno de subrutina!

    3! )l -in del programa es controlarlo con las teclas del teclado para ello ,amos a designar $ueletras ,amos a utiliar = cul ,a a ser la -unci.n $ue cumpla cada uno:

    •  aE: )ncender los motores conectados a los puertos B = C de -orma sincroniadacon los motores girando en sentido

  • 8/17/2019 MAN.lab .TurtleBots

    14/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    %! )n la primera condici.n es necesario $ue cumpla $ue si se presiona la tecla aE el robota,ance! Para ello se debe:

    • 6gualar la tecla aE utiliando el blo$ue de teHto $ue se encuentra en la paleta deblo$ues "edios a el blo$ue teclado disponible en la paleta de 'ensores

    • Dentro de dic

  • 8/17/2019 MAN.lab .TurtleBots

    15/15

    Programando con TurtleBots

    Plan Ceibal – Laboratorios Digitales

    &! 2ealiar las llamadas a las subrutinas dependiendo de la letra $ue se presione

    "N!LB!Tortugarte4Lego Pgina 15 de 1&