MAN.lab .TurtleBots
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&