Anda di halaman 1dari 15

Programando con TurtleBots

Programacin con TurtleBots para Lego NXT

Autor
Versin
Ubicacin

Fabiana Pedrini

Fecha

03/03/15

Plan Ceibal Laboratorios Digitales

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

ndice
TurtleBots para Lego NXT..........................................................................................................3
Men........................................................................................................................................3
Bloques....................................................................................................................................4
Bloques de NXT....................................................................................................................6
Motores...........................................................................................................................6
Sensores..........................................................................................................................8
Ejemplos.................................................................................................................................10
Obtener el valor de un sensor..............................................................................................10
Probar el funcionamiento de un sensor ................................................................................11
Encender motores asincrnicos............................................................................................11
Deteccin de objeto ...........................................................................................................12
Utilizar teclado para controlar al robot..................................................................................12
Control de cambios..................................................................................................................16
Modificaciones....................................................................................................................16
Revisiones..........................................................................................................................16

MAN.LAB.Tortugarte_Lego

Pgina 2 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

TurtleBots para Lego NXT


TurtleBots es una Actividad desarrollada por Facultad de Ingeniera a partir de la Actividad
Tortugarte, que permite la programacin de los distintos kits de robtica entregados por Plan
Ceibal.

Men
En el Men podremos encontrar las siguientes funciones:

cono

Descripcin
Archivo.- Permite Guardar el archivo, abrir uno ya creado,
compartir el archivo en el Vecindario y agregarle una breve
descripcin.

Herramientas.- Permite copiar al marco, pegar un objeto


que tengamos en el marco y volver.

Ver.- Permite visualizar la Actividad en pantalla completa,


agregar coordenadas cartesianas, polares o en centmetros,
tambin permite agrandar y achicar el tamao de las letras
de los bloques.
Bloques.- Permite visualizar la paleta de bloques para
poder realizar la programacin.

Borrar.- Elimina cualquier dibujo realizado en la pantalla.

MAN.LAB.Tortugarte_Lego

Pgina 3 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

Ejecutar.- Permite ejecutar el programa de dos formas:


- Rpida (conejo)
- Paso a paso (caracol)
Parar.- Permite parar la ejecucin de un programa. Este
cono slo aparece cuando el programa se encuentra
ejecutando.
Esconder.- Esconde los bloques de la pantalla de
programacin y la paleta.

Ayuda.- Brinda ayuda al usuario. Para ello debe seleccionar


la paleta de la que desea tener informacin y luego
seleccionar la opcin ayuda.
Ejemplos.- Permite seleccionar ejemplos precargados de
Tortugarte.

Salir.- Permite salir de la Actividad.

Bloques
Al seleccionar la opcin de Bloques se despliega un submen con las distintas paletas
cono

Descripcin
Comandos de la tortuga.- Permite el movimiento de la
tortuga.

Pluma.- Bloques que permiten a la tortuga dejar un rastro.

MAN.LAB.Tortugarte_Lego

Pgina 4 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

Clores.- Permite seleccionar un color para el rastro que deje


la tortuga al usar la pluma.

Operadores numricos.- Proporciona bloques con


operadores numricos y lgicos para realizar la
programacin.
Operadores de flujo.- Un operador de flujo definido por el
usuario permite definir el procesamiento personalizado de
los flujos de eventos.
Variables.- Permite la creacin de subrutinas y variables.

Sensores.- Bloques de sensores proporcionados por la


laptop o para la generacin de los mismos.
Medios.- Permite la interaccin entre el programa y el
usuario, la cmara o archivos que se encuentren en el diario.
Adicionales.- Bloques para programacin compleja.

Presentacin.- Bloques utilizados para la presentacin


multimedia.

Robtica.- Plugin para la programacin de los distintos kits


de robtica.

MAN.LAB.Tortugarte_Lego

Pgina 5 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

Bloques de NXT
Para controlar el robot de Lego NXT encontraremos dentro de la pestaa de robtica dos paletas
para su programacin:

cono

Descripcin
Motores.- Permite el control de los motores y reproduccin
de sonidos del controlador.
Sensores.- Bloques que permiten el control de los sensores.

Motores
Al iniciar el programa los bloques de control se encontrarn de color gris como muestra la
siguiente imagen.

Para poder utilizar los bloques es necesario tener conectado al puerto USB el controlador prendido,
arrastrar el bloque de refrescar NXT al rea de programacin como muestra la imagen. Una vez
reconocido el controlador los bloques cambiaran a color verde.

Dentro de la paleta de Motores de NXT podremos encontrar los siguientes bloques:

cono

Descripcin
Refrescar NXT.- Reconoce al controlador conectado.

MAN.LAB.Tortugarte_Lego

Pgina 6 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

NXT.- Establece el dispositivo de NXT actual.

Nmero de NXTs.- Devuelve el nmero de dispositivos


NXT.
Nombre del brick.- Obtiene el nombre del NXT.

Reproducir tono.- Reproduce un tono en cierta frecuencia


por un tiempo determinado.

Girar motor.- Permite el movimiento de un motor en el


puerto determinado, con una cantidad de rotaciones en una
potencia.
Nota: La potencia puede ser entre -128 y 128, el signo
determina el sentido del movimiento del motor.

Sincronizar motores.- Permite el movimiento sincronizado


de los motes que se encuentren conectados en los puertos B
y C por una cantidad de rotaciones y potencia determinada.

Sincronizar motores.- Permite el movimiento sincronizado


de los motes que se encuentren conectados en los puertos B
y C a una potencia determinada.
Puertos.- Bloques para conectar en la descripcin del
puerto dependiendo de donde se encuentre conectado el
motor en el controlador.
Nota: Tambin se puede escribir la letra del bloque en la
descripcin del puerto.
Iniciar motor.- Inicia el movimiento del motor por siempre
conectado en el puerto seleccionado.

MAN.LAB.Tortugarte_Lego

Pgina 7 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

Frenar motor.- Frena un motor especfico.


Nota: Es recomendable siempre tener este bloque en el rea
de programacin cuando se utilizan los bloques que inician
por siempre el movimiento del motor.
Reiniciar motor.- Reinicia el contador del motor.

Posicin del motor.- Obtiene la posicin del motor.

Sensores
cono

Descripcin
Sensor de Luz.-

Sensor de escala de grises.-

Sensor de botn o tacto.- Devuelve el valor 0 si el sensor


no se encuentra presionado y 1 en caso de estar presionado.
Sensor de distancia.- Mide una distancia entre 0 a 255
cm.
Sensor de sonido.-

Sensor de color.Nota: Slo se encuentra disponible en el kit de Lego NXT 2.0


Puertos.- Bloques para conectar en la descripcin del
puerto dependiendo de donde se encuentre conectado el
sensor en el controlador.
Nota: Tambin se puede escribir el nmero en el bloque en
la descripcin del puerto.

MAN.LAB.Tortugarte_Lego

Pgina 8 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

Nivel de batera.- Obtiene el nivel de batera en milivotls.

Color como luz.- Utiliza el sensor de color como sensor de


luz.
Nota: Slo se encuentra disponible en el kit de Lego NXT 2.0
Prender luz.- Prende la luz del sensor de color.
Nota: Slo se encuentra disponible en el kit de Lego NXT 2.0

MAN.LAB.Tortugarte_Lego

Pgina 9 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

Ejemplos
A continuacin algunos ejemplos que expliquen las conexiones y funciones de los bloques

Obtener el valor de un sensor


Para obtener el valor de un sensor es necesario utilizar el bloque imprimir que se encuentra en la
paleta de adicionales

Es necesario que el programa siempre se intente obtener el valor, quedando la programacin de la


siguiente forma.

Donde imprime en pantalla el valor del sensor de distancia conectado al puerto 1.

MAN.LAB.Tortugarte_Lego

Pgina 10 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

Probar el funcionamiento de un sensor


En este ejemplo mostraremos como saber si un sensor se encuentra funcionando.
Para ello la programacin que queremos realizar es que siempre detecte el uso del sensor de
botn o tacto, y en caso de presionarlo que reproduzca un sonido.

Encender motores asincrnicos


En este ejemplo mostraremos cmo encender primero un motor y luego otro conectado a otro
puerto.

MAN.LAB.Tortugarte_Lego

Pgina 11 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

Deteccin de objeto
Utilizaremos el sensor de distancia para poder detectar un objeto.
La programacin inicia los dos motores de forma sincrnica y en caso del sensor de distancia
conectado al puerto 4 detecte un objeto a una distancia menor a 15 cm este se detiene.

Utilizar teclado para controlar al robot


En el ejemplo que veremos a continuacin se programar el control del robot utilizando el teclado.
1. Arrastrar el bloque de consulta de teclado que se encuentra dentro de la paleta de
Sensores

2. Encastrar el conjunto de bloques que aparecieron en el rea de programacin luego de


arrastrar el bloque de consulta de teclado en un bloque de accin que se encuentra en la
paleta de Variables. El bloque de accin permite la creacin de subrutinas que luego
pueden ser llamadas recursivamente desde el programa principal, una vez que se asigne
un nombre a dicha accin.
En el programa principal encastrar dentro del bloque empezar el bloque por siempre
disponible en la paleta de Operadores de flujo. Como es necesario que siempre el
programa este buscando cuando se presiona una tecla, dentro del por siempre se encastra

MAN.LAB.Tortugarte_Lego

Pgina 12 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

el bloque accin creado anteriormente que nombramos buscar Tecla disponible en la


paleta de Variables.
Notar que el bloque de accin tiene la caracterstica que en la parte superior tiene una
punta indicando que es el bloque de comienzo de subrutina.

3. El fin del programa es controlarlo con las teclas del teclado para ello vamos a designar que
letras vamos a utilizar y cul va a ser la funcin que cumpla cada uno:

a: Encender los motores conectados a los puertos B y C de forma sincronizada


con los motores girando en sentido horario.

s: Encender los motores conectados a los puertos B y C de forma sincronizada con


los motores girando en sentido anti horario.

d: Frena ambos motores

Luego es necesario agregar los condicionales y el operador = encastrado a la primer


condicin en el programa principal como muestra la imagen.

MAN.LAB.Tortugarte_Lego

Pgina 13 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

4. En la primera condicin es necesario que cumpla que si se presiona la tecla a el robot


avance. Para ello se debe:

Igualar la tecla a utilizando el bloque de texto que se encuentra en la paleta de


bloques Medios a el bloque teclado disponible en la paleta de Sensores

Dentro de dicha condicin agregar el bloque de accin de avanzar.


Notar que el bloque de accin que se encastra es un bloque con el nombre de la accin
que nos permite llamar dicha subrutina dentro del programa principal.

5. Realizar las subrutinas de retroceder y frenar

MAN.LAB.Tortugarte_Lego

Pgina 14 de 16

Programando con TurtleBots


Plan Ceibal Laboratorios Digitales

6. Realizar las llamadas a las subrutinas dependiendo de la letra que se presione

MAN.LAB.Tortugarte_Lego

Pgina 15 de 16

Anda mungkin juga menyukai