You are on page 1of 3

Universidad Nacional de Colombia. Agudelo, Pinilla, Snchez. Introduccin a la Plataforma LEGO.

Introduccin a la Plataforma LEGO Mindstroms


Agudelo, Daniela., Pinilla, Andrs y Snchez, Daniel.
{sdagudelos, afpinillat, djsanchezm}@unal.edu.co

Resumen En el informe presentado a continuacin, se


encontrar de una manera precisa los lineamientos que se
deben tomar a la hora de trabajar la plataforma de
programacin NXC, usada para controlar los conocidos robots
programables Lego Mindstorms. Tambin se utilizaron
cdigos simples que permitirn conocer de una mejor manera
la lgica de procesamiento de dichos robots en tareas de
desplazamiento y velocidad.
I. INTRODUCCIN
El presente documento, est enfocado a ser un primer
acercamiento a la plataforma LEGO Mindstroms, en particular
al lenguaje de programacin NXC, con el fin de permitir a
aquellos que buscan iniciarse en reas bsicas, pero prcticas
de la disciplina de Control, una aproximacin amable a
algunas caractersticas de hardware y software que ella
presenta.
La manera en la que la prctica se desarroll, consisti en
primera medida de establecer algunas definiciones bsicas de
la plataforma, as mismo a las caractersticas principales de
algunos de los sensores ms comunes, tambin se busc
aproximarse a la programacin del lenguaje y sus parmetros.
Entre las dificultades encontradas se destac la falta de
conocimiento por parte del equipo elaborador, en la existencia
y manejo de este tipo de tecnologa.
II.
A.
1)

PROCEDIMIENTO

Introduccin al Hardware
Mecanismos de alimentacin elctrica

La fuente de alimentacin puede ser una batera recargable


de litio o seis pilas AA. stas ltimas deben ser,
preferiblemente, no recargables, ya que la potencia que
entregan puede variar y ocasionar fallas energticos.
El adaptador para realizar la conexin puede tiene una
tensin nominal de 120VAC a 60Hz, aunque tambin est para
otros pases con 230VAC a 50Hz.

El reemplazo de las bateras debe tomar un tiempo inferior


a un minuto, de lo contrario la informacin almacenada se
pierde.
2)

Comunicacin entre actuadores y el brick

En la seccin connections se puede ver los dispositivos a


los que el NXT est conectado, incluyendo otros NXT. El
nmero mximo de dispositivos conectados a la vez es 3, pero
la comunicacin del NXT con los perifricos slo puede
realizarse uno por uno.
3)

Elementos internos

a) Procesador principal y de respaldo

Se cuenta un procesador principal ARM7 de 32-bits, con


una FLASH de 256 Kbytes y una RAM de 64 Kbytes. Trabaja
a 48MHz. El procesador de respaldo es un ATMEL AVR de o
bits, con 4 kbytes de FLASH y 512 bytes de RAM. Trabaja a
8MHz.
Estos dos procesadores se comunican mediante el protocolo
I2C a 380kbytes/s, al actualizar dos registros de memoria cada
2ms.
b) Puertos de entrada y salida

Los cuatro puertos de entrada se comunican con el


procesador AVR, el cual toma 333 muestras por segundo,
convirtiendo los datos anlogos a digitales, para ser enviados al
procesador principal. Los tres puertos de salida permiten al
NXT interactuar con los actuadores mediante seales PWM,
las cuales son controladas por un motor (700mA, 1A pico).
c) Puerto USB

El bloque de NXT puede comunicarse con el computador


mediante la interfaz de USB que posee, la cual ya viene en la
versin 2.0.
d) Bluetooth

El dispositivo CSR BlueCore TM en su versin 2.0, cuenta


con el sistema Enhanced Data Rate (EDR), el cual es
compatible con los modos de modulacin a 2Mbps y 3Mbps.

Universidad Nacional de Colombia. Agudelo, Pinilla, Snchez. Introduccin a la Plataforma LEGO.

e) Matriz de puntos

La pantalla se compone de una matriz de puntos, con


dimensiones: 60 x 100 pixeles.
f) Parlante

El parlante es controlado por el procesador principal por


medio de pulsos modulados segn su ancho.
El parlante funciona a 8KHz y tiene una impedancia de
6. El consumo de potencia se da de acuerdo a la frecuencia.
[1]
B.

Estructura de programacin

La estructura bsica de programacin bajo el lenguaje NXT


en BricxCC puede describirse o definirse en dos partes. El
lenguaje como tal, que permite conocer la sintaxis de nuestros
programas y el API que se conoce as por sus siglas en ingls
(Application Programming Interface) que se encarga de
almacenar las funciones, constantes y macros de los
programas que se desean compilar.

En cuanto a las sentencias que se utilizar en BricxCC, se


tienen las ya utilizadas en C: If, if else, while, do while, for,
repeat, switch, goto y until [3].
En cuanto a los sensores que el brick puede utilizar, dos de
los ms importantes debido a sus mltiples aplicaciones son
los de Luz y Ultrasonido.
El sensor de Luz funciona a travs de un LED emisor
integrado [4], el cual posibilita medir y clasificar la intensidad
de luz reflejada sobre los objetos de su entorno en una escala
que va desde 0 hasta 100. Este dispositivo puede ser usado de
dos maneras diferentes como lo son: la identificacin de
colores y la medicin de luz ambiental.

La programacin en NXC tiene ciertas reglas de escritura.


Por ejemplo: se entender que al colocar comandos como
while, se debern respetar las letras maysculas y
minsculas, ya que si se coloca While o wHile, el
compilador no reconocer el comando y las fallas empezarn a
presentarse.
De igual manera, la forma de presentar en el programa
nmeros o palabras deber ser regulada, ya que BrixCC puede
reconocer nmeros tanto en decimal como hexadecimal y en el
caso de las palabras, la plataforma reconocer nicamente las
palabras dentro de comillas, como una variable String.
Antes de continuar y hablar de las estructuras bsicas del
lenguaje, es necesario nombrar las constantes soportadas por
el compilador. A continuacin se exponen los diferentes tipos
de variables junto a un ejemplo [2].

Ilustracin 1Sensor de Luz


Por su parte el sensor de Ultra sonido enva ondas de alta
frecuencia que rebotan sobre los objetos y vuelven al sensor
[4], con lo cual le basta para establecer distancias y posibles
geometras de lo que enfrente de l se encuentra. El alcance
de este dispositivo es de 100 pulgadas con una error no mayor
a 3 pulgadas.

TABLA I

Tipos de Variables
Variable
Bool
Byte
Char
Int
Short
Long
Unsigned
Float
Mutex
String

Ejemplo
True or False
A
1, -23
Oxfff , -23
-88235
2.7182
"Hola"

Arrays

arreglo [];

Ilustracin 2 Sensor de Ultrasonido


Los sensores anteriores a pesar de ser altamente confiables
presentan dos limitaciones, donde una de ellas es respecto a su
par de la versin EV3, la primera es que deben estar
conectados al brick de manera almbrica lo que puede
restringir su uso y la segunda de ellas es que los sensores EV3
devuelven valores nuevos en 1000 veces/seg mientras que los
sensores NXT solo devuelven valores nuevos 333 veces/seg.
C.

Introduccin al Software

Por el momento no es necesario.

Universidad Nacional de Colombia. Agudelo, Pinilla, Snchez. Introduccin a la Plataforma LEGO.


III.

CONCLUSIONES

Por el momento no son necesarias.

REFERENCIAS
[1] NXT User Guide. Lego Mindstorms Education. [En
lnea]. Consultado el 18 de Agosto de 2014 en:
http://cache.lego.com/downloads/education/9797_LME_
UserGuide_US_low.pdf
[2] Doxygen 1.6.2 NXC. Version 1.2.1.[En lnea]. Consultado
el
19
de
agosto
de
2014
en:
http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_Guide.pd
f
[3] D. Benedettelli, Programming LEGO NXT Robots using
NXC, vol. Version 2.2, J. Hansen, Ed., 2007.
[4] J. Jerry Lee Ford, LEGO MINDSTORMS NXT for Teens,
CENAGE Learning, 2010.

You might also like