Está en la 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

Software Files
NXT Flies
Sound Files

NXT
Programs

En este sub-men se puede programar directamente el NXT

Try Me
View
Setting
Bluetooth

TPP II

Programas bajados desde la PC


Programas creados directamente en el NXT
Archivos de sonido

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

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

También podría gustarte