Академический Документы
Профессиональный Документы
Культура Документы
Cuadernillo N3
Programacin de sistemas.
LEGOMINDSTORMSNXT
Alumno:
Curso:
Ao: 2011
TPP II
Cuadernillo N 3
Pg. 1/19
TPP II
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.
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
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
Cuadernillo N 3
Pg. 6/19
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.
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.
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.
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
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
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.
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
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).
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.
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.
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