Primeros pasos con Lego Mindstorm
Primeros pasos con Lego Mindstorm.
Tecnologías utilizadas
Si queremos hablar de las tecnologías de Lego Mindstorms debemos diferenciar, con respecto al hardware, entre los dos bloques principales (los bloques dónde se encuentran los mecanismos electrónicos que permiten la mayoría de las acciones del robot). El primero fue el bloque RCX, y el nuevo, el NXT.
Bloque RCX: El bloque RXC es el bloque central del robot que contiene el firmware básico para el control de los diversos dispositivos con los que esté equipado, y permite almacenar los programas en su memoria interna.
- Microcontrolador: El microcontrolador interno que incorporan pertenece a la serie Hitachi H8/3000, alimentado por 5 V (con 6 pilas AA de 1,5 V cadacuna) y una velocidad aproximada de 16 MHz. Todo esto acompañado por una ROM de 16 Kb, una RAM de 32 Kb y un decodificador A D/. Su principal inconveniente es que no permite la programación concurrente (varios hilos dʼejecución).
- Entrada/Salida: Con respecto a las entradas incorpora tres conexiones para los sensores y, en lo referente a las salidas necesarias por suministrar energía a los motores, incorpora también tres conexiones con una diferencia de potencial de 9 V.
- Comunicaciones: Los bloques centrales RXC incorporan una pantalla LCD que muestra cierta información (detección de los sensores, nivel de batería, temporizador, sentido de movimiento de los motores, estado de la conexión inalámbrica) al programador durante la ejecución de sus programas al robot. Además , incorpora un puerto infrarrojo en la parte delantera que permite una conexión inalámbrica con el robot, aún siendo algo reducida puesto que la distancia máxima es de 30 cm.
Bloque NXT: El bloque NXT es una versión mejorada de su predecesor que, además , se vendía con unos kits específicos para los usuarios según el tipo de software que querían utilizar con sus Lego Mindstorm.
- Microcontrolador: El microcontrolado del bloque NXT es un ARM7 (de tipo RISC) de 32 bits con 256 Kb de memoria Flash y 64 Kb de RAM.
- Entrada/Salida: En el bloque NXT tenemos también 3 salidas idénticas al modelo RXC pero añade una nueva conexión dʼentrada (4 en total) que son compatibles con RXC mediante unos adaptadores. Se mantiene la pantalla LCD.
- Comunicaciones: Las novedades más importantes respeto a RXC se dan en este campo. Los nuevos NXT se interconectan con los ordenadores mediante la interfaz USB 2.0 o Bluetooth, con las ventajas que esto presenta.
Bloque Lógico RCX del Lego Mindstorms
Con respecto al software, el producto incorpora un software integrado de programación basado en un entorno visual dónde un usuario que no esté familiarizado con el concepto de programación no tenga demasiadas dificultades. Este lenguaje permito instrucciones secuenciales, cíclicas y de control de flujo(de decisión).
Pero este en torno a desarrollo no permito a los programadores un control absoluto y una optimización mayor de los recursos del robot. En un principio se consigue obtener el código fuente de la memoria ROM y así poder interpretar y modificar en assembler6. Pero por más comodidad a lʼhora de programar, se crearan lenguajes de programación alternativos. Los más importantes son:
- BrickOS: Conjunto de librerías que permitían instalar a la BIOS de los robots un micro sistema operativo desde el que se podía programar posteriormente en C, C++ y assembler.
- LejOS: A diferencia del BrickOS, LejOS instala una máquina virtual de Java, en vez del micro sistema operativo, el que permito a lʼusuario programar Java.
- Not Quite C (NQC): Es una versión muy parecida al lenguaje de programación C (de ahí su nombre) que es el único que convive con framework7 original sin cambiarlo.











