contenido · efectivamente, no solo con el nombre de las piezas podemos identificarlas, además...

114
Material para Curso y Talleres de Robótica Pedro Fonseca Solano Universidad Nacional – Costa Rica Página 1 Contenido Conceptos sobre Robótica .................................................................................................................. 5 Conociendo la piezas del LEGO MINDSTORMS NXT............................................................................ 7 Clasificación de las piezas.................................................................................................................... 8 Medida de las piezas ........................................................................................................................... 8 Componentes Electrónicos ................................................................................................................. 9 El ladrillo NXT .................................................................................................................................. 9 Conectando la tecnología NXT ...................................................................................................... 10 Baterías recargables ...................................................................................................................... 12 El programa NXT-G ............................................................................................................................ 13 Administración de archivos y Memoria del NXT ............................................................................... 16 La memoria del NXT .................................................................................................................. 17 Falta de espacio en memoria ................................................................................................... 17 Eliminación de todos los archivos ............................................................................................ 17 Liberación del máximo de memoria posible ........................................................................... 18 Restauración de la memoria de un NXT y vuelta al estado predeterminado de fábrica . 20 Copia y creación de copias de seguridad de archivos almacenados en el NXT.............. 20 Envío de archivos al NXT .......................................................................................................... 20 Viga de Secuencia.............................................................................................................................. 21 Actualización del Firmware ............................................................................................................... 23 Reinstalación del firmware adquirido con el producto................................................................. 24 Mi primer Programa .......................................................................................................................... 26 Calibrar Sensores............................................................................................................................... 32 Uso de la función Calibrar sensores .............................................................................................. 32 Calibración de un sensor de luz..................................................................................................... 33 Calibración de un sensor sonido ................................................................................................... 33 Más información ........................................................................................................................... 34 Restauración de los valores de calibración predeterminados ...................................................... 34 Sensores ............................................................................................................................................ 35 Sensor de Tacto ............................................................................................................................. 35 Sensor de sonido ........................................................................................................................... 38

Upload: letram

Post on 05-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 1

Contenido Conceptos sobre Robótica .................................................................................................................. 5

Conociendo la piezas del LEGO MINDSTORMS NXT............................................................................ 7

Clasificación de las piezas .................................................................................................................... 8

Medida de las piezas ........................................................................................................................... 8

Componentes Electrónicos ................................................................................................................. 9

El ladrillo NXT .................................................................................................................................. 9

Conectando la tecnología NXT ...................................................................................................... 10

Baterías recargables ...................................................................................................................... 12

El programa NXT-G ............................................................................................................................ 13

Administración de archivos y Memoria del NXT ............................................................................... 16

La memoria del NXT .................................................................................................................. 17

Falta de espacio en memoria ................................................................................................... 17

Eliminación de todos los archivos ............................................................................................ 17

Liberación del máximo de memoria posible ........................................................................... 18

Restauración de la memoria de un NXT y vuelta al estado predeterminado de fábrica . 20

Copia y creación de copias de seguridad de archivos almacenados en el NXT .............. 20

Envío de archivos al NXT .......................................................................................................... 20

Viga de Secuencia .............................................................................................................................. 21

Actualización del Firmware ............................................................................................................... 23

Reinstalación del firmware adquirido con el producto ................................................................. 24

Mi primer Programa .......................................................................................................................... 26

Calibrar Sensores ............................................................................................................................... 32

Uso de la función Calibrar sensores .............................................................................................. 32

Calibración de un sensor de luz..................................................................................................... 33

Calibración de un sensor sonido ................................................................................................... 33

Más información ........................................................................................................................... 34

Restauración de los valores de calibración predeterminados ...................................................... 34

Sensores ............................................................................................................................................ 35

Sensor de Tacto ............................................................................................................................. 35

Sensor de sonido ........................................................................................................................... 38

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 2

Sensor ultrasónico ......................................................................................................................... 41

Sensor de Luz................................................................................................................................. 43

Motores y sensor de rotación ....................................................................................................... 45

Otros sensores................................................................................................................................... 50

Accesorios ......................................................................................................................................... 51

Conociendo las piezas de Lego .......................................................................................................... 52

Conectores de bloques .................................................................................................................. 52

Ejes ................................................................................................................................................ 52

Clavijas ........................................................................................................................................... 52

Agujero en cruz ............................................................................................................................. 52

Elementos Misceláneos ..................................................................................................................... 53

Vigas .................................................................................................................................................. 53

Engranajes ......................................................................................................................................... 54

Máquinas ........................................................................................................................................... 54

Máquinas Simples ............................................................................................................................. 54

Máquinas Compuestas o Complejas ............................................................................................. 57

Piñón recto ................................................................................................................................ 57

Máquina de Jansen.................................................................................................................... 58

Ciclos ................................................................................................................................................. 59

Ciclo Forever .................................................................................................................................. 60

Ciclo Time ...................................................................................................................................... 61

Ciclo Count .................................................................................................................................... 62

Ciclo Logic ...................................................................................................................................... 63

Ciclos controlados por sensores ........................................................................................................ 65

Ciclo controlado por sensor de tacto ............................................................................................ 65

Ciclo controlado por sensor de sonido.......................................................................................... 66

Ciclo controlado por sensor de Luz ............................................................................................... 67

Ciclo controlado por Botones ........................................................................................................ 69

Ciclo controlado por sensor de Rotación ...................................................................................... 71

Ciclo controlado por sensor de Ultrasónico .................................................................................. 72

Ciclo controlado por sensor de Color ............................................................................................ 73

Ciclo controlado por Recibir Mensaje vía BlueTooth .................................................................... 75

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 3

Variables ............................................................................................................................................ 76

Creación de variables .................................................................................................................... 76

Uso de las variables ....................................................................................................................... 76

Configuración del bloque Variable ................................................................................................ 77

Intercambio de información entre un programa y Mi bloque ...................................................... 78

Configuración del concentrador de datos del bloque Variable .................................................... 78

Cómo pasar datos desde la toma de entrada hasta la toma de salida ..................................... 79

Los cables de datos transportan tipos de datos específicos ..................................................... 79

Colores de los cables de datos .................................................................................................. 79

Cables de datos "averiados"...................................................................................................... 79

Los datos deben estar comprendidos en el intervalo posible de la toma ................................ 79

Esta tabla muestra las diferentes características de las tomas del

concentrador de datos del bloque Variable: ............................................................ 80

Rangos ............................................................................................................................................... 81

Motores ............................................................................................................................................. 83

Cables de Datos (Data Wires) ............................................................................................................ 85

Cables de datos Dañados .......................................................................................................... 89

Proceso de Solución de problemas en robótica ................................................................................ 94

Anexos ............................................................................................................................................... 95

Teclas rápidas o atajos ...................................................................................................................... 96

Paleta Común .................................................................................................................................... 97

Paleta Completa ................................................................................................................................ 98

Paleta Personalizada ......................................................................................................................... 99

Tamaño de los ejes .......................................................................................................................... 100

Paleta de colores para detección .................................................................................................... 101

Menús del ladrillo NXT .................................................................................................................... 102

......................................................................................................................................................... 102

Menús del ladrillo NXT continuación .............................................................................................. 103

Menús del ladrillo NXT continuación .............................................................................................. 104

Five Minutebot con rueda libre ....................................................................................................... 105

1 Motores, llantas, ejes y buges .................................................................................................. 105

2 Vigas y clavijas .......................................................................................................................... 106

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 4

3 Colocando Batería Recargable o Baterías convencionales ...................................................... 107

4 Clavijas de 5 orificios y clavija dobles ....................................................................................... 107

5 Chasis y rueda libre .................................................................................................................. 109

5 Vista completa de rueda libre y chasis ..................................................................................... 113

6 Cableado de motores ............................................................................................................... 113

Bibliografía ...................................................................................................................................... 114

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 5

Conceptos sobre Robótica

Una máquina puede hacer el trabajo de 100 hombres normales, pero ninguna máquina puede hacer el trabajo de un hombre extraordinario. Elbert Hubbard (Filósofo y escritor norteamericano).

La palabra Robot viene de la palabra checa robota, que significa trabajo.

El diccionario Webster define a un robot como un dispositivo automático que efectúa funciones

ordinariamente asignadas a los seres humanos. Con esta definición, se puede considerar que las

lavadoras son robots.

Una definición utilizada por IRA, (Instituto de Robótica Americano), da una descripción más precisa

de los robots industriales:

“Un robot es una manipulador reprogramable multifuncional diseñado para mover materiales,

piezas o dispositivos especializados, a través de movimientos programados variables para la

realización de una diversidad de tareas”.

En suma un robot es una manipulador reprogramable de uso general con sensores externos que

pueden efectuar diferentes tareas de montaje.

Con esta definición el robot debe poseer “inteligencia”, que se debe normalmente a los

algoritmos de computador asociados con un sistema de control y sensorial. K.S. Fu, et al. (1988).

Un robot industrial es un manipulador de uso general controlado por computador que consiste en

algunos elementos rígidos conectados en serie mediante articulaciones prismáticas o de

revolución. El final de la cadena esta fijo a una base o soporte, mientras el otro extremo está libre

y equipado con una herramienta para manipular objetos o realizar tareas de montaje. K.S. Fu, et

al. (1988).

El movimiento de las articulaciones resulta en, o produce, un movimiento relativo de los distintos

elementos. Mecánicamente, un robot se compone de un brazo y una muñeca más una

herramienta. Se diseña para alcanzar una pieza de trabajo localizada dentro de su volumen de

trabajo(Mundo del robot). El volumen de trabajo es la esfera de influencia de un robot cuyo brazo

puede colocar el submontaje de la muñeca en cualquier punto dentro de la esfera. El brazo

generalmente se puede mover con tres grados de libertad (6 o más). La combinación de

movimientos posiciona la muñeca sobre la pieza de trabajo. La muñeca consta normalmente de

tres movimientos giratorios. La combinación de estos movimientos orienta a la pieza de acuerdo a

la configuración el objeto, para facilitar su recogida. Estos tres últimos movimientos se

denominan a menudo, elevación (pitch), desviación (yaw) y giro (roll). Por tanto, para un robot

con 6 articulaciones, el brazo es el mecanismo de posicionamiento, mientras que la muñeca es el

mecanismo de orientación. Estos conceptos se ilustran para el robot Cinncinatti Milacron T3

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 6

(TheTomorrowTool) y el Robot PUMA Unimation, que se muestran en la siguientes figuras. K.S. Fu,

et al. (1988).

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 7

Conociendo la piezas del LEGO MINDSTORMS NXT

En el Lego MINDSTORMS, encontraremos docenas de diferentes tipos de piezas y en diferentes

cantidades dependiendo del KIT o equipo que usted use. Por lo que es muy importante realizar

una revisión de mismas, este caso usaremos el kit 9797.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 8

Clasificación de las piezas

Realizando una vista general,podemos decir que las piezas del Lego, las podemos clasidicar en 5

grandes clases: Electrónicas, Conectores, Elementos misceláneos, Vigas y Engranajes.

Las piezas se nombraran individualmente, con el fin de facilitar la comunicación, pero hay casos

en los que es un poco difícil determinar el nombre porque una pieza puede llamarse de varias

maneras, por ejemplo: viga, ladrillo o bloque o palanca, por tanto la idea es poder identificarlas

para su uso de la manera, en que mejor las podamos reconocer, sin perder de vista su función, lo

que en algún momento nos ayudará a estandarizar sus nombres. Pero en todo caso, si usted

inventa sus propios nombres, no se preocupe siga adelante.

Medida de las piezas

Efectivamente, no solo con el nombre de las piezas podemos identificarlas, además debemos

tomar en consideración su tamaño, por ejemplo, en el caso de las vigas, sino no conoces el

tamaño de la viga, ¿cuál es la que realmente necesitas? También otro criterio que nos ayudará a

reconocer las piezas es el color.

La vigas las podemos llamar como un módulo de x, donde x es el número de agujeros redondos en

la viga y corresponde a la medida del módulo.

El número de hoyos circulares en una viga o pieza, corresponde al número de módulo

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 9

Componentes Electrónicos El ladrillo NXT, tiene varios componentes electrónicos, como se muestra en la siguiente figura:

A continuación se describe, cada uno de los componentes indicados:

El ladrillo NXT

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 10

El ladrillo NXT es el cerebro del robot LEGO MINDSTORMS®. Se trata de un controlador-

computador, que posee7 puertos, 4 para entradas de sensores y 3 para motores además de un

puerto de conexión USB.

Conectando la tecnología NXT

Para conectar los motores NXT, use uno de los 6 cables negros. Conecte un extremo al

motor y el otro extremo al puerto (A, B, o C) de acuerdo con su criterio.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 11

En la figura, se muestra la forma correcta de conectar los cables a los puertos A, B, o C. El cable tiene un guía que le indica inequívocamente como acoplar el conector al puerto y al motor. En el caso de los sensores, observe que el ladrillo tiene 4 puertos, y los conectores de los cables son los mismos, así que no hay forma de equivocarse. NOTA, no conecte un sensor a un puerto de motores, porque podría quemarlo.

El puerto USB, nos permite comunicar al computador y al ladrillo NXT. También puede ser por bluetooth (BT), pero es más sencilla por cable, debido a que en el caso del BT, se debe configurar, la emisión y recepción de la señal, además de establecer la conexión con una contraseña.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 12

Baterías recargables La batería recargable se coloca en la parte de abajo del ladrillo NXT y calza perfectamente en el lugar donde van las baterías AA. Para instalar la batería recargable, de quitar primero la tapa plástica, presione la cerradura de plástico de la tapa, esto hará que la tapa se puede jalar hacia arriba.

Observe que a batería, tiene una cerradura de plástico, al igual que la tapa de las baterías AA. Coloque primero la guía de plástico y luego presione suavemente hacia abajo, para que la batería recargable que montada adecuadamente.

Esta batería, se recarga con un transformador, particular, NO USE NINGÚN OTRO TIPO DE TRANSFORMADOR, que no sea el que viene con el equipo, porque el ladrillo se quema y es la pieza más cara del equipo.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 13

El programa NXT-G

Pantalla de inicio del programa, para continuar debe hacer un clic en la opción créate new

program (Crear un programa nuevo) que le llevará a la siguiente pantalla, usted puede empezar a

conocer las diferentes partes que componen el entorno de programación del lenguaje NXT-G.

En el caso de la opción Open recent program (abrir programa reciente) usted puede seleccionar el

programa que haya hecho anteriormente y los puede cargarlo.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 14

El menú de barras , contiene las diferentes opciones File, Edit, Tools y Help y sus submenús que

nos permiten realizar diferente tareas con el software

Las paletas (Common y Complete) muestras los diferentes bloques de función que se pueden

arrastrar / soltar en el área de trabajo;

El área de trabajo es donde arrastramos los diferentes bloques para crear nuestro programa.

El panel de configuración presenta las opciones que se pueden ajustar cuando se selecciona un

bloque en el área de trabajo;

El controlador se usa para compilar el programa y transferirlo al robot ya por conexión USB con

cable o inalámbrico por medio de Bluetooth);

El Centro Robot es el lugar donde se encuentran algunos tutoriales, sobre la construcción y

programación de modelos, se trata de 4 categorías principales de robot que puede ser construido

con Lego Mindstorms NXT (vehículos, máquinas, animales y un robot humanoide)

La ayuda en línea contiene vínculos a páginas de Lego MindStorms, con información variada que

te ayudará en la construcción y programación de robots de este tipo.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 15

La ayuda contiene un índice que te permite conocer todos los diferentes elementos que

componen el lenguaje NXT-G, selecciona en el área de trabajo un bloque y en la ayuda te dará

información completa acerca del bloque que elegiste.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 16

Administración de archivos y Memoria del NXT

En ocasiones es necesario gestionar los archivos y la memoria del NXT. Esta tarea se

puede realizar obteniendo acceso a la ficha Memoria de la ventana del NXT que se abre

presionando el botón superior izquierdo del controlador.

La ficha Memoria de la ventana del NXT proporciona una visión general gráfica del uso

de la memoria del NXT. Desde esta ventana también puede enviar programas, sonidos,

gráficos y otros archivos al NXT desde un ordenador, y copiar y eliminar archivos que

se encuentran en el NXT.

1. Visión general gráfica de la memoria en uso y la disponible.

2. Diferentes categorías de archivos (programas, sonidos, gráficos u otros) que

ocupan la memoria del NXT. Si hace clic en el nombre de una categoría, se

visualizarán los archivos de este tipo en la lista.

3. Lista de archivos de la categoría seleccionada actualmente.

4. Eliminar. Este botón elimina del NXT los archivos seleccionados.

5. Descargar. Este botón descarga archivos desde su ordenador al NXT.

6. Cargar. Este botón copia los archivos seleccionados desde el NXT a su

ordenador.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 17

7. Eliminar todos los archivos de usuario. Este botón borra todos los archivos de

usuario y vacía la memoria del NXT.

8. Mostrar archivos de sistema. Si activa esta casilla, se mostrarán todos los

archivos del NXT instalados de fábrica.

La memoria del NXT

Cada NXT tiene una memoria disponible de unos 130,7 kilobytes. Parte de esta

memoria se utiliza para almacenar programas de muestra y archivos gráficos y de

sonido que ya están cargados en el dispositivo NXT al adquirirlo. Por lo tanto, quedan

56 kilobytes libres para los archivos que cree y descargue.

Falta de espacio en memoria

Si se queda sin espacio en la memoria puede eliminar alguno o todos los archivos del

NXT. Para ello, examine la visión general gráfica situada a la izquierda (1) e identifique

qué tipos de archivos ocupan más memoria. Haga clic en el nombre de la categoría (2)

y podrá visualizar los archivos en la lista. Seleccione los archivos que no necesita en la

lista y haga clic en el botón Eliminar.

Eliminación de todos los archivos

Puede borrar todos los archivos que ha creado y vaciar la memoria del NXT haciendo

clic en el botón Eliminar todos los archivos de usuario. De este modo, todos los

archivos que se enviaron al NXT en algún momento se eliminan y la memoria se

reorganiza para dejar el máximo espacio disponible para los nuevos archivos. Esta

acción no elimina ninguno de los archivos de sistema que ya vienen cargados en el

NXT de fábrica.

Nota: En alguna ocasión puede que visualice un mensaje de error por falta de

memoria, incluso cuando la visión general gráfica de la memoria (1) indique que

hay espacio libre disponible. Esto ocurre a causa de la "fragmentación" de la

memoria. Solucione este problema utilizando el botón Eliminar todos los archivos de

usuario, pero asegúrese de hacer copias de seguridad de los archivos importantes

antes de presionarlo.

También puede eliminar archivos utilizando los iconos del propio NXT. Para más

información, consulte la sección Tecnología NXT de la Guía del usuario impresa.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 18

Liberación del máximo de memoria posible

Si al eliminar sus archivos de usuario no se libera suficiente memoria, también puede

eliminar los archivos de demostración y ejemplos que el NXT tiene precargados. Estos

archivos son archivos de sistema y ocupan unos 62 kilobytes. Los archivos de sistema

incluyen el sonido de inicio y otros sonidos, además de los programas de demostración

y Pruébeme.

En cualquier momento puede restaurar la memoria del dispositivo NXT y volver al

estado predeterminado de fábrica (con todos los archivos de sistema) restaurando el

firmware. Véase "Restauración de la memoria de un NXT..." más adelante.

Para eliminar archivos de sistema, active la casilla Mostrar archivos de sistema (8).

Luego seleccione una categoría de archivos (2) y elija los archivos de sistema que

desea quitar (3). Haga clic en Eliminar para cada archivo que desee borrar de la

memoria.

Nota: Si borra archivos de sistema obtiene más espacio en la memoria pero al

mismo tiempo elimina funciones del NXT. Sin embargo, no puede "averiar" el NXT

eliminando archivos de sistema.

A continuación se muestra una lista de archivos de sistema y las funciones que

habilitan:

Categoría Nombre de

archivo

Descripción

Otros NVConfig.sys En este archivo se guardan configuraciones como el

modo suspendido o el volumen. Si elimina este archivo,

se creará uno nuevo automáticamente.

Try-*.rtm Cualquier archivo cuyo nombre empiece por "Try-" es un

programa Pruébeme para un sensor o una salida

específicos. Si elimina alguno de estos archivos se

eliminará un programa Pruébeme del menú Pruébeme

del NXT.

RPGreader.sys Este programa le permite ejecutar programas del NXT

(programas creados en el propio NXT mediante el icono

Programa del NXT). Si elimina este archivo, eliminará la

posibilidad de ejecutar programas creados en el NXT. Los

programas creados y descargados desde un ordenador

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 19

seguirán funcionando.

*.tmp Cualquier archivo cuyo nombre termine en ".tmp" es un

archivo temporal. Los archivos temporales se pueden

eliminar siempre.

*.bak Cualquier archivo cuyo nombre termine en ".bak" es un

archivo temporal. Los archivos temporales se pueden

eliminar siempre.

Gráficos faceopen Imagen de una cabeza pequeña (con la boca abierta) de

LEGO, utilizada en los programas Pruébeme.

faceclosed Imagen de una cabeza pequeña (con la boca cerrada) de

LEGO, utilizada en los programas Pruébeme.

Sonidos Woops Archivo de sonido utilizado en los programas Pruébeme.

Si elimina este archivo, eliminará el sonido de los

programas en los que se utiliza. Los programas seguirán

funcionando sin el sonido.

! Startup Archivo de sonido reproducido cuando el NXT se inicia. Si

elimina este archivo, eliminará el sonido de inicio.

! Click Archivo de sonido reproducido cuando se presiona un

botón del NXT. Si elimina este archivo, eliminará el

sonido al presionar un botón del NXT.

! Attention Archivo de sonido reproducido cuando el NXT emite una

advertencia. Si elimina este archivo, elimina el sonido de

las advertencias.

Programas Demo Programa de demostración y ejemplos para el modelo

Inicio rápido (Quick Start). Si elimina este archivo,

eliminará el programa de muestra del NXT.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 20

Restauración de la memoria de un NXT y vuelta al estado predeterminado

de fábrica

Puede restaurar la memoria de un NXT y volver al estado predeterminado de fábrica

reinstalando el firmware del NXT. Para más detalles acerca de esta operación, véase el

tema de Ayuda "Actualización del firmware del NXT". Tenga en cuenta que al reinstalar

el firmware del NXT se eliminarán todos los archivos de la memoria del NXT. Asegúrese

de crear copias de seguridad de los archivos personales que desea guardar antes de

proceder.

Copia y creación de copias de seguridad de archivos almacenados en el

NXT

Para crear una copia de seguridad de los archivos personales o compartir con amigos

los archivos guardados en el NXT, debe copiar los archivos del NXT al ordenador.

Para ello, seleccione primero la categoría de archivos (2) de los archivos que desea

compartir o para los que desea crear una copia de seguridad. Seleccione los archivos

de la lista (3) y haga clic en Cargar (7). Finalmente, seleccione la carpeta donde desea

guardar los archivos en su ordenador y haga clic en Aceptar.

Envío de archivos al NXT

Para enviar un archivo al NXT, haga clic en el botón Descargar (5). Seleccione el

archivo de su ordenador que desea copiar y haga clic en Aceptar.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 21

Viga de Secuencia

En todos los lenguajes de programación existe un editor para escribir nuestros programas, como el NXT MINDSTORMS es un lenguaje orientado a gráficos, bajo la metáfora de las piezas Lego, el punto de partida es una viga y a partir de aquí construimos nuestros programas, arrastrando los bloques y soltándoles a partir de la viga de secuencia.

La viga de secuencia controla el flujo del programa. Indica la secuencia en la que los bloques de programación se ejecutarán. Los bloques conectados a la viga de secuencia se pueden descargar al NXT. Los bloques situados en la zona de trabajo pero no conectados a la viga de secuencia no se descargarán y pueden ocasionar un error al tratar de descargaros al ladrillo NXT.

Observe bien, cuando selecciona el icono del bloque mover motor,

aparece un indicador en blanco, que nos dirige hacia donde podemos poner el bloque, una vez detectado soltamos el bloque para que se acomode en su lugar, es la mejor practica para crear las secuencias de programación.

Puede utilizar el punto de partida para crear vigas de secuencia adicionales para que el programa ejecute tareas simultáneamente. Por ejemplo, puede hacer que la viga de secuencia principal del programa controle el desplazamiento del robot hacia adelante y que la viga de secuencia secundaria controle un brazo robótico colocado encima del robot.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 22

Cree una viga de secuencia paralela colocando el puntero del mouse encima del punto de partida (o del cabo del cable), presionando el botón del mouse y manteniéndolo presionado mientras mueve el mouse hacia arriba o hacia abajo. De este modo se obtendrá una viga de secuencia que puede conectarse a los bloques de programación. Al descargar y ejecutar el programa, los bloques de las dos vigas de secuencia se ejecutarán en paralelo. Puede utilizar cables de datos para que los bloques de las dos secuencias se comuniquen entre ellos.

También puede crear una viga de secuencia nueva más adelante en el programa (es decir, que no empiece en el punto de partida). Esto se realiza manteniendo presionada la tecla Mayúscula y moviendo el puntero del mouse hacia arriba o hacia abajo desde una posición de la viga de secuencia principal.

Aunque es posible, esta técnica cuando somos principiantes puede resultar peligrosa y en ocasiones en que nuestra máquina tiene limitaciones de memoria, puede ocasionar que nuestro programa se dañe y no lo podamos descargar al ladrillo.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 23

Esto lo debemos evitar a toda costa, no podemos dejar partes sin seguir la secuencia correspondiente, como se muestra en la imagen anterior, ese fragmento de programa no sirve, nunca se podrá ejecutar, y lo negativo de esto es que pueda que nos frustremos al no poder realizar una tarea simple, recuerde que en programación debemos ser pacientes y cuando algo no funciona es que algo no lo estamos haciendo bién, o también si mi máquina no es los suficientemente robusta para correr el programa.

Actualización del Firmware

El firmware es software incluido en el NXT desde la fábrica. Sin el firmware, el NXT no podría controlar los motores, obtener información de los sensores ni funcionar en general. En ocasiones, LEGO Group puede lanzar versiones nuevas del firmware que agregan funciones mejoradas o solucionan errores detectados en el software. Si actualiza el firmware de su NXT e incorpora la versión más reciente, puede beneficiarse de la tecnología más moderna y mejorar el rendimiento y la fiabilidad de su NXT. El firmware es muy fácil de actualizar. En primer lugar, seleccione Actualizar firmware del NXT... (Update NXT Firmware...) en el menú Herramientas. Se abrirá el cuadro de diálogo Actualizar firmware del NXT (Update NXT Firmware), que se muestra en la imagen siguiente.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 24

Asegúrese primero de encender y conectar el NXT. Si está conectado a Internet, puede comprobar si hay actualizaciones del firmware disponibles presionado el botón Comprobar actualizaciones en línea (Check Online Updates). El software de LEGO MINDSTORMS NXT buscará en MINDSTORMS.com la versión más reciente del firmware.

Reinstalación del firmware adquirido con el producto Si el NXT deja de funcionar por cualquier motivo, pruebe de reinstalar el firmware que adquirió con el producto. Será necesario reiniciar el NXT antes de proceder a la reinstalación. Si desea obtener más ayuda acerca de cómo reiniciar el NXT, consulte “Solución de problemas” ("Troubleshooting") en la Guía del usuario impresa. Después de reiniciar el NXT, siga las instrucciones indicadas anteriormente para reinstalar el firmware que adquirió con el producto.

Nota: Asegúrese de revisar las baterías del NXT antes de reinstalar cualquier firmware. Algunos problemas pueden ser simplemente consecuencia de que las baterías estén gastadas.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 25

En algunas ocasiones, cuando hemos usado otro firmware como LeJOS (LEGO JAVA Operating System ), o RobotC, versión de C, para los NXT, el proceso de reinstalación del firmware puede tardar más tiempo del esperado, y normalmente el ladrillo NXT emite un pitido suave como cuando de golpean dos canicas, tenga paciencia, después de un tiempo se restablecerá el firmware sin problema y nuestro ladrillo estará listo.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 26

Mi primer Programa

Haz un clic en el punto de partida, ahpi puede escribir una nota en el panel de

configuración y ésta se guardará con el programa. Es para crear algún tipo de

documentación que nos ayuda a recordar que hace el programa.

Éste es el punto de partida de todos los programas. Los bloques conectados al punto

de partida se descargarán al NXT cuando utilice el controlador para seleccionar

Descargar, Descargar y ejecutar o Descargar y ejecutar la Selección.

Puedes usar el diseño del

Five MinuteBot de la página

105, constrúyelo y prueba

este programa, o

simplemente conecta Los

motores a os puertos C y B

Revisa que las características

del los motores sean como

las de grafico de izquierda

Enciende el ladrillo y descarga el programa

Cuanto se movió el robot?

Haz las pruebas que quieras modificando los parámetros de

Dirección, Steering (manivela), Poder, Rotaciones, Sin límite,

Grados y Segundos, que te vayas familiarizando con el la

causa y efecto de las instrucciones. Recuerda que cada

modificación para que tenga efecto, debes volver a descargar

el programa.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 27

También puede utilizar el punto de partida para crear vigas de secuencia adicionales

para que el programa ejecute tareas simultáneamente. Por ejemplo, puede hacer que

la viga de secuencia principal del programa controle el desplazamiento del robot hacia

adelante y que la viga de secuencia secundaria controle un brazo robótico colocado

encima del robot.

Cree una viga de secuencia paralela colocando el puntero del mouse encima del punto

de partida (o del cabo del cable), presionando el botón del mouse y manteniéndolo

presionado mientras mueve el mouse hacia arriba o hacia abajo. De este modo se

obtendrá una viga de secuencia que puede conectarse a los bloques de programación.

Al descargar y ejecutar el programa, los bloques de las dos vigas de secuencia se

ejecutarán en paralelo. Puede utilizar cables de datos para que los bloques de las dos

secuencias se comuniquen entre ellos.

También puede crear una viga de

secuencia nueva más adelante en el

programa (es decir, que no empiece en el

punto de partida). Esto se realiza

manteniendo presionada la tecla

Mayúscula y moviendo el puntero

perpendicularmente desde una posición

de la viga de secuencia principal.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 28

Este ejemplo muestra como podemos

programa la botonera del NXT, con tres

ciclos que se ejecutaran en paralelo y los

botones de la derecha y la izquierda

mueven el motor A hacia adelante o hacia

atrás y el boton de centro, lo que hace es

que detiene el motor

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 29

Bloque de Bifurcación o Switch Valor Valor posible

Lógico

Numérico

Texto

Si deselecciona la casilla de verificación "Vista plana" Flat view, el bloque Bifurcación

utilizará una interfaz de fichas para mostrar las secuencias alternativas de bloques de

programación. Si hace clic en una ficha, puede ver y editar los bloques y observar qué

condición hará que estos bloques en concreto se ejecuten.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 30

Valor Valor posible

Numérico

Texto También se pueden usar etiques o valores de tipo texto para el switch.

Se trata de generar valores aleatorios de a 7, para cada una de las provincias de Costa Rica.

Previamente baje por Internet las imágenes libres que están en la web con los escudos de las siete provincias, la idea es enviar el nombre de la provincia y el escudo a la pantalla del LCD, del ladrillo. En el editor de imágenes de NXT-G, se importan y procesan para ubicarlas en el lugar deseado de las coordenadas de la pantalla.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 31

Ejemplo: Provincias de Costa Rica

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 32

Calibrar Sensores

Las condiciones ambientales pueden afectar el rendimiento de los sensores de luz y

sonido. Por lo tanto, es importante calibrar estos sensores para condiciones

ambientales particulares, de manera que rindan al máximo.

Por ejemplo, en una habitación muy luminosa, un sensor de luz no calibrado podría

enviar sólo lecturas altas, lo que reduce su rendimiento potencial. Si creara un

programa en una ubicación más oscura, su robot podría reaccionar de manera inusual

cuando se encuentre en un lugar con luz más intensa. Si calibra el sensor de luz, podrá

obtener lecturas de una amplia gama de valores según las condiciones.

Hay dos maneras de calibrar los sensores de luz y sonido utilizando el software de

MINDSTORMS NXT. La primera opción es utilizar la función Calibrar sensores del menú

Herramientas. Con esta función, puede calibrar un sensor de luz o sonido una sola vez

para cada ubicación (y no cada vez que ejecuta el programa). Por ejemplo, si participa

en un concurso como WRO (World Robotic Olimpiad) con mesas de competición muy

luminosas, puede calibrar el sensor de luz sólo una vez en una mesa para no tener que

preocuparse de calibrarlo cada vez que ejecute el programa.

La segunda opción de calibración incluye el uso de diversos bloques Calibración en su

programa. Cada vez que ejecuta su programa, estos bloques calibrarán los sensores

según las condiciones actuales. (Véase la entrada de la Ayuda acerca del bloque

Calibración).

Uso de la función Calibrar sensores

Para usar esta función, asegúrese primero de que su NXT esté conectado a su

ordenador y de que esté encendido. También debe asegurarse de que los sensores que

desea calibrar estén conectados al NXT. Preste especial atención a los puertos a los

que están conectados.

Cuando esté listo, seleccione la función Calibrar sensores del menú Herramientas.

Aparecerá el cuadro de diálogo Calibrar sensores. Si el NXT no está conectado al

ordenador, el cuadro de diálogo aparecerá de color gris.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 33

Calibración de un sensor de luz

Seleccione el sensor de luz y el puerto al que el sensor está conectado. A continuación

haga clic en el botón Calibrar. Se descargará un pequeño programa al NXT, que se

ejecuta automáticamente.

En la pantalla del NXT aparecerá el texto "Valor mín:". Dirija el sensor hacia un

material o punto que represente lo que el sensor de luz debería considerar como

oscuro. Presione el botón naranja del NXT.

A continuación aparecerá el texto "Valor máx:". Dirija el sensor hacia un material o

punto que represente la ubicación más luminosa que el sensor encontrará durante el

programa. Presione el botón naranja otra vez. La calibración está completa.

Calibración de un sensor sonido

Seleccione el sensor sonido y el puerto al que el sensor está conectado. A continuación

haga clic en el botón Calibrar. Se descargará un pequeño programa al NXT, que se

ejecuta automáticamente.

En la pantalla del NXT aparecerá el texto "Valor mín:". Coloque el sensor sonido en el

ambiente que encontrará cuando el programa se esté ejecutando y donde no se

perciba ningún ruido de fondo. Presione el botón naranja Seleccionar del NXT.

A continuación aparecerá el texto "Seleccionar máx:". Mida o haga el ruido más fuerte

que desee medir y presione nuevamente el botón Seleccionar. La calibración está

completa.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 34

Más información

Para obtener más información acerca de las capacidades y mediciones de los diversos

sensores, consulte el capítulo Tecnología NXT de la Guía del usuario impresa que

acompaña el producto MINDSTORMS NXT.

Nota: Los valores de calibración configurados mediante la función Calibrar

sensores se pueden sobrescribir con bloques Calibración en un programa, y

viceversa. La calibración más reciente prevalecerá. La calibración será válida

hasta que cambie intencionalmente los valores o los reinicie (véase el apartado

siguiente).

Nota: La calibración será válida para el sensor específico, independientemente del

puerto al que lo conecte una vez completado el proceso de calibración. Si calibra

el sensor de luz en el puerto 3, la calibración será igualmente válida si conecta

posteriormente el sensor de luz al puerto 4.

Restauración de los valores de calibración predeterminados

Si desea comenzar desde cero y restaurar los valores de calibración predeterminados

de fábrica, siga estas instrucciones.

En primer lugar, encienda el NXT y conéctelo al ordenador.

Seleccione la función Calibrar sensores del menú Herramientas. Aparecerá el cuadro de

diálogo Calibrar sensores. Si el NXT no está conectado, el cuadro de diálogo aparecerá

de color gris.

Seleccione el sensor para el que desea restaurar la configuración predeterminada de

fábrica y haga clic en Predeterminado.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 35

Sensores

Sensor de Tacto El sensor tacto funciona como un interruptor de los que tenemos en nuestras casas para

activar o desactivar algo. Cuando el botón es presionado, este cierra un circuito eléctrico y

permite que la electricidad fluya, cuando el botón no está presionado el circuito se rompe

y no hay fluido de electricidad. Es muy útil porque nos puede ayudar a detectar un

obstáculo o pared y podemos indicarle al robot que se detenga, o que gire 180 grados y

retroceda.

Icono Conector Tipo

Dato

Rango posible Que valore mide

Puerto Número 1 - 4 1 = Port 1, 2 = Port 2,

3 = Port 3, 4 = Port 4

Acción Número 0 - 2 0 = Presionado

1 = Suelto

2 = Dando un golpe

Si / No Lógico Verdadero/Falso Resultado de la comparación

Valor raíz Número 0 – 1024 valor (no escalar) leído del sensor

Lógico

Numérico

Número 0 – 1 0 = Suelto

1 = Presionado

Programa prueba de sensor de tacto

Aunque las fechas van en sentido contrario, la idea de ciclo es que lo que está dentro de él, se repetirá indefinidamente.

Que contiene este programa:

1.Ciclo indefinido , y dentro del ciclo, un switch o selector, para detectar si se presiona o nó el sensor de tacto. 2. Sensor de tacto en el puerto 1

Diagrama de flujo

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 36

Explique las instrucciones del switch para el sensor de Tacto

Cuantos sensores aparecen en la lista?

Que hace el sensor de tacto?

Que hace el cambio vista?

En que puerto está conectado el puerto?

Cuáles son los posibles estados del sensor?

Describa las instrucciones de:

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 37

Indicación de un ciclo infinito

En esta sección se muestran las características de cada ciclo, específico, por sensor, tiempo, contador o lógico.

Mostrar contador, nos permite usar un cable para conectar un display o pantalla.

Aquí se muestra el valor del contador del ciclo, por ejemplo si declaramos 10 veces, el ciclo va de 1 a 10

Indica el conector para el cable, donde podemos conectar cables para envió de datos.

Aquí se muestra como conectamos el valor del contador y lo presentamos por pantalla, nótese que el valor del contador es un número (cable amarillo) por lo tanto debemos usar una función para convertir el número a texto (cable naranja).

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 38

Sensor de sonido

Nos permitirá programar robots que respondan ante un nuevo estímulo como lo es el

sonido. Las características del sensor permitirán programarlo para que realice una tarea

cuando una persona le da una orden o que haga otra tarea cuando varias personas le den

la misma orden de modo simultáneo, intensidad de sonido.

El sensor de sonido también puede reconocer patrones de sonido. Por ejemplo, puede

programarse el robot para desarrolle un comportamiento en concreto mientras que con

dos palmadas haga algo totalmente diferente. El sensor también es capaz de discriminar

tonos.

Icono Conector Tipo

Dato

Rango Posible Qué miden los valores

Puerto Número 1 - 4 1 = Puerto 1, 2 = Puerto 2,

3 = Puerto 3, 4 = Puerto 4

Punto de

dirección

Número 0 - 100 Valor para compararse contra

Mayor/Menor Lógico Verdadero/Falso Lógico usado para comparación

Verdadero = Mayor, Falso = Menor

dBA Lógico Verdadero/Falso Verdadero = dBA modo

Falso = dB modo

Si / No Lógico Verdadero/Falso Resultado de la comparación

Nivel Sonido Número 0 - 100 Escala de valores leídos por el sensor

Valor crudo Número 0 – 1024 El Valor (no escalado) que leyó del sensor

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 39

Escriba el programa de prueba para el sensor de sonido

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 40

Como se llama este sensor:

En que puerto está conectado:

Qué significa la opción Compare: ?

Sonido mayor a qué?

Explique cuál es la función de las siguientes opciones de ACTION:

Image:

Text:

Drawing:

Reset:

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 41

Sensor ultrasónico Su principal función detectar las distancias y el movimiento de un objeto que se

interponga en el camino del robot, mediante el principio de la detección ultrasónica. Este

sensor es capaz de detectar desde 0 a 255 centímetros con una precisión relativa del +/-

3 centímetros.

Mediante el principio del eco, el sensor es capaz de recibir la información de los distintos

objetos que se encuentren en el campo de detección, teniendo un mejor reflejo del eco los

elementos planos que los curvos, como pelotas u otros elementos similares. Una

advertencia que se realiza es acerca de las conexiones múltiples de este sensor, ya que

se puede detener la ejecución y/o lectura de los distintos elementos.

El sensor estará configurado por defecto para medir la distancia a un objeto, pero también

puede ser capaz de medir las distancias hasta un máximo de 8 objetos en un único

periodo de medida.

Icono Conector Tipo

Dato

Rango Posible Qué miden los valores

Puerto Número 1 – 4 1 = Puerto1, 2 = Puerto 2,

3 = Puerto 3,4 = Puerto 4

Punto de

dirección

Número 0 - 255 (cm)

0 - 100 (in)

Valor para compararse contra

Mayor/Menor Lógico Verdadero/Falso Lógico usado para comparación

Verdadero = Mayor, Falso = Menor

Si / No Lógico Verdadero/Falso Resultado de la comparación

Distancia Número 0 - 255 (cm)

0 - 100 (in)

Escala de valores leídos por el sensor

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 42

Escriba el programa de prueba para el sensor de distancia

Opción Flatview

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 43

Sensor de Luz

Este sensor le permite a nuestro robot distinguir entre luz y obscuridad, midiendo la

intensidad de la luz le permite a nuestro robot "ver" en blanco y negro.

El sensor se puede usar en dos modos:

El primer modo detecta la luz del ambiente y se puede usar para detectar, si un cuarto

tiene la luz prendida o apagada, o la intensidad de la luz que entra por la ventana

dependiendo de la hora del día o incluso para programar un robot que siga una fuente de

luz.

En el segundo modo el mismo sensor emite una luz y luego mide que tanto se refleja esta

luz en las superficies. Este modo lo podemos usar para diferenciar el brillo de los colores

en una superficie (¡el famoso robot seguidor de la línea negra se basa en este principio!).

Incluso se ha usado para detectar la distancia hasta el suelo con una mejor precisión que

con el sensor ultrasónico (en robots como seguidor de línea). El sensor nos da una lectura

desde 0 (completa a obscuridad) hasta 100 (muy brillante).

Icono Conector Tipo

Dato

Rango Posible Qué miden los valores

Puerto Número 1 – 4 1 = Puerto 1,

2 = Puerto 2,

3 = Puerto 3,

4 = Puerto 4

Punto de

dirección

Número 0 – 100 Valor para compararse contra

Mayor/Menor Lógico Verdadero/Falso Lógico usado en comparación

Verdadero = Mayor,

Falso = Menor

Generar Luz Lógico Verdadero/Falso Determina si el LED del sensor

esta encendido o no

Si / No Lógico Verdadero/Falso Resultado de la comparación

Intensidad Número 0 – 100 Escala de valores leídos por el

sensor.

Raw Valor Número 0 – 1024 El Valor (no escalado) que leyó

del sensor

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 44

Luz encendida de cubículo 3, en la noche 7:23 pm.

Describa las partes del SWITCH para sensor de LUZ.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 45

Sensor de Color

El Sensor de Color NXT 2.0. Es capaz de realizar tres exclusivas funciones: Actúa como sensor de colores capaz de distinguir entre seis

colores (1 = Negro, 2 = Azul, 3 = Verde , 4 = Amarillo , 5 = Rojo, 6 = Blanco.); funciona como sensor de luz con capacidad para detectar

intensidades luminosas, tanto de luz reflejada como de luz ambiental; y puede utilizarse también como lámpara de colores con posibilidad de emitir luz roja, verde o azul.

Sugerencias de utilización:

Puedes utilizar el sensor de color para dividir sus ladrillos LEGO ® por color o para implementar un robot que siga una línea azul, o cambiar de dirección cuando se detecta una zona roja. También puedes utilizar el sensor como una luz de color para dar al robot un toque de personalidad, con lo que cambiaria de color dependiendo de su estado de ánimo.

Utilizando el sensor para distinguir los colores:

Para la detección óptima del color, el sensor debe de estar colocado en un ángulo recto aproximadamente a 1 cm de la superficie. Puede producirse una interpretación errónea de color si el sensor es colocado en ángulos diferentes con respecto a la superficie o cuando se utiliza una luz ambiente fuerte.

El sensor puede ser usado para medir la intensidad de la luz. Funciona como un sensor de luz cuando la luz es la establecida en rojo. Usar otro color de la luz (verde o azul) puede dar resultados diferentes. El sensor puede ser usado para medir la luz ambiente o reflejada. Puede utilizar cualquiera de los tres colores para medir la luz reflejada.

Programa seguidor

de líneas, utilizando

el sensore de color.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 46

Ejemplo: Programa seguir de línea con sensor de color

Se declara la variable

giro y se le asigna el

valor de 1 y se coloca

al inicio programa.

Note que la variable

numérica.

Se obtiene el valor del

sensor de color y se

asigna a la variable

cValor, observe que

el sensor está leyendo

el rango completo, o

sea los 6 valores,

negro, azul, verde,

amarillo, rojo y

blanco.

Ahora se procede a realizar la pregunta si el valor de cValor es = a 6.

Eso indica que es blanco, y por tanto estamos fuera de la línea. Y a la variable cValor se le asigna el valor de la variable giro.

Switch o selector de valores, en este caso nos importan 4 valores (0,1,2,3), cuando el valor es cero no se hace nada, observe que la opción est vacia, no hay ningun bloque.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 47

Si el valor es 1, el sensor esta detectando el color negro, por lo tanto los motores deben realizar su movimi-ento hacia adelante con un poder de 100 con duración ilimi-tada, como se muestra en la caja de propiedades del bloque mover motores.

A la variable giro se le asigna el valor de 2, entonces realiza-mos un giro hacia la izquierda, movi-endo la mavivela hacia la izquierda de duración ilimi-tada, hasta que vuela a encontrar la línea negra.

Y finalmente a la variable giro se le asigna el de 3, y realizamos un giro hacia la derecha, moviendo la mani-vela hacia la dere-cha con duración ilimitada, hasta que vuela a encontrar la línea negra.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 48

Motores y sensor de rotación

Los motores los utilizamos para desplazamiento y para mover las articulaciones de los

robots. Los motores del NXT no son motores convencionales, se trata de servomotores.

Estos motores los podemos controlar, porque incluyen un sensor de posición, donde

podemos controlar su posición, y además nos permite conocer la velocidad a la que se

está moviendo, y las podemos variar, lo que nos sirve para conocer los grados o rotación

del mismo.

Icono Conector Tipo

Dato

Rango Posible Qué miden los valores

Puerto Número 1 – 3 1 = A, 2 = B, 3 = C

Punto de

dirección

Número 0 - 2147483647 Valor para compararse contra

Punto de

dirección

Lógico Verdadero/Falso Dirección para usar en comparación:

Verdadero = Adelantar,

Falso = Retroceder

Mayor/Menor Lógico Verdadero/Falso Lógico usado para comparación

Verdadero = Mayor,

Falso = Menor

Reset Lógico Verdadero/Falso Verdadero = Reset,

Falso = Leer

Si / No Lógico Verdadero/Falso Resultado de la comparación

Dirección Lógico Verdadero/Falso Verdadero = Adelantar,

Falso = Retroceder

Grados Número 0 - 2147483647 Escala de valores leídos por el sensor.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 49

Opción que nos permite seleccionar el tipo de sensor que deseamos.

Indica se usara el sensor de rotación del motor que es el puerto (A, B, o C) respectivamente

Permite usar una vista de pestañas o viñetas en los selectores (switch), permite agregar varias pestañas de acuerdo con la nuestras necesidades de programación.

Selector de puerto, para indicar el puerto donde está conectado el motor, que contiene el sensor de rotación

Se pude “leer” o “resetear” el valor del sensor de rotación, indicándolo con esta opción.

Indica si la comparación de los valores del sensor de rotación que se harán por medio de grados o rotaciones. Y que sea mayor o menor a los indicado.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 50

Otros sensores

Hay compañías que han desarrollado sensores para el Lego NXT MINDSTORMS, entre

ellas Hitechnic, que es la que más sensores y accesorios ha desarrollado. También se

pueden comprar sensores “destapados” sin empotrar, que se pueden acoplar al NXT,

obviamente hay que desarrollar los drivers necesarios para empatar el hardware con el

software. En el caso de Hitechnic, ellos dan el soporte para descargar los “Bloques” para

el lenguaje NXT-G, RobotC y otros.

A continuación se muestran algunos de los sensores que ofrecen:

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 51

Accesorios

El HiTechnic Rotacaster, rueda

multidireccional es perfecto para crear robots que pueden moverse en cualquier dirección.

El multiplexor Sensor HiTechnic extiende su NXT y añade funcionalidad extra que permite hasta 4 sensores para ser conectados a un puerto sensor NXT

Nueva versión de NXT, EV3 ( sale en octubre 2013 y posiblemente en setiembre en Costa Rica)

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 52

Conociendo las piezas de Lego

Conectores de bloques

Ejes Estos viene en diferentes tamaños y colores, algunos de ellos tienen una terminación o inicio con

un anillo o argolla, que se puede ajustar en un agujero de cualquier pieza lego, o al contario

impedir que pase por dicho agujero. Estas piezas son muy importantes porque nos permiten unir

bloques y crear estructuras para que soporte nuestros modelos...

Clavijas Nos sirven para unir piezas, usualmente es la manera que se usa para sujetar vigas y crear una

estructuras. Hay de varios tamaños, que nos permiten atravesar una viga y conectar otras,

dependiendo de la estructura que deseamos construir.

Agujero en cruz

Estos conectores nos permiten mejorar nuestra habilidad de construcción, creando estructuras y

mecanismos más complejos, permitiendo que los ejes X y Y, puedan ser manejados con libertad y

lograr que nuestras estructuras funcionen.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 53

Elementos Misceláneos

Son aquellos elementos que nos ayudan a dar un toque específico a nuestro proyecto y en algunos

casos se trata de piezas “hechas a la medida” para un proyecto específico, y también pueden ser

piezas de uso general, como por ejemplo una garra para hacer una “mano”.

Vigas Nos permiten modelar diferentes tipos de estructuras y crear modelos de mecanismos complejos,

por ejemplo el mecanismo inventado por el artista y escultor cinético Theo Jansen, se puede

modelar con estas vigas.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 54

Engranajes

Normalmente, en cualquier articulación de un robot, hay movimiento y el mismo se lleva a cabo

por medio de engranajes, estos nos permiten no solo realizar movimientos, sino también cambio

de ejes, por ejemplo la potencia de un motor se suministra en el eje X y por medio de un

engranaje cónico, se puede trasladar al eje Y. También cuando es necesario mover un peso x, por

medio de un tren de engranajes podemos multiplicar la potencia, hasta lograr que el peso en

cuestión pueda ser acarreado.

Máquinas

Máquinas Simples Una máquina simple es un artefacto mecánico que transforma un movimiento en otro diferente,

valiéndose de la fuerza recibida para entregar otra de magnitud, dirección o longitud de

desplazamiento distintos a la de la acción aplicada. En una máquina simple se cumple la ley de la

conservación de la energía: (la energía no se crea ni se destruye, solo se transforma). La fuerza

aplicada, multiplicada por la distancia aplicada (trabajo aplicado), será igual a la fuerza resultante

multiplicada por la distancia resultante (trabajo resultante). Una máquina simple, ni crea ni

destruye trabajo mecánico, sólo transforma algunas de sus características.

Máquinas simples son: Rueda, Mecanismo de biela- Manivela, Cuña, la Palanca, las poleas, el

plano inclinado, Tuerca husillo.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 55

La rueda es una pieza mecánica circular que gira alrededor de un eje. Puede ser considerada una

máquina simple, y forma parte del conjunto denominado máquinas. Es uno de los inventos

fundamentales en la Historia de la humanidad, por su gran utilidad en la elaboración de alfarería,

en el transporte terrestre, y como componente fundamental de diversas máquinas. El

conocimiento de su origen se pierde en el tiempo, y sus múltiples usos han sido esenciales en el

desarrollo del progreso humano.

Rueda datada en el

II milenio a. C.; en el

Museo Nacional de Irán.

La cuña transforma una fuerza vertical en dos horizontales antagonistas. El ángulo de la cuña

determina la proporción entre las fuerzas aplicada y resultante, de un modo parecido al plano

inclinado.

Cuña Hacha Cincel Clavos

La palanca es una barra rígida con un punto de apoyo, a la que se aplica una fuerza y que, girando

sobre el punto de apoyo, vence una resistencia. Se cumple la conservación de la energía y, por

tanto, la fuerza aplicada por su espacio recorrido ha de ser igual a la fuerza de resistencia por su

espacio recorrido.

“Dadme un punto de apoyo y

moveré el mundo”

Arquímedes Resistencia y Fuerza Ejemplo de uso

En el plano inclinado se aplica una fuerza para vencer la resistencia vertical del peso del objeto a

levantar. Dada la conservación de la energía, cuando el ángulo del plano inclinado es más pequeño

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 56

se puede levantar más peso con una misma fuerza aplicada pero, a cambio, la distancia a recorrer

será mayor.

La polea simple transforma el sentido de la fuerza; aplicando una fuerza descendente se consigue

una fuerza ascendente. El valor de la fuerza aplicada y la resultante son iguales, pero de sentido

opuesto. En un polipasto la proporción es distinta, pero se conserva igualmente la energía.

Polea Polea compuesta Esquema Polipasto Polipasto

El mecanismo husillo trasforma un movimiento giratorio aplicado a un volante o manilla, en otro

rectilíneo en el husillo, mediante un mecanismo de tornillo y tuerca. La fuerza aplicada por la

longitud de la circunferencia del volante ha de ser igual a la fuerza resultante por el avance del

husillo. Dado el gran desarrollo de la circunferencia y el normalmente pequeño avance del husillo,

la relación entre las fuerzas es muy grande.

Tornillo y Tuerca Gata Máquina de moler

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 57

Máquinas Compuestas o Complejas

Cuando no es posible resolver un problema técnico en una sola etapa hay que recurrir al empleo

de una máquina compleja o compuesta, que no es otra cosa que una sabia combinación de

diversas máquinas simples, de forma que la salida de cada una de ellas se aplica directamente a la

entrada de la siguiente hasta conseguir el efecto deseado. De otra manera se trata de la unión de

varias máquinas simples, que nos permite dar la solución a un problema de movimiento de un

mecanismo.

Ejemplos:

El eje donde está el tornillo sin fin, es el lugar donde se conecta la potencia, para mover el piñón recto, nunca se hace al revés, porque dañaría el mecanismo porque él, el piñón recto es esta máquina se usa para trasladar la rotación y nunca como potencia.

Piñón rectoy husillo o tornillo sin fin

Piñones cónicos

Los piñones cónicos, permiten la trasladar la rotación de un eje a otro, permiten un contacto entre piñones en un ángulo de 90 grados. El lugar donde está la manivela, es donde se debe conectar la fuerza o potencia para mover el mecanismo. Sin embargo los dos ejes soportan fuerza.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 58

Cremallera

La cremallera y el piñón recto, son un mecanismo muy utilizado para desplazar artefactos que tengan una cremallera en toda su extensión, la cual es movida por uno o varios piños rectos. La potencia o fuerza, se conecta en el eje donde está el piñón recto y no en la cremallera.

Transmisión

Transmisión, es caso hay tres piñones, los ejes horizontales pueden tener una rueda y el eje vertical, esa pegado en un mecanismo o chasis, que permites que los ejes horizontales giren con libertad hacia adelante o atrás. Es el caso de las ruedas traseras de un automóvil.

Máquina de Jansen

Primer modelo de la máquina de Jansen, es como una reacción en cadena, ya que al mover un mecanismo los demás ejecutan también movimiento. El mecanismo consiste en dos triángulos rectángulos, unidos por un cuadrado y cada articulación es libre.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 59

Ciclos

CICLOS POR SENSOR

Ciclos, tenemos la posibilidad de 5 ciclos:

Infinito

Tiempo

Sensor Ver lista sensores Contador

Lógico

En caso ciclos por sensores, mostramos a continuación, los iconos correspondientes a los ciclos.

Sensor de tacto

Sensor de Luz

Botones NXT

Sensor de Rotación

Sensor de Sonido

Sensor de Tiempo

Sensor de Ultrasonido

Sensor de Color

Recibo de Mensaje

A continuación explicaremos los ciclos controlados por variables (Forever, Infinito, Time, tiempo,

Count, contador y Logic, lógico) y después de estos nos referiremos los ciclo controlados por

sensores como lo es el case de las opciones.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 60

Ciclo Forever

El ciclo típico de NXT-G, repetir por siempre o infinitamente las instrucciones que sean puestas en el interior del ciclo o ciclo. La opción Control, indica el tipo de ciclo que podemos usar (Forever(porsiempre o infinito), Sensor, Time (tiempo o cronómetro), Count (contador), Logic (Lógico)).

Aquí se mostrará el ícono del sensor seleccionado.

Esta opción, permitirá que se tenga acceso al contador del ciclo.

Al activar la opción Counter (contador), aparecerá dentro del ciclo el conector del contador. Recuerde que se puede activar en cualquier ciclo.

Ejemplo ciclo Forever o infinito

Se conecta la salida del

contador a la entrada

función número a texto y

luego la salida de texto a la

entrada del display o

pantalla para lograr

mostrar el valor del

contador.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 61

Ciclo Time

Con la opción Time (Tiempo), los bloques de programación del ciclo se repetirán hasta que haya

transcurrido un determinado número de segundos. Una vez transcurrido el periodo de tiempo, el

ciclo o ciclo finalizará.

1. Utilice esta casilla para escribir el número de segundos que el ciclo debe ejecutarse. Si

escribe 5 segundos, por ejemplo, el ciclo finalizará cuando hayan transcurrido 5 segundos.

2. Si la casilla de verificación "Mostrar contador" del panel de configuración está activada,

aparece una toma que le permite utilizar el número de ciclos completos como entrada en

otro punto del programa (si conecta un cable de datos de la toma al concentrador de

datos de otro bloque).

Ejemplo: ciclo por tiempo mostrar valor del contador durante 60 segundos

Se repetirá el ciclo una cantidad tiempo, que se establece en segundos

establecidos por el usuario, Tiempo Valor máximo es 2147483.

Conectar la salida del contador a la

entrada función número a texto y luego la

salida de texto a la entrada del display o

pantalla para lograr mostrar el valor del

contador.

1

2

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 62

Ciclo Count

Contar Valor máximo 2147483647

Si la opción del ciclo es Contar (Count), los bloques de programación del ciclo se repetirán hasta

que el contador alcance un determinado número de repeticiones.

1. Utilice esta casilla para escribir el número de repeticiones que hará finalizar el ciclo. Si

escribe "2", por ejemplo, el ciclo finalizará después de que los bloques de

programación del ciclo se hayan ejecutado dos veces.

2. Active la casilla de verificación "Mostrar contador" para conectar el lado izquierdo del

ciclo con el lado derecho (donde aparece la toma "Contar"). Con los lados izquierdo y

derecho conectados, el programa podrá contar el número de ciclos completos y

finalizar el ciclo cuando el recuento alcance el número configurado.

Observe que usa un retardo de 1 segundo, para que pueda ver los valores en la pantalla

Se mostrará el valor del contador en la pantalla, este ciclo empieza en 1 y termina en 20, en la opción counter se establece el valor final. Esto mostrará en la pantalla el valor del contador, 1…20.

Ejemplo ciclo con condicionado por el contador

1 2

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 63

Ciclo Lógico - Logic

La repetición se hará hasta que el valor lógico sea verdadero (True), como se muestra en el gráfico, pero note que usted puede seleccionar también las opción falso, (False).

Lógico Valor, true o false

Si elige control del ciclo por Lógica o ciclo lógico (Logic) y conecta un cable de datos de entrada a la parte de rastreo del bloque Ciclo, los bloques de programación del ciclo se repetirán hasta que el bloque Ciclo reciba una señal lógica "verdadero" o "falso" a través del cable de datos. Cuando se reciba la señal lógica especificada, el ciclo finalizará.

1. Elija qué tipo de señal lógica, "verdadero" o "falso", hará finalizar el ciclo.

2. Si la casilla de verificación "Mostrar contador" del panel de configuración está activada, aparece una toma que le permite utilizar el número de ciclos completos como entrada en otro punto del programa (si conecta un cable de datos de la toma al concentrador de datos de otro bloque).

Este ciclo repetirá el mensaje: UNIVERSIDAD

NACIONAL Hasta que el sensor de tacto que está en el puerto 1, se presionado.

Ciclo lógico: termina cuando se dé un valor lógico True Valores para Pantalla 1

Note que la opción Clear, esta deshabilitada Valores para Pantalla 2

1

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 64

Observe que las coordenadas xy son diferentes en cada pantalla

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 65

Ciclos controlados por sensores

Con respecto a los ciclos por sensor, dependerá de los sensores que tengamos instalados, recuerde que los sensores hechos por terceros, como el caso de Hitechnic,http://www.hitechnic.com/ se agregan

vía driver. Usted debe registrarse en la página para que pueda descargar los bloques y programas de ejemplo de los sensores. En este caso ciclo finalizará hasta que sensor sea activado y este envié la señal correspondiente para su fin.

Sensores activos en ordenador

Ciclo controlado por sensor de tacto

Tacto o Contacto

Valores: Presionado, No presionado o suelto y Bumped

Si un ciclo es controlado por el Sensor de Tact (Touch sensor), los bloques de programación del ciclo se repetirán hasta que se choque o haga contacto, se presione o se libere un sensor contacto. Entonces el ciclo finalizará y el programa continuará.

1. Elija el puerto al que el sensor contacto está conectado.

2. Utilice los botones de radio para especificar si desea que el sensor contacto se choque, presione o libere para finalizar el ciclo. Elija Chocado si desea que el bloque se active después de presionar brevemente (durante menos de 0,5 segundos) y liberar el sensor contacto. Elija Presionado si desea que el bloque se active en el momento en que se presiona el sensor contacto. Elija Liberado si desea que el bloque se active en el momento en que se libera el sensor contacto.

1

3

4

2

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 66

3. La casilla de retroacción le permite probar el sensor contacto. Cuando el sensor del robot

se active, aquí se visualizará el número "1".

4. Si la casilla de verificación "Mostrar contador" del panel de configuración está activada, aparece una toma que le permite utilizar el número de ciclos completos como entrada en otro punto del programa (si conecta un cable de datos de la toma al concentrador de datos de otro bloque).

Ciclo controlado por sensor de sonido

Si elige "Sensor sonido", los bloques de programación del ciclo se repetirán hasta que el sensor acústico detecte sonido dentro de un rango determinado.

1. Elija el puerto en el que el sensor sonido está conectado. De manera predeterminada, el bloque estará configurado para que el sensor sonido esté en el puerto 2.

2. Para configurar el valor de activación, utilice el control deslizante o digite un valor directamente en la casilla de introducción. Seleccione el botón de radio a la derecha del control deslizante si desea que el ciclo finalice cuando los niveles de sonido sean superiores al valor de activación; seleccione el botón de radio de la izquierda si desea que el ciclo finalice cuando los niveles de sonido sean inferiores al valor de activación. También puede utilizar el menú desplegable para configurar la parte del control deslizante que hará finalizar el ciclo.

3. La casilla de retroacción permite visualizar la lectura del sonido actual (0-100%). Puede 4. utilizarla para probar diferentes valores de activación.

4. Si la casilla de verificación "Mostrar contador" del panel de configuración está activada, aparece una toma que le permite utilizar el número de ciclos completos como entrada en otro punto del programa (si conecta un cable de datos de la toma al concentrador de datos de otro bloque).

1

2 3

4

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 67

Ciclo controlado por sensor de Luz

Si elige "Sensor de luz", los bloques de programación del ciclo se repetirán hasta que un sensor de luz mida una determinada intensidad de luz. Entonces el ciclo finalizará y el programa continuará.

1. Elija el puerto en el que el sensor de luz está conectado. De manera predeterminada, el bloque estará configurado para que el sensor de luz esté en el puerto 3.

2. Para configurar el valor de activación, utilice el control deslizante o digite un valor directamente en la casilla de introducción. Seleccione el botón de radio a la derecha del control deslizante si desea que el ciclo finalice cuando los niveles de luminosidad sean superiores al valor de activación; seleccione el botón de radio de la izquierda si desea que el ciclo finalice cuando los niveles de luminosidad sean inferiores al valor de activación. También puede utilizar el menú desplegable para configurar la parte del control deslizante que hará finalizar el ciclo.

3. Si activa la casilla de verificación "Generar luz", el sensor de luz encenderá su pequeña

fuente de luz y detectará su propia luz si ésta se refleja.

4. La casilla de retroacción permitirá visualizar la lectura de la luz actual.

5. Si la casilla de verificación "Mostrar contador" del panel de configuración está

activada, aparece una toma que le permite utilizar el número de ciclos completos como entrada en otro punto del programa (si conecta un cable de datos de la toma al concentrador de datos de otro bloque).

2

3

4 5

1

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 68

Este ciclo repite una nota musical, hasta que el sensor de luz, que está en el puerto 3, capte color blanco, que numéricamente implica lectura de la un valor que sea mayor 50. La opción Generate light, hace que el led del sensor se encienda.

En cuanto al sonido se trata de la nota Do (C) por 0.5 segundos

Función: Repetir, claro que aquí es imperceptible, pues el sonido está en un ciclo y obviamente repetirá el sonido hasta la lectura de blanco en el sensor.

Observe que no es un archivo de sonido, sino una nota musical, que se puede tocar indicando la nota musical en el piano

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 69

Ciclo controlado por Botones

Botonera Valores: Izquierda, Enter, Derecha

Si elige "Botones NXT", los bloques de programación del ciclo se repetirán hasta que se choque, presione o libere el botón NXT elegido.

1. Seleccione qué botón NXT enviará una señal "verdadero" al ser activado (y finalizará el ciclo).

2. Elija Chocado si desea que el botón elegido se active después de presionarlo brevemente y liberarlo. Elija Presionado si desea que el botón elegido se active en el momento en que se presiona el botón. Elija Liberado si desea que el botón elegido se active en el momento en que se libera el botón.

3. En la casilla de retroacción se muestra un "1" cuando el botón NXT elegido se

choca, presiona o libera (según la configuración).

4. Si la casilla de verificación "Mostrar contador" del panel de configuración está activada, aparece una toma que le permite utilizar el número de ciclos completos como entrada en otro punto del programa (si conecta un cable de datos de la toma al concentrador de datos de otro bloque).

1

2

3

4

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 70

Los motores B y C, conectados respectivamente a los puertos B y C, giran un rotación cada vez, hasta que el botón central de la botonera sea presionado. Recuerda mantener el botón presionado unos segundos, si no pude detener el ciclo.

Ciclo con NXT-Botones

Control por sensor y por botones de NXT El botón debe mantenerse presionado

Condición 1

Condición 2

Uso de if anidados, si se presiona el botón de la izquierda, se enciende el motor B durante 1 rotación, sino se pregunta que si es presionado el botón del Centro, si es cierto se encienden los motores B y C durante una rotación, en caso contrario, se pregunta que si se presionó el botón Izquierdo, entonces se enciende el motor C durante 1 rotación.

Condición 3

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 71

Ciclo controlado por sensor de Rotación

Si elige realizar una Lectura del sensor de rotación, los bloques de programación del ciclo se repetirán hasta que el sensor de rotación alcance un determinado valor. Entonces el ciclo finalizará y el programa continuará. Si elige "Reiniciar" el sensor de rotación, éste se reiniciará a cero después de cada ciclo; el bloque continuará con el ciclo hasta que el sensor de rotación alcance el valor de activación durante uno de los ciclo.

Ciclo controlado por Sensor de Rotación

Este ciclo hace que el motor que está en el puerto B, gire hasta que el sensor de rotación del motor C, gire sobre su eje 360 grados, al llegar a este valor el motor se detendrá y finalizará el ciclo.

Ciclo por sensor de rotación

1. Elija el puerto en el que el motor está conectado.

2. Elija si desea leer o reiniciar un sensor de rotación.

3. Utilice los botones de radio para configurar la dirección que desea: hacia adelante

o hacia atrás.

4. Elija si desea contar rotaciones o grados utilizando el menú desplegable.

5. Digite el número de rotaciones o grados que desea que transcurran antes de que

el ciclo finalice (lo que permite que el programa continúe).

6. La casilla de retroacción permitirá visualizar el número actual de rotaciones o grados.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 72

7. Si la casilla de verificación "Mostrar contador" del panel de configuración está activada, aparece una toma que le permite utilizar el número de ciclos completos como entrada en otro punto del programa (si conecta un cable de datos de la toma al concentrador de datos de otro bloque).

Ciclo controlado por sensor de Ultrasónico

Al elegir el Sensor ultrasónico", los bloques de programación del ciclo se repetirán hasta que el sensor ultrasónico detecte un objeto a una distancia determinada.

Ultrasonido Control de ciclo por distancia

1. Elija el puerto en el que el sensor ultrasónico está conectado. De manera

predeterminada, el bloque estará configurado para que el sensor ultrasónico esté en el puerto 4.

2. Para configurar el valor de activación, utilice el control deslizante o digite un valor directamente en la casilla de introducción. Seleccione el botón de radio a la izquierda del control deslizante si desea que el ciclo finalice cuando el sensor ultrasónico detecte un objeto más cercano que el valor de activación; seleccione el botón de radio de la derecha si desea que el ciclo finalice cuando el sensor ultrasónico detecte un objeto más lejano que el valor de activación. También puede utilizar el menú desplegable para configurar la parte del control deslizante que hará finalizar el ciclo.

3. Seleccione si desea leer los valores en centímetros o pulgadas.

4. La casilla de retroacción permitirá visualizar la lectura actual del sensor ultrasónico.

5. Si la casilla de verificación "Mostrar contador" del panel de configuración está activada, aparece una toma que le permite utilizar el número de ciclos completos como entrada en otro punto del programa (si conecta un cable de datos de la toma al concentrador de datos de otro bloque).

1

2

3 4

5

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 73

Ciclo controlado por sensor de Color

Al elegir el Sensor de color (RGB), los bloques de programación del ciclo se repetirán

hasta que el sensor de color detecte un blanco con un color determinado.

Color 1 = Negro, 2 = Azul, 3 = Verde , 4 = Amarillo , 5 = Rojo, 6 = Blanco

1. Seleccione el puerto está conectado el señor de color. De manera predeterminada, el bloque estará configurado para que el sensor esté en el puerto 3.

2. Elija, si desea que el color este dentro del rango u fuera de él.

3. Para configurar el valor de activación del color, utilice el control deslizante y elija el color que usted desea sensar, en este caso que este dentro de ese rango.

4. La casilla de retroacción permitirá visualizar la lectura actual del sensor de color en números.

5. Si la casilla de verificación "Mostrar contador" del panel de configuración está activada, aparece una toma que le permite utilizar el número de ciclos completos como entrada en otro punto del programa (si conecta un cable de datos de la toma al concentrador de datos de otro bloque).

Ejemplo: Programa que imprime en la pantalla del ladrilo NXT, el nombre de 6 colores

y termina cuando ve el color rojo.

Obviamente si el primer color que se pone en frente del sensor es el rojo, el programa

termina

1

2

3

4

5

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 74

Valor Mensaje

Negro

Azul

Verde

Amarillo

FIN - ROJO - FIN

Blanco

1 2 3 4 5 6

1

2

3

4

5

6

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 75

Ciclo controlado por Recibir Mensaje vía BlueTooth

Si elige "Recibir mensaje", los bloques de programación del ciclo se repetirán hasta que el NXT reciba un determinado mensaje de Bluetooth. Entonces el ciclo finalizará y el programa continuará.

Bluetooth Control de ciclo por bluetooth

1. El menú desplegable le permite seleccionar el tipo de mensaje (textual, numérico o lógico) que espera recibir.

2. Para comparar el mensaje recibido con un mensaje de prueba, escriba el texto o el número de prueba (si ha elegido Texto o Número respectivamente como formato) o utilice los botones de radio para elegir el valor lógico de prueba (verdadero o falso).

3. Elija el número de buzón al que el mensaje recibido llegará.

4. Si la casilla de verificación "Mostrar contador" del panel de configuración está

activada, aparece una toma que le permite utilizar el número de ciclos completos como entrada en otro punto del programa (si conecta un cable de datos de la toma al concentrador de datos de otro bloque).

1

2

3 4

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 76

Variables

Imagínese las variables como una maleta en la que usted guardara valores dentro de

la memoria integrada del NXT. Otros bloques de programación pueden leer el valor

actual de una variable (e incluso cambiarlo) conectándose al bloque mediante cables

de datos.

Creación de variables

1. Para crear una variable, primero debe elegir el comando Definir variable del

menú Edición del software. En el cuadro de diálogo, introduzca un nombre corto

y fácil de entender para su nueva variable y configure el tipo de datos que la

variable contendrá (es decir, textuales, numéricos o lógicos).

2. Luego arrastre un bloque al programa y seleccione el nombre de la variable en

la lista.

3. Elija si desea "Leer" o "Escribir" en la variable. Si desea escribir en la variable,

podrá cambiar el valor de la variable más adelante sobrescribiendo su valor

actual con información nueva. Para ello, debe conectar un cable de datos de

entrada al concentrador de datos del bloque, que entregará la información

nueva.

4. Puede asignar a la variable un valor inicial constante digitándolo en la casilla de

introducción (o utilizando los botones de radio si ha configurado el tipo de datos

de la variable como lógicos).

Nota: si quiere cambiar el tipo de datos o el nombre de la variable, vuelva al

comando Definir variable del menú Edición y cambie la configuración.

Uso de las variables

El valor de una variable puede cambiar con el tiempo. Puede crear una variable con el

nombre "Nivel de luminosidad guardado" y asignarle un valor inicial de 50. Cuando el

robot (equipado con un sensor de luz) se desplace a una ubicación determinada, puede

utilizar el bloque Variable (configurado como "Escribir") para guardar el nivel de

luminosidad actual de esa ubicación. Para ello, conecte un cable de datos de salida

desde el bloque Sensor de luz hasta la toma de entrada del bloque Variable.

Más adelante en el programa, puede utilizar un bloque Variable (configurado como

"Leer") para leer el valor de luminosidad guardado. Otros bloques conectados a la

toma de salida del bloque mediante cables de datos podrían acceder a la información

contenida en la variable (en este caso, el nivel de luminosidad guardado).

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 77

1. El concentrador de datos del bloque se abre automáticamente cuando el bloque

se coloca en la zona de trabajo. Debe haber un cable de datos conectado a la

toma de salida de este bloque para que los otros bloques puedan leer el valor

actual de la variable. Para poder escribir información nueva en la variable,

también debe conectar un cable de datos de entrada al concentrador de datos

del bloque. (Para más información, véase la sección de esta página acerca del

concentrador de datos).

Configuración del bloque Variable

1. En la lista, seleccione la variable que ha creado mediante el comando Definir

variable del menú Edición.

2. Elija si desea leer el valor actual de la variable o escribir información nueva en

ella.

3. Para asignar un valor constante a la variable, digite un número o texto en la

casilla de introducción, o utilice los botones de radio si la variable contiene

datos lógicos. Recuerde que si hay un cable de datos de entrada conectado al

bloque y éste está configurado como "Leer", la información nueva que se reciba

en forma dinámica mediante el cable de datos tendrá preferencia ante el valor

constante.

Nota: si quiere cambiar el tipo de datos o el nombre de la variable, vuelva al

comando Definir variable del menú Edición y cambie la configuración.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 78

Intercambio de información entre un programa y Mi bloque

Para compartir datos entre su programa principal y Mi bloque (es decir, entre dos

archivos .rbt), realice estas dos acciones:

1. Defina una variable con el mismo nombre y tipo de datos tanto en el programa

principal como en Mi bloque.

2. Utilice esta variable en un bloque Variable en el programa principal y en Mi

bloque.

Cuando se use la variable en alguna de las dos ubicaciones, se leerá/escribirá en el

mismo sitio de la memoria del NXT.

Configuración del concentrador de datos del bloque Variable

Puede controlar el bloque Variable en forma dinámica conectando cables de datos

(desde concentradores de datos de otros bloques) al concentrador de datos del bloque

Variable.

Abra el concentrador de datos de un bloque haciendo clic en la ficha de la esquina

inferior izquierda del bloque una vez colocado en la zona de trabajo.

Los cables de datos que transportan información de entrada a un bloque están

conectados a las tomas del lado izquierdo de su concentrador de datos. Los cables de

datos que transportan información de salida están conectados a las tomas del lado

derecho.

[A]Toma de entrada [B] Toma de salida [C] Cable de datos numéricos (amarillo) [D] Cable de datos lógicos (verde) [E] Cable de datos textuales (naranja) [F] Cable de datos averiado (gris)

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 79

Cómo pasar datos desde la toma de entrada hasta la toma de salida

Si una toma de entrada se corresponde con una toma de salida (véase A en la imagen

anterior), los datos de entrada pasan desde la toma de entrada hasta la toma de salida

sin ser modificados. En tal caso, sólo puede utilizar la toma de salida si la toma de

entrada está conectada a un cable de datos de entrada; si conecta un cable de datos

de salida a una toma de salida sin que haya un cable de datos de entrada conectado,

el cable de datos de salida se "romperá" y se volverá de color gris.

Los cables de datos transportan tipos de datos específicos

Cada cable de datos transporta un tipo de datos específico entre bloques. Por ejemplo,

si se arrastra un cable de datos desde una toma lógica del concentrador de datos de

un bloque, sólo puede conectarse a una toma lógica del concentrador de datos de otro

bloque. La tabla al final de este documento muestra qué tipo de datos puede aceptar o

enviar cada toma.

Colores de los cables de datos

Los cables de datos se identifican con colores específicos: los cables que transportan

datos numéricos son de color amarillo, los cables que transportan datos lógicos son de

color verde y los cables que transportan datos textuales son de color naranja.

Cables de datos "averiados"

Si intenta conectar un cable de datos a una toma de un tipo de datos incorrecto, el

cable de datos se rompe y se vuelve de color gris. No podrá descargar el programa si

hay un cable de datos averiado.

Si hace clic en un cable averiado puede leer el motivo de su avería en la ventana

Ayuda contextual de la esquina inferior derecha de la zona de trabajo.

Los datos deben estar comprendidos en el intervalo posible de la toma

Si un cable de datos de entrada transmite un valor no comprendido en el intervalo

posible de la toma a la que está conectado, el bloque ignorará el valor o lo cambiará

por un valor comprendido en el intervalo de la toma. En el caso de las tomas que sólo

admiten pocos valores de entrada (por ejemplo: sólo 0, 1 o 2), la toma ignorará la

entrada si el valor no se encuentra dentro de su intervalo.

En el caso de las tomas que admiten intervalos de entrada más amplios (por ejemplo:

0-100), la toma forzará la entrada que no se encuentre dentro de su intervalo de

manera que quede comprendida en él. Por ejemplo, si la toma Potencia de un bloque

Mover recibe un valor de entrada de 150, el bloque cambiará el valor de entrada por

100 (es decir, un número comprendido en el intervalo de la toma Potencia).

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 80

Esta tabla muestra las diferentes características de las tomas del

concentrador de datos del bloque Variable:

Toma Tipo de

datos

Intervalo

posible

Significado de

los valores

La toma se

ignora si...

Valor* Cualquiera Valor por leer o

escribir

*Esta toma de datos cambiará su aspecto en función del tipo de datos de la variable.

Sabías que LEGO, significa ladrillo en danés

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 81

Rangos Los rangos en NXT-G, se consideran como un conjunto de número enteros, donde se establece con

claridad el límite inferior y el límite superior y entre estos límites de valores de define el rango.

Bloque de rango Internamente el rango va desde el valor de A,límite inferior hasta el valor de B, límite superior, y como se muestra en la figura, por lo tanto este rango va del 25 a 75, son 50 valores. También se puede utilizar valores negativos.

Aquí se presenta el bloque Rango, donde se muestran las posibles entrada A y B como limites inferior y superior, el símbolo #, que representa el valor de salida de acuerdo a los valores del rango y v/x, que representa una salida lógica de si o no, y se utiliza para computar la opción dentro de y fuera del rango. Usted puede definir un rango como lo desee, respetando eso sí, los límites

Bloque de Rango ampliado

El ejemplo siguiente utiliza valores aleatorios ara definir rangos

Note que se usan 2 bloques para generar números “aleatorios”, y son pasados como entrada al

límite inferior (A) y al límite superior (B), usted puede jugar con este programa y generar rangos al

azar, lógicamente comprendidos entre sus límites.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 82

El siguiente programa se crea un ciclo infinito (se detendrá cuando se presione el botón de alto del

ladrillo NXT) donde se generan números al “azar” en el rango de entre -1 y 100, y se asignan a la

variable azar y se determina que si están o no dentro del rango. Si el número está dentro del rango

(-1 y 10), se imprime un mensaje de dice EN RANGO, y se imprime el valor de la variable azar, para

su verificación y en caso contrario se envía el mensaje NO ESTA y el valor de la variable.

Responda la siguiente pregunta ¿Cuál es el límite inferior ___ y superior ___ del rango que genera

los números aleatorios? Y ¿Cuál es el límite inferior ___ y superior ___ del rango de valores que se

computan como dentro del rango y cuantos valores son ___?

Con solo cambiar la opción Inside Range, por Outside range, estaremos evaluando los números

que están fuera de dicho rango.

Respuesta: -1 ..100, -1..10, 20

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 83

Motores

Los motores del Lego MINDSTORMS, son motores paso a paso, ya que poseen un controlador y sensor de rotación. Lo que permite su control y se pueden frenar o seguir su movimiento por inercia.

Hay dos bloques para trabajar con los motores uno en el menú como movimiento o acción. Que se encuentra en la Paleta de Complete (completa) en las opciones Common(común) y otro en la opción Action (acción). Son muy parecidos pero la diferencia es que la opción Action solo aparece el ícono de:

Y se usa para control individual de motores. No es buena idea hacer un proyecto y mezclar los dos tipos de motores, ya que uno es para control individual y el otro es para control de varios motores

Note que la opción Action, esta deshabilitada, ya que solo trabaja cuando la opción Duration es con el valor en Grados o Rotaciones

Se puede controlar con precisión la aceleración del motor mediante la opción "Ramp Up" o "rampa de bajada". Un motor en "Ramp Up" lentamente aumentará su velocidad hasta alcanzar potencia especificada. Un motor en "Rampa descendente" poco a poco disminuirá su velocidad hasta alcanzar el poder cero. Un motor ajustado a "Constant" llegará a plena potencia inmediatamente y para rápidamente, ya sea por inercia o frenado (según la configuración).

Valores de los estados de ACTION, para grados y rotaciones de paleta Complete

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 84

1. Seleccione el puerto donde desea controlar el motor.

2. Elija si el motor debe ir hacia delante, ir hacia atrás o detenerse.

3. Se puede controlar con precisión la aceleración del motor mediante la opción "Ramp Up"

rampa ascendente o "Ramp Down" o rampa descendente. Un motor en "Ramp Up"

lentamente aumentará su velocidad hasta alcanzar potencia especificada. Un motor en

"Rampa descendente" poco a poco disminuirá su velocidad hasta alcanzar el poder cero.

Un motor ajustado a "Constant" constante llegará a plena potencia inmediatamente y

parará rápidamente, ya sea por inercia o frenado (según la configuración)brake o coast.

4. Este es el cuadro de entrada editable o slider (deslizador) y le permitirá ajustar el nivel de

potencia de 0-100%.

5. Seleccione esta casilla si desea activar el control de potencia. Control de potencia

intentará compensar cualquier resistencia o deslizamiento que se encuentra con el motor.

Se aumentará de potencia a un máximo de 100% para mantener la misma cantidad de

rotación por segundo.

6. Mediante el menú desplegable Duración, ajuste el motor para que funcione durante un

intervalo indefinido o por un número determinado de vueltas, grados, o segundos.

7. Con "esperar a que finalicen" seleccionado, el motor va a terminar su acción

completamente antes de permitir que el programa siga adelante. Si anula la selección de

"esperar a que finalicen," otros bloques en el programa pueden continuar mientras el

motor completa su acción. Por ejemplo, un bloque de sonido colocado después del bloque

del motor podría empezar a reproducir un archivo de sonido, mientras que el motor

continúa su acción.

8. Elija si el motor va a frenar o la inercia después de terminar su actuación. Ajuste el motor

para frenar si desea que se detenga con precisión en una posición exacta y (intento de)

mantener esa posición. El frenado requiere batería adicional ya que el motor funciona más

para mantener la posición. Inercia es una buena opción si este bloque es seguido por otro

bloque de control del mismo motor.

9. Las cajas de retroalimentación mostrarán el cómputo de cuántos grados o total

rotaciones que gira su motor. Pulse el botón de reinicio para devolver los valores a cero.

(Para recibir información, asegúrese de que el motor está conectado al puerto elegido y

que se ha establecido comunicación con el NXT.)

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 85

Cables de Datos (Data Wires)

Los Cables de datos se utilizan para enviar información entre bloques de programación.

Muchos bloques requieren que un cable de datos se conecte, ya sea como entrada o salida

de datos. Por ejemplo, la salida del bloque que genera números al azar, será un valor que

sólo puede ser enviado a través de un cable de datos.

Apertura de centros de datos y la creación de cables de datos

Se crea un cable de datos por "dibujar hacia fuera" del centro de datos de un bloque. Casi

todos los bloques de programación tienen centros de datos y pueden soportar cables de

datos.

Abre centro de datos de un bloque haciendo clic en la pestaña en el borde inferior

izquierdo del bloque después de que se ha colocado en el área de trabajo.

Conectando un cable de datos

El cursor cambiará de forma cuando pasa por encima o está cerca de un conector de

datos. Si a continuación, pulsa el botón del ratón y arrastra hacia la derecha, un cable de

datos se "desenrolla" y que puede ser conectado a un enchufe de centro de datos de otro

bloque.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 86

Eliminación de un cable de datos

Para eliminar un cable de datos que se extiende de izquierda a derecha entre dos

enchufes de datos, haga clic en el enchufe correcto.

De entrada y de salida

Los cables de datos que llevan información a un bloque (es decir, la realización de entrada)

y están conectados a los enchufes en el lado izquierdo de su centro de datos. Los Cables

de datos que llevan información de distancia a partir de un bloque a otro bloque (es decir,

la realización de salida) están conectados a los enchufes en el lado derecho.

[A] conector de entrada

[B] conector de salida

[C] cable de datos Numérico (amarillo)

[D] cable de datos lógico (verde)

[E] cable de datos Texto (naranja)

[F] cable de datos Broken, Roto o averidado, no hay conexión (gris)

Cables de datos llevan a tipos específicos de datos

Cada cable de datos lleva a un tipo específico de datos entre los bloques. Por ejemplo, si

un cable de datos es arrastrado desde un enchufe lógico en el cubo de datos de un bloque,

sólo puede ser conectado a un enchufe lógico en el cubo de los datos de otro bloque.

Colores de los cables de datos

Cables de datos se identifican con colores específicos:

cables que transportan datos de número son de color amarillo

cables que llevan valor lógico (verdadero / falso) los datos son de color verde

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 87

cables que transportan datos de texto son de color naranja.

Cables de color gris, Roto, no hay conexión, se trata de un error, usted no podrá compilar

un programa con error en los cables.

Cables de datos Roto

Si intenta conectar un cable de datos a un enchufe del tipo de datos incorrecto, el cable de

datos será "roto" y de color gris. Usted no será capaz de descargar su programa si contiene

cables de datos rotas.

Si hace clic en un cable roto se puede leer por qué se rompe en la pequeña ventana de

ayuda en la esquina inferior derecha del área de trabajo.

Cada bloque tiene una tabla que indica las diferentes características de los conectores y

los valores de acuerdo al tipo de dato que emplea, para conocer que valores podemos

esperar en una conexión.

Por ejemplo, siempre es muy importante conocer los valores que mide un sensor, y para

ello básicamente usamos un ciclo y conectamos a un puerto de salida a un puerto de

entrada, para mostrar el valor del sensor. Recordemos que no podemos conectar cables

de diferente tipo, debemos usar una función de conversión de números a texto, para

poder mostrar los valores en la pantalla del NXT.

1 Bloque número a texto 7 Bloque tiempo, esperar 1 segundo

2 Bloque mostrar datos en ladrillo 8 Bloque ciclo por sensor rotación

3 Bloque mover motor B S Salida contador de ciclo

4 Bloque sensor rotación E Entrada numérica

5 Bloque número a texto S Salida tipo texto

6 Bloque mostrar datos en ladrillo E Entrada tipo texto

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 88

Esta gráfica muestra las diferentes características de los tapones en el centro de datos del

bloque de motor:

Conector

Tipo de dato

Rango posible

1

Puerto N 1-3 1 = A, 2 = B, 3 = C

2

Dirección L F-V Verdadero = Adelante

Falso = Retroceso

3

Acción N 0-2 0- Constante

1- Ramp Up

2- Ramp down 4

Poder N 0-100

5

Control poder motor

L F-V Verdadero = Adelante

Falso = Retroceso

6

Duración N 0-100

7

Esperar hasta completar

L F-V Verdadero = Adelante

Falso = Retroceso

8

Siguiente acción L Verdadero = Adelante

Falso = Retroceso

9

Dirección de salida

L F-V Verdadero = Adelante Falso = Retroceso

10

Salida en grados N 0 a 2147483647

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 89

Cables de datos Dañados

Aunque los bloques de un programa no se puedan ordenar incorrectamente, sí hay cuatro

maneras de conectarlos incorrectamente utilizando cables de datos. Estos errores de

conexión provocan que los cables de datos se "rompan" y se vuelvan de color gris. Los

programas con cables de datos averiados no pueden descargarse en el NXT.

Los cuatro errores posibles de los cables de datos son:

1. Incompatibilidad de tipos

2. Ciclo

3. Falta de entrada

4. Demasiadas entradas

Incompatibilidad de tipos

Cada cable de datos transporta un tipo de datos específico entre bloques de

programación. Por ejemplo, si se arrastra un cable de datos desde una toma de salida

lógica del concentrador de datos de un bloque, éste transportará datos lógicos. Este cable

de datos sólo puede conectarse a una toma de entrada lógica del concentrador de datos

de otro bloque.

Por la misma razón, las tomas de salida numéricas deben conectarse a tomas de entrada

numéricas y las tomas de salida textuales deben conectarse a tomas de entrada textuales.

Se produce un error de incompatibilidad de tipos si se conecta un cable de datos a tomas

de tipos de datos diferentes, por ejemplo, a una toma de salida lógica y una toma de

entrada textual.

Este error se puede evitar prestando especial atención al tipo de datos de las tomas a las

que conecta los cables de datos.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 90

Ejemplo: Suponga que desea visualizar un número en la pantalla del NXT. En el primer programa que se observa a continuación, se intenta que un cable de datos transporte datos numéricos a un

En el programa corregido, se ha añadido un bloque Formato de texto (que se encuentra en la Paleta de bloques avanzados) para convertir primero los datos numéricos a texto. Después, la salida textual del bloque Formato de texto se transporta a la toma de entrada textual del bloque Visualizar. El programa es válido y puede descargarse.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 91

Ciclo

Dado un conjunto de bloques y cables cualquier, si se puede seguir una ruta de cable que

pasa dos veces por el mismo bloque, hay un ciclo. Esto provoca que los cables de datos se

averíen y que el programa no sea válido.

La solución es quitar uno o más cables del ciclo.

Ejemplo: Suponga que desea crear un programa que vaya duplicando el valor de duración de un motor a partir de la lectura de la duración actual del motor, multiplicando el valor por dos y luego enviándolo a la toma de entrada del motor. El siguiente programa no funcionará porque los cables de datos crean un ciclo. Se puede observar que la ruta de cable pasa dos veces por cada uno de los bloques.

El siguiente programa soluciona el problema utilizando una variable numérica para enviar la duración duplicada al ciclo.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 92

Falta de entrada

Un cable de datos sin fuente de datos no puede funcionar, ya que no hay datos que

transportar, y se marca como averiado.

Por ejemplo, en un concentrador de datos que disponga de tomas de entrada y de salida

para una determinada propiedad, la toma de salida sólo funciona si otro cable de datos

está conectado a la toma de entrada proporcionando una fuente de datos a la toma de

salida.

Ejemplo: Suponga que desea pasar a través del concentrador de datos de otro bloque. En el siguiente programa, el cable de datos averiado (de color gris) no tiene datos que transportar porque nada "se pasa a través" del enchufe de entrada. El programa no es válido y no puede descargarse.

En el programa corregido que se observa a continuación, se ha conectado un cable de datos de entrada a la toma de entrada. Los datos numéricos de bloque Sensor Acústico ya se pueden pasar al bloque Convertir a Texto a través del bloque Matemáticas.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 93

Demasiadas entradas

Si hay dos o más cables de datos conectados a la misma toma de entrada, los cables de datos se

rompen y el programa no es válido.

La solución a este problema es eliminar o desplazar los cables de datos averiados de manera que

cada toma de entrada sólo esté conectada a una toma de salida.

Las ilustraciones siguientes muestran primero un programa no válido con cables de datos

averiados y a continuación el programa corregido.

Cómo eliminar un cable de datos, Para eliminar un cable de datos que se extiende de

izquierda a derecha entre dos tomas de datos, haga clic en la toma de la derecha.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 94

Proceso de Solución de problemas en robótica

Sentir Así como los seres humanos, percibimos el mundo por medio de nuestros sentidos, y esto nos permite desempeñarnos en él, cuando planeamos construir un robot, el sistema sensorial es fundamental, ya que por medio de sensores podemos captar señales del medio ambiente y transformarlas en insumos de información para tomar decisiones.

Pensar Pensar, planear, consiste en crear un “cerebro artificial” rudimentario comparado con el nuestro, para la toma de decisiones, por medio de algoritmos de computadoras y su sistema sensorial y de control para simular la “inteligencia”. Al final nuestro robot podrá hacer los que le hayamos programado en conjunto con sus sistema de movimiento.

Actuar Resolver un problema implica actuar, para ello el robot realizará tareas que implican desplazamiento, seguimiento, etc. Nuestro robot está diseñado para su mundo, que consiste el los diferentes grados de libertad que posea a la hora de realizar las tareas paras las que fue diseño, construido y programado.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 95

Anexos

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 96

Teclas rápidas o atajos

Windows Acción CTRL+A Anotación nueva

CTRL+B Detener NXT

CTRL+C Copiar CTRL+D Descargar a NXT

CTRL+E Configuración del experimento CTRL+F Captura de pantalla

CTRL+I Ventana de NXT CTRL+N Experimento nuevo

CTRL+O Abrir...

CTRL+P Imprimir

CTRL+Q Salir CTRL+R Descargar y ejecutar

CTRL+S Guardar CTRL+T Predicción

CTRL+U Cargar desde NXT

CTRL+V Pegar

CTRL+W Cerrar CTRL+X Cortar

CTRL+Z Deshacer CTRL+Shift+P Análisis de punto

CTRL+Shift+S Análisis de sección CTRL+Shift+Z Rehacer

F1 Ayuda 1 Paleta común

2 Paleta completa 3 Paleta personalizada

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 97

Paleta Común

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 98

Paleta Completa

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 99

Paleta Personalizada

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 100

El Controlador

Tamaño de los ejes

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 101

Paleta de colores para detección

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 102

Menús del ladrillo NXT

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 103

Menús del ladrillo NXT continuación

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 104

Menús del ladrillo NXT continuación

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 105

Construcción del Five Minutebot con rueda libre Base principal tomado de http://www.nxtprograms.com/NXT2/five_minute_bot/index.html y

modificado a partir del punto 5, diseño de rueda libre para kit 9797, por Pedro Fonseca Solano,

hecho en Lego Digital Designer.

1. Motores, llantas, ejes y buges

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 106

2. Vigas y clavijas

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 107

3. Colocando Batería Recargable o Baterías convencionales

Usted puede usar baterías AA para el NXT o la batería recargable

4. Clavijas de 5 orificios y clavija dobles

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 108

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 109

5. Chasis y rueda libre

Lista de partes

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 110

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 111

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 112

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 113

5 Vista completa de rueda libre y chasis

6. Cableado de motores

Conecte los cables al puerto B y C del ladrillo y al otro extremo a los motores B y C,

respectivamente del Five Minute Bot.

Material para Curso y Talleres de Robótica Pedro Fonseca Solano

Universidad Nacional – Costa Rica Página 114

Bibliografía

K.S. Fu, et al. (1988). Robótica: Control, Detección, Visión e Inteligencia. Editorial Mc-Graw-Hill.

David J, Perdue.(2008). The unofficial Lego MINDSTORM NXT Inventors Guide. Publisher William

Pollock.

Floyd Kelly, James.(2006). Lego MINDSTORM NXT. The Mayan Adventure. Publisher TIA.

Lego MINDSTORM.(2013).LenguajeNXT-G 2.0. Ayuda.