Download - Libro de prácticas de entrenamiento RAES
Libro de prácticas de entrenamiento Curso de capacitación
(Versión 1.1)
Proyecto RAES 2009
Robótica Aplicada a la Enseñanza Secundaria
Promueve y Financia
Auspiciantes
Respaldo Académico y Organización
2
Índice
Índice .............................................................................................................................................. 2 Introducción ................................................................................................................................... 4
¿Qué es RAES? ...................................................................................................................... 4
Desarrollo del concurso .................................................................................................. 4
Robótica y robótica en la actualidad ....................................................................................... 4
Aplicación y educación en conocimientos ............................................................................. 5
Física .................................................................................................................................. 5
Matemática ......................................................................................................................... 5
Electrónica .......................................................................................................................... 5
Programación ...................................................................................................................... 5
LEGO® MINDSTORMS® NXT ........................................................................................... 6
Partes del Kit ...................................................................................................................... 6
Referentes mundiales.......................................................................................................... 7
De propósito general....................................................................................................... 7
Fuentes de programación ................................................................................................ 7
Fuentes para Bluetooth ................................................................................................... 7
NXT blogs ...................................................................................................................... 7
Práctica 1 ........................................................................................................................................ 8 Objetivos: ................................................................................................................................... 8 Materiales y requerimientos: ...................................................................................................... 8 Procedimiento: ........................................................................................................................... 8
Parte 1) ............................................................................................................................... 8
Parte 2) ............................................................................................................................. 10
Parte 3) ............................................................................................................................. 10
Parte 4) ............................................................................................................................. 10
Parte 5) ............................................................................................................................. 11
Práctica 2 ...................................................................................................................................... 14 Objetivos: ................................................................................................................................. 14 Materiales y requerimientos: .................................................................................................... 14 Procedimiento: ......................................................................................................................... 14
Acondicionamiento del NXT y PC para trabajar .................................................................. 14
Monitoreo ............................................................................................................................. 15
Primer Programa................................................................................................................... 16
Práctica 3 ...................................................................................................................................... 18 Objetivos: ................................................................................................................................. 18 Materiales y requerimientos: .................................................................................................... 18 Procedimiento: ......................................................................................................................... 18
Armado del Robot ................................................................................................................ 18
Experiencia con Sensores ..................................................................................................... 21
Sensor de Tacto ............................................................................................................... 21
Ejemplo sensor de tacto ................................................................................................ 21
Sensor de tacto - EJERCICIOS: ................................................................................... 21
Sensor de Luz .................................................................................................................. 22
Ejemplo sensor de luz: .................................................................................................. 23
Sensor de luz - EJERCICIOS: ...................................................................................... 23
3
Sensor de Sonido .............................................................................................................. 23
Ejemplo sensor de sonido: ............................................................................................ 24
Sensor de sonido - EJERCICIOS: ................................................................................ 24
Sensor Ultrasónico ........................................................................................................... 25
Ejemplo sensor de distancia: ........................................................................................ 25
Sensor de distancia - EJERCICIOS: ............................................................................. 26
Práctica Anexo ............................................................................................................................. 27 Objetivos: ................................................................................................................................. 27 Materiales y requerimientos: .................................................................................................... 27 Procedimiento: ......................................................................................................................... 27
Reset del bloque NXT y actualización del firmware ............................................................ 27
Funciones avanzadas ............................................................................................................ 28
Calibración ....................................................................................................................... 28
Ejemplo calibración: ..................................................................................................... 28
Keep Alive ........................................................................................................................ 28
Reset de Motor ................................................................................................................. 28
Acceso a Archivos ............................................................................................................ 29
Comunicación Bluetooth de NXT a NXT ............................................................................ 30
Send message ................................................................................................................... 30
Receive message ............................................................................................................... 30
Ejemplo de comunicación Bluetooth: ........................................................................... 31
4
Introducción
Bienvenidos al libro de prácticas de RAES. El objetivo de este documento es ayudar y guiar al
alumno en el entendimiento y uso del KIT LEGO® MINDSTORMS® NXT. A través del formato de
prácticas se verán los aspectos más importantes del kit NXT: utilización del bloque NXT, periféricos y
software.
¿Qué es RAES? La Facultad de Ingeniería de la Universidad ORT, organiza el proyecto RAES con el apoyo de la
Agencia Nacional de Investigación e Innovación, Microsoft Uruguay y el Instituto Tecnológico CTC. El
objetivo de esta actividad es la promoción de las nuevas tecnologías entre los jóvenes, mediante la
participación en una actividad teórica, práctica y lúdica.
Desarrollo del concurso
Esta actividad constará de tres fases: capacitación, entrenamiento y competencia sobre la base
del robot del kit Lego Mindstorm NXT.
Capacitación
Los estudiantes recibirán capacitación por parte de docentes de la Universidad ORT en el uso del
robot del kit Lego Mindstorm NXT. Es en esta etapa del concurso en la cual los estudiantes encontrarán
útil este documento.
Entrenamiento
Esta fase estará dedicada al diseño, pruebas y apoyo por parte de los docentes a cada grupo en la
preparación para la competencia.
Competencia
Los grupos participarán en una competencia como culminación del trabajo, pudiendo de esta
forma probar los conocimientos adquiridos en el transcurso de la actividad.
Robótica y robótica en la actualidad La Robótica es la ciencia y la tecnología de los robots. Se ocupa del diseño, manufactura y
aplicaciones de los robots. La robótica combina diversas disciplinas como son: la mecánica, la
electrónica, la informática, la inteligencia artificial y la ingeniería de control. Otras áreas importantes en
robótica son el álgebra, los autómatas programables y las máquinas de estados.
Un robot se define como una entidad hecha por el hombre con un cuerpo y una conexión de
retroalimentación inteligente entre el sentido y la acción directa no bajo del control humano. Sin embargo,
se ha avanzado mucho en el campo de los robots con inteligencia alámbrica.
Las acciones de este tipo de robots son generalmente llevadas a cabo por motores o actuadores
que mueven extremidades o impulsan al robot. Así mismo, el término robot ha sido utilizado como un
término general que define a una máquina mecánica o autómata, que imita a un animal, ya sea real o
imaginario, pero se ha venido aplicado a muchas máquinas que reemplazan directamente a un humano o
animal en el trabajo o el juego. Esta definición podría implicar que un robot es una forma de
biomimetismo.
Fuente: Wikipedia.
5
Aplicación y educación en conocimientos Cuando diseñamos, programamos e implementamos un robot, estamos utilizando conocimientos
tanto de física, matemática, electrónica y programación. En RAES nuestro objetivo final es lograr que los
estudiantes aprendan en forma lúdica estos conocimientos.
Física Veremos en forma práctica aplicaciones en el área de la mecánica, ondas ultrasónicas, reflexión
y otros.
Matemática Será una herramienta básica en todo momento.
Electrónica Veremos a través de los señores y motores del KIT LEGO® MINDSTORMS® NXT conceptos de
instrumentación y medida de valores, tratamiento de señales, conversión análogo-digital y otros.
Programación En el nuevo NXT podemos programar en todos los niveles de abstracción de nuestro interés;
tanto por medio de una interfaz de bloques sencilla, para la utilización de alumnos que se inserten en
conceptos de programación; programación orientada a objetos (LEJOS, Lego Java Operation System);
programación en bajo nivel (C), programación del lado del hardware (assembler sobre el ARM7 ATMEL
microcontroller).
6
LEGO® MINDSTORMS® NXT Partes del Kit
7
Referentes mundiales
De propósito general
LEGO® MINDSTORMS® http://www.mindstorms.com
Página oficial de MINDSTORMS®
NXTLOG http://www.mindstorm.com/nxtlog
Un espacio libre donde los usuarios del NXT exponen sus ideas y robots
Fuentes de programación
NBC and NXC http://bricxcc.sourceforge.net/nbc
NBC Debugger for NXT http://www.sorosy.com/lego/nxtdbg
BricxCC http://bricxcc.surceforge.net
Fuentes para Bluetooth
MINDSTORMS Bluetooth Resources http://www.mindstorm.com/bluetooth
NXT Bluetooth Compatibility List
http://www.vialist.com/users/jgarbers/NXTBluetoothCompatibilityList
NXT blogs
The NXT STEP http://www.thenxtstep.com
Nxtasy.org http://www.nxtasy.com
bNXT http://www.bnxt.com
Fuente: THE UNOFFICIAL LEGO MINDSTORMS NXT INVENTOR´S GUIDE
Autor: david l. perdue
8
Práctica 1 Objetivos:
Introducirse en el funcionamiento del bloque NXT.
a. Conocer las opciones de monitoreo que contiene.
b. Realizar nuestro primer programa lógico.
Introducirse en el armado de robots.
a. Se conocerán las piezas de kit Lego NXT, sus engranajes, uniones, etc. Se
Implementará el primer robot con movilidad Lego NXT.
Materiales y requerimientos: Piezas Lego NXT
Bloque Lego NXT
Motores Lego NXT
6 baterías AA
Firmware de lego original y actualizado funcionando en el bloque. (Ver práctica anexo para
instrucciones de instalación)
Procedimiento: Parte 1)
Coloque las baterías al bloque NXT.
Encienda el bloque presionando el botón naranja central. Observe que existe una barra superior
que nos muestra variada información:
Nombre asignado al bloque NXT
Estado de la comunicación Bluetooth
Nivel de carga de las baterías
9
Navegue en el menú del bloque NXT hasta encontrar la opción Try Me. Seleccione dicha opción
presionando el botón naranja central. Observará un listado de aplicaciones de prueba para cada sensor
disponible. Seleccione la opción del Try-Touch.
Observará el siguiente mensaje en el display:
Este mansaje muestra en qué puerto debe conectarse el sensor de tacto para hacer la prueba,
conecte el sensor mediante un cable de datos como muestra en la figura. Presione el sensor y vea el
resultado en el display.
Número de sensor asignado
10
Parte 2) En el menú principal del bloque NXT ingrese en la opción View. Luego seleccione la opción
Motor degrees, seleccione el Puerto A y conecte un servo motor en el Puerto A como se muestra en la
siguiente figura.
Ahora mueva el motor en forma manual y observe lo ocurrido en el display del bloque NXT.
Parte 3) Realice en forma análoga las pruebas para los sensores disponibles:
- Motor rotations, discuta con sus compañeros la diferencia entre este caso y la opción Motor
degrees
- Touch
- Ultrasonic cm
- Ultrasonic inch, discuta con sus compañeros la diferencia entre este caso y la opción Ultrasonic
cm
- Sound dB
- Sound dBA, discuta con sus compañeros la diferencia entre este caso y la opción Sound dB
- Reflected ligth
- Ambient ligth, discuta con sus compañeros la diferencia entre este caso y la opción Reflected
ligth
Observe que existen otras opciones marcadas con un asterisco (*); Rotation*, Temperature oF*, Temperature
oC*, Light Sensor*. Estas opciones refieren a sensores que no integran el Kit básico
de LEGO NXT. Estos sensores pueden ser comprados aparte. Investigue en la página oficial de LEGO® MINDSTORMS® sobre las características de estos sensores.
Parte 4) Arme un robot móvil con 2 motores tal que pueda desplazarse hacia delante, atrás y girar.
Agregue el sensor de luz en forma perpendicular al piso a no más de 2 cm de distancia. Y finalmente
agregue el sensor de distancia en forma horizontal para detectar objetos delante del robot.
Ver documento: rapidbot.pdf
11
Parte 5) Ingrese en la opción “NXT Program” del menú principal.
Observará un listado de asignaciones para cada sensor y motor, conecte los sensores y motores
como es descripto:
Presione el botón naranja central. Observará que tiene una cadena de 5 cuadrados. En estos
cuadrados debe ingresar comandos que el robot realizará
.
En el primer y tercer cuadrados podemos ingresar comandos como:
Forward
Prende los motores y pasa al siguiente comando.
Forward 5
Prende los motores y espera 5 segundos antes de pasar al
siguiente comando.
Turn right
Enciende lo motores en dirección contraria logrando hacer
girar el robot y pasa al siguiente comando
Cadena de comandos Indicador del comando que
estamos ingresando
12
Turn right 2
Enciende los motores en dirección contraria logrando hacer
girar el robot y espera 2 segundos antes de pasar al siguiente
comando.
En el segundo y cuarto cuadrados podemos ingresar comandos como:
Empty
No realiza ninguna acción y pasa al siguiente comando.
Wait 2
Espera 2 segundos antes de pasar al siguiente comando.
Object
Espera a detectar un objeto cercano por el sensor ultrasónico
antes de pasar al siguiente comando.
Sound
Espera a recibir un sonido fuerte en el micrófono antes de
continuar al siguiente comando.
Dark
Espera a detectar poca luminosidad en el sensor de luz antes
de continuar al siguiente comando.
Ligth
Espera a detectar una gran luminosidad en el sensor de luz
antes de pasar al siguiente comando.
Touch
Espera a detectar que se presiona el sensor de tacto antes de
pasar al siguiente comando.
Finalmente en el quinto cuadrado tenemos la opción de terminar el programa con el comando
Stop
Termina el programa.
Loop
Vuelve a comenzar desde el primer cuadro.
Pruebe las siguientes combinaciones y discuta con sus compañeros qué realizará el robot antes de
ponerlo en funcionamiento:
Programa 1.
Forward
Wait 2
Turn rigth 2
Empty
Loop
13
Programa 2.
Forward
Object
Back rigth 2
Empty
Loop
Programa 3, Coloque el robot la pista del Kit y codifique el siguiente programa.
Forward
Ligth
Tone 1
Empty
Stop
14
Práctica 2
Objetivos:
Introducirse en el funcionamiento del bloque NXT con el LEGO® MINDSTORMS® NXT Software.
a. Conectar el bloque NXT al PC vía USB.
b. Conocer las opciones de monitoreo que contiene el LEGO® MINDSTORMS® NXT Software sobre el bloque NXT.
c. Realizar un primer programa lógico sobre el PC.
d. Observar las distintas formas de bajar el programa al bloque NXT y ejecutarlo.
Materiales y requerimientos: Kit Lego NXT completo
Cable USB
PC con el LEGO® MINDSTORMS® NXT Software instalado
6 baterías AA
Firmware de lego original y actualizado funcionando en el bloque. (Ver práctica anexo para
instrucciones de instalación)
Procedimiento:
Acondicionamiento del NXT y PC para trabajar
Instale el LEGO® MINDSTORMS® NXT Software que obtiene en el KIT LEGO NXT. Abra el
programa MINDSTORMS NXT haciendo doble clic sobre el ícono que se encuentra en el escritorio de su
PC.
Se desplegará la siguiente ventana:
Para conectar el bloque NXT a un PC existen 2 formas; por medio de un cable USB (que será el
método utilizado en este curso) y vía Bluetooth.
15
Conecte el bloque NXT como muestra en la figura y el otro extremo del cable al PC
Encienda el bloque NXT y observe que muestra que tiene una conexión USB:
Monitoreo Podrá observar el estado en cualquier instante de algunos valores del bloque desde el PC, para
lograr este monitoreo cree un nuevo programa haciendo clic en el siguiente ícono.
Para consultar la ventana de estado del bloque NXT presione el botón que se señala en la
siguiente imagen:
Se mostrará una ventana con varias propiedades del bloque NXT. En el margen derecho tenemos
la zona NXT Data que muestra el nombre del bloque y el voltaje que presenta la batería, el espacio libre
en memoria y la versión del Firmware.
16
En la solapa Memory observará cómo están distribuidos los archivos guardados en la memoria
del bloque NXT con sus respectivos nombres y peso(1)
.
Es posible también monitorear el estado de cada sensor y motor desde el software, esto lo
veremos en la práctica 3.
Primer Programa
El Primer programa consistirá en mostrar en el display del NXT la frase: “HOLA MUNDO”.
Para ello no es necesario realizar el armado del Robot. Simplemente utilizar el bloque y el PC.
Para logar este programa simplemente arrastre los bloques Display y Wait de la barra de
bloques.
La barra de bloques se encuentra a la izquierda de su pantalla y tiene tres solapas las cuales
lograrán organizar los bloque en tres vistas: Common, Complete y Custom.
La vista Common muestra los bloques más comunes, la vista Complete muestra todos los
bloques que podemos utilizar en nuestra NXT y la vista Custom permitirá ver bloques extra que podrán
ser creados por uno mismo u obtenidos de la web.
El bloque Display mostrará varias opciones, seleccione la opción Text y escriba “HOLA
MUNDO”
peso(1): El peso de un archivo es el tamaño que ocupa en memoria, se mide en bytes. En el caso del NXT lo veremos en KB (kilo
bytes).
17
Para el bolque Wait seleccione la opción NXT Buttons
Presione el botón Download and run y observe lo ocurrido.
Otra forma
Otra forma de ejecutar el programa es enviar el programa al bloque NXT y luego ejecutarlo
desde el mismo bloque eso se puede hacer mediante el botón Download:
18
Práctica 3
Objetivos:
Introducirse en el armado de robots basándose en los tutoriales que ofrece el LEGO® MINDSTORMS® NXT Software.
Conocer el funcionamiento de cada uno de los sensores que compone el Kilt Lego NXT
realizando experiencias individuales con cada uno de ellos.
Materiales y requerimientos:
Kit Lego NXT completo
Cable USB
PC con el LEGO® MINDSTORMS® NXT Software instalado
6 baterías AA
Firmware de lego original y actualizado funcionando en el bloque. (Ver práctica anexo para
instrucciones de instalación)
Procedimiento:
Armado del Robot
Para ésta práctica se utilizará como Robot base el descripto en el tutorial del LEGO® MINDSTORMS® NXT Software como TriBot que se encuentra en la sección de Vehicles. Al mismo se
le agregarán todos los sensores que componen el Kit Lego NXT.
Abra el programa LEGO® MINDSTORMS® NXT Software haciendo doble click sobre el ícono
que se encuentra en el escritorio de su PC luego de haberlo instalado.
La barra que se encuentra a nuestra derecha tiene dos solapas: Robo Center y My Portal.
My portal es un espacio online donde tenemos conexión directa con el centro de Lego
MINDSTORMS donde se publican actualizaciones, eventos, software y armado a modo de tutorial y
descarga directa.
19
Robo Center es una buena opción para nuestros comienzos en el armado de robots. Contiene
tutoriales para el armado paso a paso de robots estándar del tipo, vehículos, máquinas, animales y
humanoides.
Comencemos armando el TriBot para ello seleccione Vehicles y luego Go como se muestra en
la figura a continuación.
Para la construcción de la base de cada uno de los sensores se debe seguir la guía de los ítems
que se indican en la siguiente imagen.
Dumper: Base para el sensor de Presión.
Grabber: Pinzas.
Sound Control: Base para el sensor de Sonido.
Light Sensor: Base para el sensor de Luz.
Locate Object: Base para el sensor Ultrasónico
20
Finalmente obtendremos nuestro TriBot.
21
Experiencia con Sensores
Sensor de Tacto
Para poder comandar el sensor de tacto ir a Complete Pallete y seleccionar Touch Sensor, tal
como se muestra en la siguiente imagen.
Para visualizar los parámetros del bloque hacer clic en la parte inferior del bloque. Para ingresar
la configuración del sensor de tacto, simplemente seleccionar el bloque y modificar la ventana de
configuración que se despliega en la parte inferior izquierda de la pantalla.
Ejemplo sensor de tacto
Mueva el Robot en línea recta tal que al chocar con un tope detenga su marcha. No utilice los
motores en su máxima potencia.
Sensor de tacto - EJERCICIOS:
Discuta con el profesor y compañeros los siguientes puntos:
- Introducción al concepto de LOOP
1) Ejercicio: Realice el ejercicio anterior utilizando el bloque LOOP.
Discuta con el profesor y compañeros los siguientes puntos:
- Introducción al concepto de PARÁMETROS (cables)
- Introducción al concepto de conversión de tipos (texto a número, utilizando el bloque Number
to Text)
22
2) Ejercicio: Muestre en pantalla el valor numérico que envía el sensor al bloque NXT (cable
amarillo). Para ello observe la tabla de cables:
Asignación de cables:
[A] Entrada
[B] Salida
[C] Dato numérico (amarillo)
[D] Dato lógico (verde)
[E] Dato tipo texto (naranja)
[F] Cable erróneo (gris)
Tabla de asignaciones de cables para el sensor de tacto:
Sensor de Luz
Para poder comandar el sensor de luz ir a Complete Pallete y seleccionar Light Sensor, tal
como se muestra en la siguiente imagen.
Para visualizar los parámetros del bloque hacer clic en la parte inferior del bloque. Para “setear”
la configuración del mismo realizar los mismos pasos que en el sensor de tacto.
23
Ejemplo sensor de luz:
Observe el valor numérico mostrado por el sensor y el valor de intensidad para los colores
primos. Observe la diferencia con el generador de luz encendido y apagado.
Sensor de luz - EJERCICIOS:
Discuta con el profesor y compañeros los siguientes puntos:
- Introducción al concepto de CONDICIONAL (Bloque Switch)
1) Ejercicio: Mostrar una “carita feliz” cuando el valor del sensor de luz supere el 50% de lo
contrario muestre una “carita triste”.
Discuta con el profesor y compañeros los siguientes puntos:
- Introducción al concepto de VARIABLES y COMPARACIONES numéricas.
2) Ejercicio: Leer un valor de color y luego realizar el ejercicio anterior pero comparando con el
color inicialmente obtenido.
Sensor de Sonido
Para poder comandar el sensor de tacto ir a Complete Palette y seleccionar Sound Sensor, tal
como se muestra en la siguiente imagen.
24
Para visualizar los parámetros del bloque hacer clic en la parte inferior del mismo. Para “setear”
la configuración del sensor proceder de la misma manera que los sensores detallados anteriormente.
Ejemplo sensor de sonido:
Este ejemplo muestre el valor numérico e intensidad del sensor.
Sensor de sonido - EJERCICIOS:
Discuta con el profesor y compañeros los siguientes puntos:
- Introducción al manejo matemático de variables (Bloque Math)
1) Ejercicio: Realice un contador de aplausos, desplegando la cantidad de aplausos que registre el
sensor de sonido.
Discuta con el profesor y compañeros los siguientes puntos:
- Introducción al concepto de ALGOTIRMOS (obtención del máximo).
2) Ejercicio: Muestre el máximo valor obtenido por el sensor de sonido durante 10 segundos.
25
Sensor Ultrasónico
Para poder comandar el sensor de tacto ir a Complete Pallete y seleccionar Ultrasonic Sensor,
tal como se muestra en la siguiente imagen.
Para visualizar los parámetros del bloque hacer clic en la parte inferior del mismo. Para “setear”
la configuración del sensor proceder de la misma manera que los sensores detallados anteriormente.
Ejemplo sensor de distancia:
Muestre el valor numérico mostrado por el sensor y el valor de intensidad.
26
Sensor de distancia - EJERCICIOS:
Discuta con el profesor y compañeros los siguientes puntos:
- Introducción al concepto de MULTIPROSESO
1) Ejercicio: Agregue otro proceso que movilice el NXT hacia delante buscando una pared, al
encontrarla debe moverse paralelo a ella.
Discuta con el profesor y compañeros los siguientes puntos:
- Introducción al concepto de ENCAPSULAR
2) Ejercicio: Realice el ejercicio anterior encapsulando el código que muestra el valor del sensor
en un bloque propio.
27
Práctica Anexo
Objetivos:
Mostrar la opción de “reset” de bloque y cómo bajar el firmware al bloque NXT.
Conocer funcionalidades avanzadas: Keep alive, Calibrate, File Access, Reset Motor.
Comunicación vía Bluetooth de NXT a NXT.
Materiales y requerimientos:
Kit Lego NXT completo
Cable USB
PC con el LEGO® MINDSTORMS® NXT Software instalado
6 baterías AA
Firmware de lego original y actualizado funcionando en el bloque. (Ver práctica anexo para
instrucciones de instalación)
Procedimiento:
Reset del bloque NXT y actualización del firmware En algunos casos nos vemos forzados a borrar por completo los datos del el bloque NXT sea por
respuestas no deseadas, utilización de otro firmware o actualizaciones. Al “resetear” el bloque NXT este
borrará toda su memoria.
Este procedimiento se realiza presionando con un objeto fino el botón de reset, como muestra la
figura
Luego de “resetear” el bloque NXT es recomendable instalar nuevamente le firmware al bloque
NXT. Esto se logra conectando el bloque a un PC y, en el LEGO® MINDSTORMS® NXT Software seleccionar la opción que muestra la figura.
28
Funciones avanzadas
Calibración El bloque de calibración es un elemento esencial para obtener buenos resultados de los sensores
de luz y sonido. El bloque de calibración muestra las opciones valores máximos y mínimos a calibrar y el
sensor en cuestión.
Ejemplo calibración:
En el archivo Calibracion.rbt se muestra un ejemplo de cómo calibrar el señor de luz para
detectar correctamente la diferencia entre el color blanco y negro. Este ejemplo también guarda el valor
del un color gris. Luego muestra en que color se encuentra leyendo el sensor de luz.
Keep Alive El bloque Keep Alive evita que el robot entre en modo de descanso si pasó mucho tiempo
esperando un comando o una comunicación. No recibe parámetros y puede comunicarse con otros
bloques reportando el tiempo que faltaría para que el robot entre en modo de descanso.
Reset de Motor
El bloque de reset de motor evita que los motores corrijan el número de rotaciones según lo
especificado.
Los servo-motores del kit NXT tienen un sistema de corrección de giro que les permite girar
exactamente el número de vueltas especificado por la programación por más que la acción siguiente sea
“coast” (dejar el motor suelto). Si no se quisiera este grado de exactitud, o se quisiera dejar el motor girar
suelto (por ejemplo bajando una rampa) se debe desactivar el control de rotación de los motores, ubicando
el bloque de Reset de Motor luego de una acción de rotación que termine en “coast”.
Se le puede indicar a qué motor afecta en sus propiedades.
29
Acceso a Archivos
El bloque de acceso a archivos funciona de una manera muy similar al bloque de acceso a
variables. Permite leer o editar variables con la característica de que los valores de las mismas se
mantendrán luego de apagar el robot. Permite leer, escribir o eliminar variables, ya sean texto o
numéricas.
Al escribir un archivo este se crea si no existía anteriormente o se edita agregando los nuevos
datos al archivo. Siempre que se haga una acción sobre un archivo, este se debe cerrar (mediante la cuarta
función del bloque) antes de realizar otra acción. Si se quisiera sustituir el contenido de un archivo en
lugar de agregar la información se debe primero eliminar el archivo y luego escribir sobre él.
Si el kit NXT se encuentra conectado a la PC mientras se está desarrollando el programa, en
lugar de escribir el nombre del archivo se permite seleccionarlo de la memoria del robot eligiéndolo de
una lista.
30
Comunicación Bluetooth de NXT a NXT Bluetooth, es una especificación para Redes Inalámbricas de Área Personal (WPANs) que
posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por
radiofrecuencia segura. Los principales objetivos que se pretenden conseguir con esta norma son facilitar
las comunicaciones entre equipos móviles y fijos, eliminar cables y conectores entre éstos, ofrecer la
posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de datos entre nuestros
equipos personales.
En nuestro caso mostraremos como comunicar un robot NXT con otro.
Pare ello veremos 2 bloques que presenta nuestro LEGO® MINDSTORMS® NXT Software: Send message El bloque Send Message logra enviar mensajes por bluetooth, para ello debemos setearle el
mailbox en el cual recibiremos el mensaje.
Receive message
El bloque recibe message es el que recibe el mensaje, debemos configurar el mailbox del cual
queremos recoger el valor.
31
Ejemplo de comunicación Bluetooth:
Realice un contador que incremente a cada vez que se presione el botón central del NXT 1.
Despliegue en el NXT 2 el contador actualizado del NXT 1.
Procedimiento:
Encienda la opción Bluetooth en los 2 bloques NXT. En el NXT1 seleccione la opción de
Bluetooth como visible. En el NXT2 busque los dispositivos en el área de alcance Bluetooth y seleccione
el dispositivo NXT1 para conectar.
En el NXT1 ejecute el siguiente programa:
Y en el NXT2 ejecute el siguiente programa:
Proyecto RAES
Robótica Aplicada en la Enseñanza Secundaria
Ing. Daniel Goldenberg
Universidad ORT Uruguay