Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programación de sistemas.
LEGO MINDSTORMS NXT
2°rotación
Alumno:
Curso:
Año: 2012
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.
4. Botones de control
- Naranja: Encender/Enter.
A programar!
Para programar el NXT, utilizaremos el programa NXT-G, lenguaje gráfico basado en
LabView de National Instruments.
Pantalla de inicio
Paleta básica:
Para esto necesitamos conectar un extremo del cable USB al NXT, y el otro extremo a la PC.
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.
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.
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.
Potencia: 75%
¿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°
¿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°
¿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°
¿El robot avanzó 10cm? Si no avanzó 10cm, modificar el tiempo para que se desplace
10cm.
Completar - ……………….segundos equivalen a 10cm
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.
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.
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.
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.
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.
Sensor de Sonido
“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
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.
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.
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.
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.
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.
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).
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.
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.