Upload
andrea-rublev
View
219
Download
0
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.