cadernillo nxt

20
 TPP II  TP P II Cuad er nillo Nº 3 Pág. 1/19  Á r ea de Edu c ac ión Tecnoló g i c a Tecnología de los Procesos Productivos II o Cuadernillo Nº3 Programación de sistemas. LEGO MINDSTORMS NXT  A lumno: Curso:  A ño: 2011

Upload: dani-lo

Post on 14-Apr-2018

240 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 1/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 1/19

 Área de Educación Tecnológica

Tecnología de los Procesos Productivos II3° Año

Cuadernillo Nº3

Programación de sistemas.

LEGO MINDSTORMS NXT  Alumno:

Curso:

 Año: 2011

Page 2: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 2/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 2/19

PAUTAS PARA LA PRESENTACION DEL TP N°3

Para la presentación del TP debes generar un archivo en Word que contengatodas 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 seconsiderarán completos si no los incluyen.

Page 3: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 3/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 3/19

El robot NXT

El controlador.El ladrillo inteligente LEGO NXT, es el cerebro de nuestro robot. Es unmicroprocesador, con puertos de entrada, de salida y memoria para almacenarnuestros programas, que se comunica con la PC a través de un puerto USB oBluetooth.

1. Puerto USB. Mediante la conexión aeste puerto, se pueden descargar losprogramas desde la PC o actualizar losdatos desde el robot a la PC.

2. Puertos de Salida. El NXT tiene tres

puertos de salida, etiquetados como A, B yC para usarlos con lámparas o motores.

3. Icono de Bluetooth. Muestra el estadoactual de este tipo de conexióninalámbrica.

4. Icono del USB. Aparece en el caso deque el NXT esté conectado a la PC con uncable USB.

5. Conexión al adaptador de corriente.En el caso de que sea necesario recargarla batería, y no se esté utilizando pilas tipoAA, se puede conectar el robot a unadaptador de corriente.

Page 4: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 4/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 4/19

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

icono parpadea.

), el

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 PCNXT Flies Programas creados directamente en el NXTMy Files

Sound Files Archivos de sonidoNXTPrograms En este sub-menú se puede programar directamente el NXT

 Try Me Programas precargados para probar motores y sensores. Debenusarse los puertos predeterminados

View Permite visualizar el estado de los motores y sensores en tiemporeal

SettingPuede ajustar el volumen del sonido del NXT, ajustar el modo"sleep" para apagar automáticamente el NXT y también borrar

programasBluetooth Permite ajustar los distintos parámetros de la comunicación

inalámbrica

Page 5: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 5/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 5/19

Los motores del robotpodemos montar el motor en un eje y utilizarlo como sensor de rotación.Sensor embutido de rotación.

Los servomotores interactivos tienen unsensor de rotación embutido en cada uno deellos. La retroalimentación rotacionalpermite al NXT controlar movimientos deforma muy precisa. El sensor embutido derotación mide los giros del motor en grados(precisión de +/- un grado) o en vueltascompletas. Un giro completo equivale a 360grados, así que si se establece que el motorgire 180 grados, el vehículo realizará mediavuelta.

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

Pantalla de inicio

Page 6: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 6/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 6/19

Área de trabajo y control de descarga de programas

Page 7: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 7/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 7/19

Paleta básica:

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

Page 8: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 8/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 8/19

Bloque VISUALIZAREste bloque se utiliza para visualizar una imagen, escribir texto o dibujaruna forma en la pantalla de visualización del NXT. Si colocamos diversosbloques Display en fila se pueden crear dibujos más complejos,

añadiendo imágenes, texto y formas adicionales con cada nuevo bloqueDisplay. 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 ESPERARSe configura el tiempo que el programa hace una pausa antes de continuarcon el bloque siguiente.Se deben elegir cuántos segundos desea esperar antes de que el programacontinúe.

Ejemplo – Util ización del bloque VISUALIZAR (pantalla del NXT)El siguiente programa muestra una imagen por 3 minutos, luego agrega un texto porotros 3 minutos y finaliza.Copia el siguiente ejemplo y comprueba su funcionamiento.

El borrado debe estar desactivado paraque el texto se agregue al dibujo

Estas son las coordenadas de ubicación del texto

Page 9: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 9/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 9/19

Bloque de MOVEREste bloque se utiliza para configurar el robot para que avance y retroceda en línearecta 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 sedetenga. Codifica el programa y comprueba su funcionamiento.

Parámetros del bloque:

Puertos de salida donde tenemos conectadoslos 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

Page 10: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 10/19

 TPP II

Comencemos con los Desafíos

Desafío 1:

Comencemos respondiendo las siguientes preguntaque en los próximos desafíos lo utilizaremos.

1A –

A:- Carguemos el siguiente icono y con losparámetros dados

B:-  Si el robot no gira 90 grados variar la duración de rotación para que gire 90grados. 

C:-  El resultado fue……………….duración de rotación giro 90 grados

1B –

A:- Carguemos el siguiente icono y con losparámetros dados

B:- Si el robot no gira 90 grados variar los grados para que gire 90 grados.

C:-  El resultado fue……………….grados de rotación equivale a un giro de90 grados del robot

 TPP II Cuadernillo Nº 3 Pág. 10/19

Page 11: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 11/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 11/19

1C –

A:- Carguemos el siguiente icono y con los

parámetros 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 parámetros dados 

B:-  verificar si el robot avanzo 10 CM en caso de que no, modificar el tiempohasta que se desplace 10 CM. 

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

Desafío 2:El robot debe avanzar durante 4 segundos y luego retroceder 4 segundos.

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

Page 12: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 12/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 12/19

Desafío 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 deaviso.

Desafío 5:El robot debe realizar una trayectoria con forma de cuadrado.

Bloque de BUCLEEste bloque se utiliza para repetir secuencias de código. Se puedeconfigurar la condición que hará finalizar el bucle: el tiempotranscurrido, el número de repeticiones, una señal lógica o un sensor.

 También puede configurar un bucle infinito.Ejemplo - bloque de BUCLEEn la resolución de los ejercicios 5, vemos que la misma secuencia serepite varias veces, por lo que podríamos utilizar un nuevo bloque llamado“bucle” de repetición, que nos permitirá ejecutar varias veces (en este casocuatro) la misma secuencia.

Para comenzar a utilizar este bloque realizaremos el siguiente ejemplo. En estecaso 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

Page 13: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 13/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 13/19

Desafío 6:Repite el ejercicio 5 para realizar 9 cuadrados.

Desafío 7:Repite el ejercicio 3 utilizando el bloque de BUCLE para que lo repita 15 vecesy luego mostrar una carita feliz

Desafío 8:Realizar el programa para que el robot realice un 4 triángulo isóscelesseguidos.

TRABAJO CON SENSORES - Puertos predeterminados

Conociendo los distintos sensores de nuestro robot:

Sensor de choque

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

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

Para ver la respuesta del sensor en la pantalla del NXThay que seleccionar la opción “View”. Conectar el sensortá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á.

Page 14: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 14/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 14/19

Desafío A1 (avanzado):El robot debe recorrer el circuito de la figura, los lados del rectángulo sondesconocidos, el rectángulo exterior es una pared sólida UTILIZAR UNAS DELAS MESAS DEL LABORATORIO.

Sensor de LuzLe 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 distinguirentre el blanco y el negro pasando por una gama degrises, 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 elsensor.2. Mantener el Sensor de Luz cerca de diferentes coloresy 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 __________.

Ejemplo – Utilización del sensor de LUZ

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

Page 15: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 15/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 15/19

En realidad es exactamente el mismo programa, sólo debemos cambiar losparámetros del panel de configuración del bloque de espera.

Para calibrar el sensor debemos medir la luz, en la superficie clara y tambienen la línea negra, para ello utilizaremos la función “View” directamente en elNXT, seleccionando la opción de “luz ambiente”.

Desafío 10:Realizar un programa para que el vehículo avance sobre una superficie hastallegar una línea negra cuando la detecte retroceda hasta encontrar otra líneanegra. Cada vez que detecta una línea negra, debe emitir un sonido.

Desafío 11:El robot debe avanzar hasta el borde de la mesa sin caerse.

Ejercicio A2 avanzado

“Siga la línea”

Ayudas:1. Para seguir una línea negra, se utiliza un algoritmo que nospermite desplazarnos por el borde de la línea. La idea es quecuando el robot está sobre la superficie clara, gire a laizquierda y cuando esté sobre la línea 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 colornegro, para la espera por color blanco sólo tenemos quecambiar el signo menor “<” por mayor “>”, en el panel deconfiguración del bloque de espera.

Page 16: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 16/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 16/19

CONDICIONALESEl problema del bloque “ ESPERA” , es que si la condición de espera no secumple nunca, el programa no pasa al siguiente bloque. Para evitar esta

situación util izaremos la instrucción “ IF” o “ SI” , que en el caso dellenguaje de programación NXT-G se llama “ Bifurcación” .Las bifurcaciones como su nombre lo dicen toman 2 caminos, pero eneste caso depende de la variable que tomemos como condición. Estaspueden tomar la condición por sensores o por valores lógicos(Verdadero/ Falso).

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

Realiza el programa y comprueba su funcionamiento

Page 17: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 17/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 17/19

Sensor de UltrasonidoSensor UltrasónicoEl sensor de ultrasonido permite al robot“ver” y reconocer objetos, eludirobstáculos, medir distancias, y detectarmovimientos.El sensor emite un sonido y mide eltiempo que la señal tarda en regresar,para luego calcular la distancia, a la cualse encuentra el objeto u obstáculo.Es el mismo principio utilizado por losmurciélagos y el sonar de las naves, tieneuna rango de 0 a 255 cm con unaprecisión de +/- 3 cm.

“View”1. Conectar el sensor al NXT. Seleccionar“View” en la pantalla del NXT.2. Seleccionar el icono del sensor deultrasonidos. Intentar medir la distancia aun objeto. Mover el objeto acercándolo yobservar las diferentes lecturas. 

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

Page 18: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 18/19

 TPP II

 TPP II Cuadernillo Nº 3 Pág. 18/19

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

Realiza el programa y comprueba su funcionamiento.

Desafío 12:

Realiza el diagrama de bloques del robot.

Desafío 13:Realizar un programa para que el robot muestre una cara sonriente si el sensorde choque está pulsado, y si éste está sin pulsar, que muestre una cara triste.No olvides utilizar el bloque de bifurcación.

Desafío 14:En el ejercicio siguiente el robot debe responder al sensor de sonido. Si el

sensor de sonido detecta algún ruido este debe retroceder con 1/4 de giro. Sino detecta ningún ruido debe detenerse.

Ejemplo con DOS CONDICIONESPara ejemplificar el uso de dos condiciones, realizaremos el siguiente ejercicio:el robot debe avanzar hasta 20 cm de la pared o hasta encontrar una líneanegra.Lo que haremos es primero evaluar la condición de distancia y luego lacondición de luz. Cualquiera de las dos que sea verdadera detendrá el robot.

Es importante notar que podemos anidar bloques de “bifurcación”, es decirponer uno dentro de otro. También podemos anidar “repeticiones”.

Este programa no es posible realizarlo con los bloques de “espera” ya quequedamos a la espera de una condición eternamente.

Page 19: cadernillo nxt

7/29/2019 cadernillo nxt

http://slidepdf.com/reader/full/cadernillo-nxt 19/19

 TPP II

TPP II CuadernilloNº3 Pág 19/19

Bifurcaciónanidada

Desafío 15:Decisión de camino: el robot debe avanzar hasta que encuentre una líneanegra deberá girar 90 grados y emitir un sonido intermitentemente 5 veces por10 segundos en cambio si encuentra una línea blanca se detendrá , retorcerá10 centímetro.

Desafío 16:Programar el robot para que se mueva según el nivel de ruido que hay en el

ambiente. Si hay silencio (nivel de sonido menor a 10) debe avanzar. Si el nivelde ruido se encuentra entre 10 y 90, debe retroceder. Si el nivel de ruido essuperior a 90, se detiene y emite un sonido durante 10 segundos. Esto deberepetirse durante constantemente.