Você está na página 1de 19

TPP II

rea de Educacin Tecnolgica Tecnologa de los Procesos Productivos II 3 Ao

Cuadernillo N3

Programacin de sistemas.

LEGOMINDSTORMSNXT
Alumno:

Curso:

Ao: 2011

TPP II

Cuadernillo N 3

Pg. 1/19

TPP II

PAUTAS PARA LA PRESENTACION DEL TP N3


Para la presentacin del TP debes generar un archivo en Word que contenga todas las respuestas a los ejercicios y desafos El nombre del archivo Word deber ser Trabajo Prctico N2 El archivo deber estar guardado en el disco correspondiente a la sesin del grupo La primera pgina incluir una cartula con toda la informacin necesaria: - Asignatura - Ttulo: Trabajo Prctico N2 - Programacin de sistemas - LEGO NXT - Nombre de los docentes - Nombre de los integrantes del grupo - Nmero de Grupo - Curso La segunda pgina debe incluir un ndice que indique en que pgina se encuentra cada ejercicio. Cada pgina debe tener como pi de pgina el cdigo del grupo, el nmero de pgina y los apellidos de los integrantes. Para cada ejercicio debers incluir una imagen del Mindstorms y el diagrama de flujo correspondiente.

No dejes los diagramas de flujo para el final, ya que los ejercicios no se considerarn completos si no los incluyen.

TPP II

Cuadernillo N 3

Pg. 2/19

TPP II

El robot NXT

El controlador.
El ladrillo inteligente LEGO NXT, es el cerebro de nuestro robot. Es un microprocesador, con puertos de entrada, de salida y memoria para almacenar nuestros programas, que se comunica con la PC a travs de un puerto USB o Bluetooth. 1. Puerto USB. Mediante la conexin a este puerto, se pueden descargar los programas desde la PC o actualizar los datos desde el robot a la PC. 2. Puertos de Salida. El NXT tiene tres puertos de salida, etiquetados como A, B y C para usarlos con lmparas o motores. 3. Icono de Bluetooth. Muestra el estado actual de este tipo de conexin inalmbrica. 4. Icono del USB. Aparece en el caso de que el NXT est conectado a la PC con un cable USB. 5. Conexin al adaptador de corriente. En el caso de que sea necesario recargar la batera, y no se est utilizando pilas tipo AA, se puede conectar el robot a un adaptador de corriente.

TPP II

Cuadernillo N 3

Pg. 3/19

TPP II

1. Funcionamiento. Cuando el NXT est encendido, este icono se activa 2. Nivel de batera. Este icono muestra el nivel de carga de la batera; cuando ste es bajo (por debajo del 10 % de su capacidad), el icono parpadea. 3. Parlante. Cuando se incluyen sonidos en un programa, se pueden escuchar a travs del altavoz. 4. Botones de control - Naranja: Encender/Enter. - Grises: Navegacin, izquierda y derecha. - Gris oscuro: borrar/atrs. 5. Puertos de entrada. El NXT tiene cuatro puertos de entrada para el uso de los sensores. Se etiquetan como 1, 2, 3 y 4.

El men del controlador


My Files NXT Programs Try Me View Setting Bluetooth Software Files NXT Flies Sound Files Programas bajados desde la PC Programas creados directamente en el NXT Archivos de sonido

En este sub-men se puede programar directamente el NXT Programas precargados para probar motores y sensores. Deben usarse los puertos predeterminados Permite visualizar el estado de los motores y sensores en tiempo real Puede ajustar el volumen del sonido del NXT, ajustar el modo "sleep" para apagar automticamente el NXT y tambin borrar programas Permite ajustar los distintos parmetros de la comunicacin inalmbrica

TPP II

Cuadernillo N 3

Pg. 4/19

TPP II

Los motores del robot


podemos montar el motor en un eje y utilizarlo como sensor de rotacin. Sensor embutido de rotacin. Los servomotores interactivos tienen un sensor de rotacin embutido en cada uno de ellos. La retroalimentacin rotacional permite al NXT controlar movimientos de forma muy precisa. El sensor embutido de rotacin mide los giros del motor en grados (precisin de +/- un grado) o en vueltas completas. Un giro completo equivale a 360 grados, as que si se establece que el motor gire 180 grados, el vehculo realizar media vuelta.

A programar!
Para programar el NXT, utilizaremos el programa NXT-G, lenguaje grfico basado en LabView de National Instruments.

Pantalla de inicio

TPP II

Cuadernillo N 3

Pg. 5/19

TPP II rea de trabajo y control de descarga de programas

TPP II

Cuadernillo N 3

Pg. 6/19

TPP II Paleta bsica:

Transferir un programa al NXT


Para esto necesitamos conectar un extremo del cable USB al NXT, y el otro extremo a la PC.

TPP II

Cuadernillo N 3

Pg. 7/19

TPP II

Bloque VISUALIZAR
Este bloque se utiliza para visualizar una imagen, escribir texto o dibujar una forma en la pantalla de visualizacin del NXT. Si colocamos diversos bloques Display en fila se pueden crear dibujos ms complejos, aadiendo imgenes, texto y formas adicionales con cada nuevo bloque Display. Si se desea borrar el contenido de la pantalla antes de empezar, debe activarse la casilla de verificacin "Borrar". La pantalla mide 100 pxeles de ancho por 64 pxeles de alto.

Bloque ESPERAR
Se configura el tiempo que el programa hace una pausa antes de continuar con el bloque siguiente. Se deben elegir cuntos segundos desea esperar antes de que el programa contine.

Ejemplo Utilizacin del bloque VISUALIZAR (pantalla del NXT)


El siguiente programa muestra una imagen por 3 minutos, luego agrega un texto por otros 3 minutos y finaliza. Copia el siguiente ejemplo y comprueba su funcionamiento.

El borrado debe estar desactivado para que el texto se agregue al dibujo

Estas son las coordenadas de ubicacin del texto

TPP II

Cuadernillo N 3

Pg. 8/19

TPP II

Bloque de MOVER
Este bloque se utiliza para configurar el robot para que avance y retroceda en lnea recta o gire siguiendo una curva. Ejemplo Utilizacin del bloque MOVER El siguiente es un programa para que el vehculo avance durante 4 segundos y se detenga. Codifica el programa y comprueba su funcionamiento.

Parmetros del bloque:


Puertos de salida donde tenemos conectados los dos motores: en el B y el C. Sentido de avance: hacia delante. Posicin del volante (direccin): derecho Potencia: 75% Duracin: debemos elegir 4 segundos Siguiente accin: freno

TPP II

Cuadernillo N 3

Pg. 9/19

TPP II

Comencemos con los Desafos Desafo 1: Comencemos respondiendo las siguientes pregunta que en los prximos desafos lo utilizaremos.

1A A:- Carguemos el siguiente icono y con los


parmetros dados

B:- Si el robot no gira 90 grados variar la duracin de rotacin para que gire 90
grados.

C:- El resultado fue.duracin de rotacin giro 90 grados 1B A:- Carguemos el siguiente icono y con los
parmetros dados

B:- Si el robot no gira 90 grados variar los grados para que gire 90 grados. C:- El resultado fue.grados de rotacin equivale a un giro de
90 grados del robot

TPP II

Cuadernillo N 3

Pg. 10/19

TPP II

1C A:- Carguemos el siguiente icono y con los


parmetros dados

B:- Si el robot no gira 90 grados variar los segundos para que gire 90 grados. C:- El resultado fue.segundos giro 90 grados 1D

A:- Carguemos el siguiente icono y con los parmetros dados

B:- verificar si el robot avanzo 10 CM en caso de que no, modificar el tiempo


hasta que se desplace 10 CM.

C:- El resultado fue.segundos se desplazo 10 cm Desafo 2:


El robot debe avanzar durante 4 segundos y luego retroceder 4 segundos.

Desafo 3:
El robot debe avanzar 4 segundos, girar y regresar al punto de partida.

TPP II

Cuadernillo N 3

Pg. 11/19

TPP II

Desafo 4:
El robot debe avanzar 10 segundos, girar 90 y retroceder 20 cm. Al retroceder debe emitir un sonido. Al detenerse debe emitir otro sonido prolongado de aviso.

Desafo 5:
El robot debe realizar una trayectoria con forma de cuadrado.

Bloque de BUCLE
Este bloque se utiliza para repetir secuencias de cdigo. Se puede configurar la condicin que har finalizar el bucle: el tiempo transcurrido, el nmero de repeticiones, una seal lgica o un sensor. Tambin puede configurar un bucle infinito. Ejemplo - bloque de BUCLE En la resolucin de los ejercicios 5, vemos que la misma secuencia se repite varias veces, por lo que podramos utilizar un nuevo bloque llamado bucle de repeticin, que nos permitir ejecutar varias veces (en este caso cuatro) la misma secuencia. Para comenzar a utilizar este bloque realizaremos el siguiente ejemplo. En este caso el robot repite 5 veces emitir un sonido y luego avanzar durante 1 segundo.

Los parmetros del bucle de repeticin son los siguientes:

Programa el robot con este ejemplo y verifica el funcionamiento

TPP II

Cuadernillo N 3

Pg. 12/19

TPP II

Desafo 6:
Repite el ejercicio 5 para realizar 9 cuadrados.

Desafo 7:
Repite el ejercicio 3 utilizando el bloque de BUCLE para que lo repita 15 veces y luego mostrar una carita feliz

Desafo 8:
Realizar el programa para que el robot realice un 4 tringulo issceles seguidos. TRABAJO CON SENSORES - Puertos predeterminados

Conociendo los distintos sensores de nuestro robot:

Sensor de choque
Le proporciona al robot el sentido del tacto, tanto cuando se presiona como cuando se suelta.

Para ver la respuesta del sensor en la pantalla del NXT hay que seleccionar la opcin View. Conectar el sensor tctil al puerto 1 (Port 1) del NXT. 1. Seleccionar View en la pantalla del NXT. 2. Seleccionar el icono del sensor ("Touch") 3. Seleccionar el puerto 1 (Port 1) 4. Mantener pulsado el botn del sensor tctil mientras se observa la pantalla del NXT. 5. Ahora soltar el botn. Completar: Un _________ significa que el sensor no est pulsado. Un __________ significa que si lo est.

Desafo 9:
El robot debe AVANZAR hasta que choca, emitir un sonido y luego retroceder 4 cm.

TPP II

Cuadernillo N 3

Pg. 13/19

TPP II

Desafo A1 (avanzado):
El robot debe recorrer el circuito de la figura, los lados del rectngulo son desconocidos, el rectngulo exterior es una pared slida UTILIZAR UNAS DE LAS MESAS DEL LABORATORIO.

Sensor de Luz
Le proporciona al robot el sentido de la visin. Le permite al robot distinguir entre luz y oscuridad. El sensor es monocromtico, es decir puede distinguir entre el blanco y el negro pasando por una gama de grises, la lectura la entrega en porcentaje. Seleccionar View en la pantalla del NXT. 1. Seleccionar el icono Reflected light (luz reflejada). Seleccionar el puerto en el cual se tiene conectado el sensor. 2. Mantener el Sensor de Luz cerca de diferentes colores y ver las diferentes lecturas. 3. Seleccionar el icono ambient Light (luz ambiente). Seleccionar el puerto al que se tiene conectado el sensor. 4. Testear la luz ambiente con indicacin en porcentajes. Completar: El color rojo mide _________. El color negro mide __________. El color blanco mide __________.

Ejemplo Utilizacin del sensor de LUZ Al igual que en el caso del sensor de tacto, queremos que el robot avance hasta encontrar una lnea negra, y se detenga.

TPP II

Cuadernillo N 3

Pg. 14/19

TPP II

En realidad es exactamente el mismo programa, slo debemos cambiar los parmetros del panel de configuracin del bloque de espera.

Para calibrar el sensor debemos medir la luz, en la superficie clara y tambien en la lnea negra, para ello utilizaremos la funcin View directamente en el NXT, seleccionando la opcin de luz ambiente.

Desafo 10:
Realizar un programa para que el vehculo avance sobre una superficie hasta llegar una lnea negra cuando la detecte retroceda hasta encontrar otra lnea negra. Cada vez que detecta una lnea negra, debe emitir un sonido.

Desafo 11:
El robot debe avanzar hasta el borde de la mesa sin caerse.

Ejercicio A2 avanzado
Siga la lnea

Ayudas: 1. Para seguir una lnea negra, se utiliza un algoritmo que nos permite desplazarnos por el borde de la lnea. La idea es que cuando el robot est sobre la superficie clara, gire a la izquierda y cuando est sobre la lnea negra gire a la derecha. Mediante este movimiento de zig-zag, se logra el objetivo. 2. Ya sabemos como programar los giros y la espera por color negro, para la espera por color blanco slo tenemos que cambiar el signo menor < por mayor >, en el panel de configuracin del bloque de espera.

TPP II

Cuadernillo N 3

Pg. 15/19

TPP II

CONDICIONALES
El problema del bloque ESPERA, es que si la condicin de espera no se cumple nunca, el programa no pasa al siguiente bloque. Para evitar esta situacin utilizaremos la instruccin IF o SI, que en el caso del lenguaje de programacin NXT-G se llama Bifurcacin. Las bifurcaciones como su nombre lo dicen toman 2 caminos, pero en este caso depende de la variable que tomemos como condicin. Estas pueden tomar la condicin por sensores o por valores lgicos (Verdadero/ Falso).

Ejemplo de uso de CONDICIONES


El siguiente programa realizado con condicional enciende una lmpara cuando se presiona el sensor de tacto y la apaga cuando este se suelta.

Realiza el programa y comprueba su funcionamiento

TPP II

Cuadernillo N 3

Pg. 16/19

TPP II

Sensor de Ultrasonido
Sensor Ultrasnico
El sensor de ultrasonido permite al robot ver y reconocer objetos, eludir obstculos, medir distancias, y detectar movimientos. El sensor emite un sonido y mide el tiempo que la seal tarda en regresar, para luego calcular la distancia, a la cual se encuentra el objeto u obstculo. Es el mismo principio utilizado por los murcilagos y el sonar de las naves, tiene una rango de 0 a 255 cm con una precisin de +/- 3 cm. View 1. Conectar el sensor al NXT. Seleccionar View en la pantalla del NXT. 2. Seleccionar el icono del sensor de ultrasonidos. Intentar medir la distancia a un objeto. Mover el objeto acercndolo y observar las diferentes lecturas.

Ejemplo Utilizacin del bloque de BIFURCACION para CONDICIONES


Vamos a realizar el programa del ejercicio 13 de la siguiente forma: preguntamos por la condicin del sensor de ultrasonido. Si es menor que 20 cm, nos detenemos de lo contrario seguimos avanzando.

TPP II

Cuadernillo N 3

Pg. 17/19

TPP II

Fijate que si tomamos el robot y lo alejamos, seguir avanzando hasta que la distancia sea menos a 20 cm. Esta accin se repite en forma indefinida. Realiza el programa y comprueba su funcionamiento.

Desafo 12:
Realiza el diagrama de bloques del robot.

Desafo 13:
Realizar un programa para que el robot muestre una cara sonriente si el sensor de choque est pulsado, y si ste est sin pulsar, que muestre una cara triste. No olvides utilizar el bloque de bifurcacin.

Desafo 14:
En el ejercicio siguiente el robot debe responder al sensor de sonido. Si el sensor de sonido detecta algn ruido este debe retroceder con 1/4 de giro. Si no detecta ningn ruido debe detenerse.

Ejemplo con DOS CONDICIONES


Para ejemplificar el uso de dos condiciones, realizaremos el siguiente ejercicio: el robot debe avanzar hasta 20 cm de la pared o hasta encontrar una lnea negra. Lo que haremos es primero evaluar la condicin de distancia y luego la condicin de luz. Cualquiera de las dos que sea verdadera detendr el robot. Es importante notar que podemos anidar bloques de bifurcacin, es decir poner uno dentro de otro. Tambin podemos anidar repeticiones. Este programa no es posible realizarlo con los bloques de espera ya que quedamos a la espera de una condicin eternamente.

TPP II

Cuadernillo N 3

Pg. 18/19

TPP II

Bifurcacin anidada

Desafo 15:
Decisin de camino: el robot debe avanzar hasta que encuentre una lnea negra deber girar 90 grados y emitir un sonido intermitentemente 5 veces por 10 segundos en cambio si encuentra una lnea blanca se detendr , retorcer 10 centmetro.

Desafo 16:
Programar el robot para que se mueva segn el nivel de ruido que hay en el ambiente. Si hay silencio (nivel de sonido menor a 10) debe avanzar. Si el nivel de ruido se encuentra entre 10 y 90, debe retroceder. Si el nivel de ruido es superior a 90, se detiene y emite un sonido durante 10 segundos. Esto debe repetirse durante constantemente.

TPP II

Cuadernillo N 3

Pg. 19/19

Interesses relacionados