cadernillo nxt
TRANSCRIPT
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
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.
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.
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
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
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
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.
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
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
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
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.
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
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á.
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.
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.
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
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.
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.
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.