Sei sulla pagina 1di 21

Area Educacion Tecnológica

Área de Educación Tecnológica


Tecnología de los Procesos Productivos II
3° Año

Programación de sistemas.
LEGO MINDSTORMS NXT 
2°rotación 

Alumno:

Curso:

Año: 2012

TPP II Programación NXT 2° rotación Pág. 1/21


Area Educacion Tecnológica

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 través de un puerto USB o
Bluetooth.
1. Puerto USB. Mediante la conexión 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 lámparas o motores.
3. Icono de Bluetooth. Muestra el estado
actual de este tipo de conexión
inalámbrica.
4. Icono del USB. Aparece en el caso de
que el NXT esté conectado a la PC con un
cable USB.
5. Conexión al adaptador de corriente.
En el caso de que sea necesario recargar
la batería, y no se esté utilizando pilas tipo
AA, se puede conectar el robot a un
adaptador de corriente.

TPP II Programación NXT 2° rotación Pág. 2/21


Area Educacion Tecnológica

1. Funcionamiento. Cuando el NXT está


encendido, este icono se activa

2. Nivel de batería. Este icono muestra el


nivel de carga de la batería; 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 través
del altavoz.

4. Botones de control

- Naranja: Encender/Enter.

- Grises: Navegación, izquierda y derecha.

- Gris oscuro: borrar/atrás.

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

Software Files Programas bajados desde la PC


My Files NXT Flies Programas creados directamente en el NXT
Sound Files Archivos de sonido
NXT
En este sub-menú se puede programar directamente el NXT
Programs
Programas precargados para probar motores y sensores. Deben
Try Me
usarse los puertos predeterminados
Permite visualizar el estado de los motores y sensores en tiempo
View
real
Puede ajustar el volumen del sonido del NXT, ajustar el modo
Setting "sleep" para apagar automáticamente el NXT y también borrar
programas
Permite ajustar los distintos parámetros de la comunicación
Bluetooth
inalámbrica

TPP II Programación NXT 2° rotación Pág. 3/21


Area Educacion Tecnológica

Los motores del robot


Los servomotores, le darán movimiento a nuestro robot.
Los motores incluyen un sensor de rotación, con una precisión de +/- 1 grado, también
podemos montar el motor en un eje y utilizarlo como sensor de rotación.
Sensor embutido de rotación.
Los servomotores interactivos tienen un
sensor de rotación embutido en cada uno
de ellos. La retroalimentación rotacional
permite al NXT controlar movimientos de
forma muy precisa. El sensor embutido de
rotación mide los giros del motor en grados
(precisión 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 vehículo realizará
media vuelta.

Robot básico LEGO NXT


A continuación se ve una imagen del robot sin los sensores. Realiza el diagrama de
bloques para comenzar a familiarizarte con los elementos a controlar mediante
programas.

TPP II Programación NXT 2° rotación Pág. 4/21


Area Educacion Tecnológica

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

Pantalla de inicio

Área de trabajo y control de descarga de programas

TPP II Programación NXT 2° rotación Pág. 5/21


Area Educacion Tecnológica

Paleta básica:

TPP II Programación NXT 2° rotación Pág. 6/21


Area Educacion Tecnológica

Transferir un programa al NXT

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

PAUTAS PARA LA PRESENTACION DEL TP N°2


 Para la presentación del TP debes generar un archivo en Word que contenga todas
las respuestas a los ejercicios y desafíos
 El nombre del archivo Word deberá ser Trabajo Práctico N°2
 El archivo deberá estar guardado en el disco correspondiente a la sesión del grupo
 La primera página incluirá una carátula con toda la información necesaria:
- Asignatura
- Título: “Trabajo Práctico N°2 - Programación de sistemas - LEGO NXT”
- Nombre de los docentes
- Nombre de los integrantes del grupo
- Número de Grupo
- Curso
 La segunda página debe incluir un índice que indique en que página se encuentra
cada ejercicio.
 Cada página debe tener como pié de página el código del grupo, el número de
página y los apellidos de los integrantes.
 Para cada ejercicio deberás 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


considerarán completos si no los incluyen.

TPP II Programación NXT 2° rotación Pág. 7/21


Area Educacion Tecnológica

Ejercicio INICIAL - Familiarizándonos con el Robot LEGO NXT completo.


Realiza el Diagrama de Bloques del Robot. Tene en cuenta todas las partes analizadas,
la pantalla, los botones,etc.
Realiza el diagrama en VISIO y agregalo al Trabajo Práctico.

Bloque VISUALIZAR
Este bloque se utiliza para visualizar una imagen, escribir texto o dibujar
una forma en la pantalla de visualización del NXT. Si colocamos diversos
bloques Display en fila se pueden crear dibujos más complejos, añadiendo
imágenes, 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 verificación "Borrar".
La pantalla mide 100 píxeles de ancho por 64 píxeles de alto.

Bloque ESPERAR
Se configura el tiempo que el programa hace una pausa antes de continuar
con el bloque siguiente.
Se deben elegir cuántos segundos desea esperar antes de que el programa
continúe.

Ejemplo – Utilización 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.

TPP II Programación NXT 2° rotación Pág. 8/21


Area Educacion Tecnológica

El borrado debe estar desactivado para


que el texto se agregue al dibujo

Estas son las coordenadas de ubicación del texto

Desafío con el bloque VISUALIZAR


Ejercicio 1:
En la pantalla del NXT deberá aparecer la palabra “cargando” seguida de los puntos
suspensivos, aunque estos aparecerán progresivamente, cada punto en un segundo.
Toda la palabra se escribirá en las coordenadas (8,32).
Nota: tener en cuenta que las partes deben quedar en la pantalla y las siguiente deben
agregarse. Para esto deberá desactivarse la función “Borrar”.

Bloque de MOVER
Este bloque se utiliza para configurar el robot para que avance y retroceda en línea
recta o gire siguiendo una curva.

Ejemplo – Utilización del bloque MOVER


El siguiente es un programa para que el vehículo avance durante 4 segundos y se
detenga. Codifica el programa y comprueba su funcionamiento.

TPP II Programación NXT 2° rotación Pág. 9/21


Area Educacion Tecnológica

Parámetros del bloque:


Puertos de salida donde tenemos conectados los
dos motores: en el B y el C.
Sentido de avance: hacia delante.

Posición del volante (dirección): derecho

Potencia: 75%

Duración: debemos elegir 4 segundos

Siguiente acción: freno

Los parámetros del Bloque MOVER


1.A. Carguemos el siguiente icono con los parámetros dados

¿El robot gira 90°? Si el robot no gira 90° variar la “duración en rotaciones” para que
gire 90°.
Completar - ……………….rotaciones equivalen a 90°

1.B. Carguemos el mismo icono con los siguientes parámetros

¿El robot gira 90°? Si el robot no gira 90° variar la “duración en grados” para que gire
90°.
Completar - ……………….grados equivalen a 90°

TPP II Programación NXT 2° rotación Pág. 10/21


Area Educacion Tecnológica

1.C. Carguemos el mismo icono con los siguientes parámetros

¿El robot gira 90°? Si el robot no gira 90° variar la “duración en segundos” para que gire
90°.
Completar - ……………….segundos equivalen a 90°

1.D. Carguemos el mismo icono con los siguientes parámetros

¿El robot avanzó 10cm? Si no avanzó 10cm, modificar el tiempo para que se desplace
10cm.
Completar - ……………….segundos equivalen a 10cm

Completa la siguiente tabla con los datos obtenidos:


Grados de Grados de Rotaciones Segundos
giro duración
1
90

Esta tabla debe aparecer en el TP.

Bloque de SONIDO
Puede utilizar este bloque para reproducir un archivo de sonido o un tono individual.
Para componer una melodía de tonos, se colocan diversos bloques Sonido en fila y se
los configura para que cada uno reproduzca tonos diferentes.

Si se selecciona "Esperar hasta finalización" en el panel de configuración, el archivo de


sonido o el tono acabará de reproducirse antes de que el programa pase al bloque
siguiente. Si no selecciona esta opción, el archivo de sonido o el tono continuará
reproduciéndose mientras el siguiente bloque del programa se ejecute.

Si elige "Repetir", el archivo de sonido se reproducirá una y otra vez.

TPP II Programación NXT 2° rotación Pág. 11/21


Area Educacion Tecnológica

Bloque de LAMPARA
El bloque LAMPARA permite encender una luz conectada al puerto A, mediante un
cable especial. Necesitarás un bloque para encenderla y otro bloque para separarla.

Desafíos con el bloque MOVER, el bloque LAMPARA y el bloque SONIDO


Ejercicio 2:
El robot debe avanzar 30 cm, girar 180° y regresar al punto de partida. Al detenerse
debe encender la lámpara durante 2 segundos.
Ejercicio 3:
El robot debe emitir un sonido durante 2 segundos, luego retroceder durante 4
segundos, detenerse 1 segundo y finalmente avanzar 3 segundos.

Ejercicio 4:
El robot debe retroceder 30 cm, girar 90° a la izquierda y avanzar otros 60 cm
encendiendo y apagando la luz mientras avanza (1/2 seg encendida y 1/2 seg
apagada).
Ejercicio 5:
El robot debe realizar una trayectoria con forma de cuadrado. Al finalizar se detiene y
muestra un mensaje de “DETENIDO” por pantalla junto con una imagen de “atención”

Bloque de BUCLE
Este bloque se utiliza para repetir secuencias de código. Se puede
configurar la condición que hará finalizar el bucle: el tiempo transcurrido, el
número de repeticiones, una señal lógica o un sensor. También puede
configurar un bucle infinito.

TPP II Programación NXT 2° rotación Pág. 12/21


Area Educacion Tecnológica

Ejemplo - bloque de BUCLE


En la resolución de los ejercicios 7a y 7.b, vemos que la misma secuencia se repite
varias veces, por lo que podríamos utilizar un nuevo bloque llamado “bucle” de
repetición, 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 parámetros del bucle de repetición son los siguientes:

Programa el robot con este ejemplo y verifica el funcionamiento.

Desafíos con el BUCLE


Ejercicio 6:
Realiza el ejercicio 5 (cuadrado) utilizando el bloque de BUCLE.

Ejercicio 7:
El robot debe avanzar 40cm encendiendo y apagando la lámpara en forma intermitente
(1 seg. Encendida y un seg. Apagada) mientras avanza, debe girar 90° a la izquierda y
luego retroceder 50 cm emitiendo un sonido intermitente (0.5 seg encendido y 0.5 seg
apagado). Utilizar el bloque BUCLE.

Ejercicio 8
El robot debe realizar 3 trayectorias con forma de triángulo rectángulo como muestra la
figura. Utilizar el bloque BUCLE.

TPP II Programación NXT 2° rotación Pág. 13/21


Area Educacion Tecnológica

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 opción “View”. Conectar el sensor táctil 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 botón del sensor táctil mientras se
observa la pantalla del NXT.
5. Ahora soltar el botón.
Completar:
Un _________ significa que el sensor no está pulsado. Un
__________ significa que si lo está.

Sensor de Sonido

Le permite al robot “escuchar”.


El sensor de sonido puede detectar tanto decibeles
(dB), como decibeles ajustados (dBA). Decibel es una medida
de la presión de sonido.
dBA: La sensibilidad del sensor es ajustada al oído humano.
db: La sensibilidad del sensor, no está ajustada y puede
“escuchar” sonidos por debajo o por encima de la capacidad
del oído humano.
El sensor puede medir sonido hasta de 90 dB. La lectura del

TPP II Programación NXT 2° rotación Pág. 14/21


Area Educacion Tecnológica

sonido se visualiza en porcentaje de acuerdo a la siguiente


tabla:

“View”
Se puede medir sonidos utilizando la característica “View”.
1. Seleccionar “View” en el display del NXT. Seleccionar el
icono de sonidos dB. Seleccionar el puerto 2.
2. Emitir sonidos al micrófono (sensor de sonido) y ver las
lecturas en el NXT. También se pueden realizar lecturas de los
sonidos de alrededor.
Completar:
Un aplauso a 1 metro de distancia mide _________ dB. El
nivel de ruido de la clase es de __________ dB.

Sensor de Luz
Le proporciona al robot el sentido de la visión.
Le permite al robot distinguir entre luz y oscuridad.
El sensor es monocromático, 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 indicación en porcentajes.
Completar:
El color rojo mide _________.
El color negro mide __________.
El color blanco mide __________.

Sensor Ultrasónico
El sensor de ultrasonido permite al robot “ver” y reconocer
objetos, eludir obstáculos, medir distancias, y detectar
movimientos.
El sensor emite un sonido y mide el tiempo que la señal tarda
en regresar, para luego calcular la distancia, a la cual se

TPP II Programación NXT 2° rotación Pág. 15/21


Area Educacion Tecnológica

encuentra el objeto u obstáculo.


Es el mismo principio utilizado por los murciélagos y el sonar
de las naves, tiene una rango de 0 a 255 cm con una precisión
de +/- 3 cm.
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 acercándolo y
observar las diferentes lecturas.

Ejemplo – Utilización del sensor de CHOQUE


Realizar un programa para que el vehículo retroceda hasta que choque.
A diferencia de los programas anteriores, ahora nuestro bloque de control de
movimiento, debe hacer que el robot se desplace sin límites, por lo que en el parámetro
duración elegiremos “ilimitado”.
Bien, ahora tenemos que detener el robot cuando choque, para lo
cual utilizaremos el bloque de espera, pero en lugar de especificar
tiempo como en el ejercicio 5, elegiremos sensor de tacto.

Desafíos con el sensor de CHOQUE


Ejercicio 9:
El robot debe retroceder hasta choca, detenerse 1 segundo, avanzar 20 cm, detenerse
y emitir un sonido.

TPP II Programación NXT 2° rotación Pág. 16/21


Area Educacion Tecnológica

Ejercicio 10:
El robot debe recorrer el circuito de la figura, los lados del rectángulo son
desconocidos, el rectángulo exterior es una pared sólida.

Ejemplo – Utilización del sensor de LUZ


Al igual que en el caso del sensor de tacto, queremos que el robot
avance hasta encontrar una línea negra, y se detenga.

En realidad es exactamente el mismo programa, sólo debemos cambiar los parámetros


del panel de configuración del bloque de espera.

Para calibrar el sensor debemos medir la luz, en la superficie clara y tambien en la


línea negra, para ello utilizaremos la función “View” directamente en el NXT,
seleccionando la opción de “luz ambiente”.

Desafío con el SENSOR DE LUZ


Ejercicio 11:
Realizar un programa para que el vehículo avance sobre una superficie rayada (cebra).
Cada vez que detecta una línea negra, debe encender la luz.

Ejercicio 12
El robot debe avanzar sin caer de la mesa. Al llegar al borde de la mesa, debe emitir un
sonido y mostrar por pantalla un mensaje que diga “PELIGRO” junto con una imagen
acorde, durante 5 segundos.

TPP II Programación NXT 2° rotación Pág. 17/21


Area Educacion Tecnológica

Ejercicio 13:
El robot se encuentra detenido, mostrando el símbolo de “STOP” en pantalla, con el
sensor de tacto presionado. Al liberar el sensor de tacto, debe avanzar, mostrando
una carita sonriente por pantalla, hasta que detecta una línea blanca, detenerse y emitir
un sonido alternado de 2 tonos, 5 veces.

Ejemplo – Utilización del sensor de SONIDO

En el panel de configuración del bloque “esperar”, el parámetro de control será el


sensor de sonido. Se debe ajustar la sensibilidad para que opere cuando se de
una orden en voz alta o un aplauso.

Al igual que en el caso anterior, queremos que el robot avance hasta que emitimos una
orden en voz alta o un aplauso, y se detenga.

Para calibrar el sensor debemos medir el nivel de sonido de un aplauso. Para ello
utilizaremos la función “View” directamente en el NXT, seleccionando la opción
correspondiente.

Desafío con el SENSOR DE SONIDO


Ejercicio 14:
Realizar un programa para que, cuando se detecta un aplauso el vehículo emita un
sonido durante 3 segundos y luego comience a avanzar. Cuando se detecta otro
aplauso, se detiene y emite otro sonido durante 3 segundos.

TPP II Programación NXT 2° rotación Pág. 18/21


Area Educacion Tecnológica

Ejemplo – Utilización del sensor de ULTRASONIDO

El sensor de ultrasonido se utiliza para medir la distancia a la cual el robot se


encuentra de un objeto. El objeto debe ser capaz de reflejar el sonido.
Superficies rugosas o telas no reflejan muy bien el sonido.

De la misma forma que en otros ejemplos, realizaremos un


programa, para que nuestro robot avance hasta encontrarse a 20 cm
de la pared.
Comenzamos con el bloque de movimiento y cuando la distancia sea
menor que 20 cm, el vehículo se detiene.

Realiza el programa y comprueba su funcionamiento.

Desafío con el SENSOR DE ULTRASONIDO


Ejercicio 15:
Realizar un programa para que el vehículo se mueva entre 2 paredes. Debe avanzar
hasta estar a 30 cm de la pared de adelante, detenerse y retroceder hasta chocar
contra la pared de atrás.
Este procedimiento deberá repetirse 4 veces.
Ejercicio 16:
Realizar un programa para que el vehículo avance hasta estar a 60 cm de la pared. Allí
se detiene, emite un sonido durante 2 segundos y vuelve a avanzar hasta quedar a 30
cm de la pared. Allí se detiene nuevamente y gira 180°.
Este procedimiento debe repetirse 5 veces.

Ejercicio 17:
Realizar un programa para que el robot se comporte como una alarma. El robot gira
sobre si mismo y cada vez que un objeto se aproxima a menos de 30 cm de distancia,
el robot debe emitir 3 veces una alarma dos sonidos alternados.

TPP II Programación NXT 2° rotación Pág. 19/21


Area Educacion Tecnológica

CONDICIONALES
El problema del bloque “ESPERA”, es que si la condición de espera no se cumple
nunca, el programa no pasa al siguiente bloque. Para evitar esta situación
utilizaremos la instrucción “IF” o “SI”, que en el caso del lenguaje de
programación NXT-G se llama “Bifurcación”.
Las bifurcaciones como su nombre lo dicen toman 2 caminos, pero en este caso
depende de la variable que tomemos como condición. Estas pueden tomar la
condición por sensores o por valores lógicos (Verdadero/ Falso).

Ejemplo de uso de CONDICIONES


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

Realiza el programa y comprueba su funcionamiento.

TPP II Programación NXT 2° rotación Pág. 20/21


Area Educacion Tecnológica

Ejemplo – Utilización del bloque de BIFURCACION para CONDICIONES


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

Fijate que si tomamos el robot y lo alejamos, seguirá avanzando hasta que la distancia
sea menos a 20 cm. Esta acción se repite en forma indefinida.

Realiza el programa y comprueba su funcionamiento.

Desafíos con el BLOQUE DE BIFURCACION


Ejercicio 18:
Realizar un programa para que el robot muestre una cara triste si el sensor de choque
está pulsado, y si éste está sin pulsar, que muestre una cara sonriente.
No olvides utilizar el bloque de bifurcación. Este proceso se realiza en forma constante.

Ejercicio 19
El NXT dependiendo de la cantidad de luz, si detecta menos de 50 enciende la lámpara
2 segundos, y si detecta más, muestra en la pantalla una carita feliz.

TPP II Programación NXT 2° rotación Pág. 21/21

Potrebbero piacerti anche