Articulo de referencia

Lego Mindstorms NXT

Logotipo de Lego Mindstorms NXT "Golf bot", un robot construido con el set NXT. Lego Mindstorms NXT es un kit de robótica programable lanzado por Lego el 2 de agosto de 2006. [ ...

Logotipo con la palabra "mindstorms" sobre un fondo naranja.
Logotipo de Lego Mindstorms NXT
Un pequeño robot en el suelo
"Golf bot", un robot construido con el set NXT.

Lego Mindstorms NXT es un kit de robótica programable lanzado por Lego el 2 de agosto de 2006. [ 1 ] [ 2 ] Reemplazó al Robotics Invention System , el kit Lego Mindstorms de primera generación . El kit base se vende en dos versiones: la versión comercial [ 3 ] y el kit base educativo. [ 4 ] Incluye el software de programación NXT-G o el LabVIEW opcional para Lego Mindstorms. [ 5 ] Existen varios lenguajes no oficiales, como NXC, NBC, leJOS NXJ y RobotC. Un kit de segunda generación, Lego Mindstorms NXT 2.0, se lanzó el 1 de agosto de 2009, con un sensor de color y otras mejoras. La tercera generación, EV3, se lanzó en septiembre de 2013. [ 6 ]

Ladrillo inteligente NXT

Partes del kit
Kit Lego Mindstorms NXT
Un robot humanoide
Robot construido a partir del kit

El componente principal del kit es el ordenador NXT Intelligent Brick, que puede recibir información de hasta cuatro sensores y controlar hasta tres motores con una versión modificada de cables RJ12 (similares a las líneas telefónicas RJ11 , pero incompatibles con ellas). El pasador de plástico que sujeta el cable en el conector se ha desplazado ligeramente hacia la derecha. El Brick cuenta con una pantalla LCD monocromática de 100 × 64 píxeles y cuatro botones para navegar por una interfaz de usuario con menús jerárquicos. Incorpora un microcontrolador Atmel AT91SAM7 S256 de 32 bits con núcleo ARM7TDMI , 256 KB de memoria FLASH y 64 KB de RAM, un microcontrolador Atmel AVR ATmega48 de 8 bits y compatibilidad con Bluetooth. El kit incluye un altavoz y puede reproducir archivos de audio con frecuencias de muestreo de hasta 8 kHz. La alimentación se suministra mediante 6 pilas AA (1,5 V cada una) en la versión para el consumidor y una batería recargable de iones de litio en la versión educativa. El ladrillo es compatible con los sensores y motores de su sucesor Lego Mindstorms EV3 . [ 7 ]   

Kits de desarrollo

Lego ha publicado el firmware de código abierto para el ladrillo inteligente NXT y los esquemas de todos los componentes de hardware. [ 8 ]

Existen varios kits de desarrollo disponibles con documentación para el NXT:

  • Kit de desarrollo de software (SDK), con información sobre controladores USB del host, formato de archivo ejecutable y referencia de código de bytes.
  • Kit de desarrollo de hardware (HDK), con documentación y esquemas para el módulo NXT y los sensores.
  • Kit de desarrollo de Bluetooth (BDK), que documenta los protocolos utilizados para las comunicaciones Bluetooth.

Programación

Se pueden crear programas sencillos mediante el menú del NXT Intelligent Brick. Los programas más complejos y los archivos de sonido se pueden descargar mediante un puerto USB o Bluetooth. Los archivos se pueden copiar de forma inalámbrica entre dos NXT Bricks, y algunos teléfonos móviles pueden usarse como control remoto. Hasta tres NXT Bricks pueden comunicarse simultáneamente por Bluetooth al ejecutar programas creados por el usuario.

La versión comercial del kit incluye software para escribir programas que se ejecutan en ordenadores personales con Windows y Mac OS. Este software, basado en LabVIEW de National Instruments , proporciona un lenguaje de programación visual para escribir programas sencillos y descargarlos al NXT Brick; en lugar de que los usuarios tengan que escribir líneas de código, pueden usar bloques similares a diagramas de flujo para diseñar su programa.

NXT
NXT-G v2.0 es un entorno de programación gráfica que viene incluido con el NXT y se puede usar para programar en el mundo real. El software puede ejecutar varios bucles en paralelo o combinar el control autónomo con Bluetooth u otro control remoto. Es compatible con instrumentos virtuales para todos los Lego y la mayoría de los sensores y componentes de terceros. La versión 2.0 incluye nuevos desafíos, un control remoto, diseñadores de gráficos y sonido personalizados, y compatibilidad con el sensor de color de Lego. [ 9 ]
C# con Microsoft Robotics Developer Studio
Las herramientas gratuitas ( Visual Studio Express en combinación con Robotics Developer Studio ) permiten programar el NXT utilizando el lenguaje C# . [ 10 ]
BricxCC, Siguientes códigos de byte, No exactamente C
Bricx Command Center (BricxCC) es el entorno de desarrollo integrado (IDE) utilizado para escribir, compilar y editar programas NBC y NXC para el NXT. Además, como BricxCC se creó originalmente para el RCX , se pueden escribir programas para este utilizando NQC a través de BricxCC. Se pueden flashear diferentes versiones de firmware al NXT utilizando BricxCC. Next Byte Codes (NBC) es un lenguaje de código abierto sencillo con una sintaxis de lenguaje ensamblador que se puede utilizar para programar el ladrillo NXT. BricxCC también tiene la capacidad de descompilar ejecutables .rxe estándar de NXT a NBC. Not eXactly C (NXC) es un lenguaje de código abierto de alto nivel , [ 11 ] similar a C y construido sobre el compilador NBC. Se puede utilizar para programar el ladrillo NXT. NXC es básicamente NQC para el NXT. [ 12 ]
Robolab
El nuevo entorno de programación se utilizaba originalmente en el ladrillo programable RCX. La versión 2.9 se ha actualizado para programar el ladrillo NXT. Lego ha anunciado que dejará de dar soporte a Robolab, pero Robolab 2.9 sigue estando disponible. [ 13 ]
RoboMente
RoboMind es un software educativo para enseñar a los estudiantes sobre lógica, programación y robótica. Los scripts se pueden transferir a un robot Lego Mindstorms NXT para realizar pruebas. [ 14 ]
Encantador
Enchanting incorpora la programación NXT al entorno de desarrollo Scratch, diseñado por el Lifelong Kindergarten Group del MIT para que la programación sea intuitiva para los niños pequeños.
ROBOTC
ROBOTC es un lenguaje de programación basado en C para VEX, VEX Cortex, FIRST Tech Challenge y Lego Mindstorms . Permite que el NXT ejecute programas rápidamente y comprime archivos para alojar una gran cantidad de programas.
NXTGCC
Un conjunto de herramientas GCC para programar el firmware NXT en C.
leJOS NXT
leJOS NXJ es un lenguaje de código abierto de alto nivel basado en Java que utiliza firmware personalizado. [ 15 ]
nxtOSEK
nxtOSEK se puede utilizar para escribir en C y C++ con firmware personalizado. [ 16 ]
ICONO
ICON puede escribir archivos en el propio NXT. [ 17 ] [ 18 ]
MATLAB es un lenguaje de programación de alto nivel para computación numérica, adquisición y análisis de datos. Puede controlar robots Lego NXT a través de un puerto serie Bluetooth (la comunicación por puerto serie forma parte de la funcionalidad básica de MATLAB) o mediante USB . [ 19 ] (gratuito y de código abierto). Simulink es un entorno de diagramas de bloques para modelar y simular sistemas dinámicos. Un usuario puede diseñar y simular algoritmos de control y sistemas Lego, y programar el Lego NXT o EV3. [ 20 ]
Lua
plLua [ 21 ] es una adaptación del lenguaje de programación Lua , un lenguaje de scripting de propósito general, para Lego Mindstorms.
Ada
Una versión de GNAT [ 22 ] para el NXT. Se basa en un kernel de tiempo de ejecución dedicado basado en el perfil Ravenscar utilizado en el satélite Goce , lo que permite características Ada de alto nivel para desarrollar sistemas concurrentes y en tiempo real en Mindstorms NXT.
URBI
URBI es un lenguaje paralelo, orientado a eventos, con interfaces para C++/Java y Matlab. Posee una arquitectura de componentes (UObject) para su distribución. Urbi es compatible con numerosos robots, entre ellos Nao (véase Robocup), Bioloid y Aibo. [ 23 ]
Navegación FLL NXT
FLL Nxt Navigation [ 24 ] es un programa de código abierto para ayudar a la navegación en la mesa de competición de FLL. Utiliza NXT-G y archivos .txt para escribir programas.
Ruby-nxt
Ruby-nxt [ 25 ] es una biblioteca para programar el NXT en el lenguaje de programación Ruby . El código no se compila en un archivo binario (a diferencia de otros lenguajes para el NXT), sino que se transmite al NXT a través de Bluetooth.
Robótica.NXT
Robotics.NXT [ 26 ] es una interfaz Haskell para NXT a través de Bluetooth. Admite comandos directos, mensajes y numerosos sensores, y permite el control sencillo de un módulo NXT mediante mensajes a través de un programa ejecutado remotamente. Incluye código NXC básico.
LibNXT
LibNXT [ 27 ] es una biblioteca de utilidades para comunicarse con el ladrillo inteligente Lego Mindstorms NXT a un nivel relativamente bajo. Está dirigida a plataformas que no son compatibles con el software oficial de Lego Mindstorms NXT (como Linux) y funciona en cualquier sistema operativo compatible con POSIX que admita libusb 0.1. También es posible la compatibilidad con Windows mediante la versión win32 de libusb.
C_NXT
C_NXT [ 28 ] es una biblioteca para controlar Lego NXT, licenciada bajo la GPLv2 . Permite a los usuarios controlar un Lego NXT vía Bluetooth desde otros programas en C. La biblioteca, que se ejecuta en Linux, proporciona control de bajo nivel y abstracción de alto nivel.
PyNXC
PyNXC [ 29 ] es un proyecto que convierte código Python a Not Exactly C (NXC) [ 30 ] para descargarlo a robots Lego Mindstorms.
NXT-Python
NXT-Python [ 31 ] es un módulo de Python que se comunica con el NXT a través de USB o Bluetooth. Admite comandos y varios sensores del mercado de accesorios.
Software LEGO Mindstorms EV3
El software que viene con el nuevo kit Mindstorms EV3 puede programar el NXT. [ 32 ]
Juguetes electrónicos físicos
Diagrama de programación
Un coche Lego NXT que evita las paredes, implementado en Physical Etoys.
Physical Etoys es un sistema de programación visual para dispositivos electrónicos que admite modos directo y compilado.
Intérprete de C/C++ Ch
Ch es un intérprete de C/C++ que ejecuta código C/C++ para controlar Lego NXT o EV3. No se requiere carga/descarga de firmware ni compilación. El código AC/C++ que se ejecuta en Ch puede controlar un Lego NXT, un EV3 o varios NXT/EV3. [ 33 ]

Sensores y actuadores

El kit base Lego Mindstorms NXT incluye: [ 34 ]

  • Tres servomotores con conjuntos de engranajes reductores incorporados y codificadores rotativos ópticos internos que detectan sus rotaciones con una precisión de un grado. [ 35 ]
  • Un sensor táctil detecta si se presiona, se golpea o se suelta. El botón naranja de entrada y los botones grises derecho e izquierdo de NXT se pueden programar como sensores táctiles. En el software de programación NXT-G, se asigna un valor de 0 cuando no se presiona y un valor de 1 cuando se presiona. [ 36 ]
  • Un sensor de luz detecta el nivel de luz en una dirección e incluye un LED para iluminar un objeto. Puede detectar valores de luz reflejada con el LED rojo incorporado o luz ambiental. En el software de programación NXT-G, detecta la luz en una escala de 0 a 100; 100 representa una luz muy brillante y 0 una luz oscura. [ 37 ] Si se calibra, el sensor puede utilizarse como sensor de distancia.
  • Un sensor de sonido mide el volumen en una escala de 0 a 100; 100 es muy fuerte y 0 es silencioso.
  • Un sensor ultrasónico puede medir la distancia desde el sensor hasta el objeto que tiene enfrente y detectar movimiento. Puede mostrar la distancia en centímetros y pulgadas. La distancia máxima que puede medir es de 233 centímetros (92 pulgadas) , con una precisión de 3 centímetros (1,2 pulgadas) . El sensor emite ondas sonoras ultrasónicas que rebotan en el objeto que tiene delante y luego regresan, y detecta el tiempo que tarda. [ 38 ]  

Otras piezas pueden adquirirse por separado. [ 39 ] Empresas externas fabrican sensores como brújula , giroscopio , rastreador infrarrojo , lector RFID y sensores de acelerómetro que vende Lego. El sensor de temperatura puede medir en grados Celsius o Fahrenheit.

Conector

Los sensores se conectan al módulo NXT mediante un conector modular de seis posiciones con interfaces analógicas y digitales. La interfaz analógica es compatible con versiones anteriores (mediante un adaptador ) del Robotics Invention System. La interfaz digital admite comunicación I²C y RS-485 .

NXT 2.0

Lego Mindstorms NXT 2.0 es el segundo set de la serie Lego Mindstorms , presentado el 5 de agosto de 2009 en la tienda Lego de Estados Unidos. El set contiene 619 piezas, incluyendo un sensor que puede detectar colores. Le siguió Lego Mindstorms EV3 . [ 40 ]

Características

Ver pie de foto
Modelo de carretilla elevadora construido con Lego Mindstorms NXT 2.0.
  • Un editor de sonido para grabar un sonido y programar el módulo NXT para reproducirlo.
  • Un editor de imágenes para descargar una imagen al dispositivo NXT y que aparezca en la pantalla.

Ladrillo inteligente NXT

  • Microcontrolador principal Atmel AT91SAM7 S256 de 32 bits ( memoria flash de 256 KB , RAM de 64 KB )  
  • Microcontrolador Atmel ATmega48 de 8 bits a 4  MHz (4  KB de memoria flash, 512 bytes de RAM)
  • Pantalla LCD de 100×64 píxeles
  • Cuatro puertos de entrada RJ12 (puertos 1–4)
  • Tres puertos de salida RJ12 (puertos CA)
  • puerto USB
  • Bluetooth Clase II V2.0
  • Altavoz:  calidad de sonido de 8 kHz, resolución de 8 bits,  frecuencia de muestreo de 2 a 16 kHz.
  • Cuatro botones para navegar por los menús y utilizarlos en los programas.
  • Funciona con seis pilas AA o con la batería recargable NXT.

Véase también

Referencias

  1. "¿Qué es NXT? El Grupo LEGO presenta el conjunto de herramientas de robótica Lego Mindstorms NXT en la Feria de Electrónica de Consumo" (Comunicado de prensa). Las Vegas, NV : The Lego Group . 4 de enero de 2006. Archivado del original el 8 de julio de 2009. Consultado el 17 de septiembre de 2007 .
  2. "El conjunto de herramientas de robótica LEGO MINDSTORMS NXT ya está ampliamente disponible" (Comunicado de prensa). Nueva York, NY : The Lego Group . 2 de agosto de 2006. Archivado del original el 11 de septiembre de 2006. Consultado el 3 de julio de 2022 .
  3. "8527Mindstorms NXT Kit" . Mindstorms.lego.com . Grupo LEGO . Archivado del original el 3 de febrero de 2009. Consultado el 26 de diciembre de 2008 .
  4. "Set básico Lego Mindstorms Education NXT" . Education.lego.com . Archivado del original el 10 de diciembre de 2011. Consultado el 30 de septiembre de 2011 .
  5. "LEGO Education | Productos > Escuela secundaria > Software NI LabVIEW para LEGO MINDSTORMS" . Archivado del original el 16 de diciembre de 2011. Consultado el 16 de noviembre de 2011 .
  6. Hocker, Matt (3 de febrero de 2020). "Una historia de la educación con LEGO, parte 3: Tormentas mentales sobre la materia [ Artículo ] " . The Brothers Brick . Recuperado el 15 de septiembre de 2025 .
  7. "Uso del software EV3 para ejecutar el NXT – LEGO Engineering" . 1 de noviembre de 2013. Consultado el 5 de agosto de 2024 .
  8. "¡Todas las herramientas para llevar tu Lego Mindstorms NXT al extremo!" . Archivado del original el 6 de octubre de 2009.
  9. "Galería Brickshelf - Fragmentos de código de ejemplo" . Brickshelf.com . Consultado el 3 de julio de 2022 .
  10. "Muestra" . Docs.microsoft.com . Consultado el 3 de julio de 2022 .
  11. "No es exactamente C" . Sourceforge.net .
  12. "NBC – NeXT Byte Codes, Not eXactly C, and SuperPro C" . Sourceforge.net .
  13. "Lego Education" . Lego.com .
  14. "RoboMind.net – Documentación > Compatibilidad con Lego Mindstorms NXT" . Robomind.net .
  15. Morales, Juan Antonio Breña. "LeJOS, Java para Lego Mindstorms" . Fuenteforge.net .
  16. "nxtOSEK" . Sourceforge.net . 9 de enero de 2014.
  17. "ICONO" . Teamhassenplug.org . Consultado el 3 de julio de 2022 .
  18. "Equipo Hassenplug" . Teamhassenplug.org . Consultado el 3 de julio de 2022 .
  19. "mindstorms / ev3-toolbox-matlab · GitLab" . Gi.rwth-aachen.de . Consultado el 3 de julio de 2022 .
  20. "Buscar compatibilidad con hardware" . Mathworks.com . Consultado el 3 de julio de 2022 .
  21. "Página principal de pbLua" . 8 de diciembre de 2008. Archivado del original el 8 de diciembre de 2008. Consultado el 3 de julio de 2022 .
  22. "Libre - Inicio > Herramientas > GNAT GPL para LEGO MINDSTORMS NXT – Edición Ravenscar" . Archivado del original el 5 de marzo de 2012. Consultado el 24 de junio de 2009 .
  23. "Gostai" . Gostai.com . Archivado del original el 30 de abril de 2007.
  24. "Navegación FLL NXT - Inicio" . Archivado del original el 4 de marzo de 2016. Consultado el 12 de marzo de 2009 .
  25. "zuk/ruby-nxt" . Github.com . 14 de noviembre de 2020. Consultado el 3 de julio de 2022 .
  26. "NXT" . Hackage.haskell.org . Consultado el 3 de julio de 2022 .
  27. "Archivo de Google Code: almacenamiento a largo plazo para el alojamiento de proyectos de Google Code" . Code.google.com . Consultado el 3 de julio de 2022 .
  28. "C_NXT" . Github.com . 13 de junio de 2016. Consultado el 3 de julio de 2022 .
  29. "Archivo de Google Code: almacenamiento a largo plazo para el alojamiento de proyectos de Google Code" . Code.google.com . Consultado el 3 de julio de 2022 .
  30. "NBC - NeXT Byte Codes, Not eXactly C, and SuperPro C" . Bricxcc.sourceforge.net . Consultado el 3 de julio de 2022 .
  31. «Schodet/nxt-python» . Github.com . 18 de junio de 2022 . Consultado el 3 de julio de 2022 .
  32. "Preguntas frecuentes disponibles para" . Education.lego.com . Consultado el 7 de diciembre de 2019 .
  33. "Centro de Computación Integrada y Educación STEM de UC Davis » Controlador de Robot Ch" . Ucdavis.edu . Archivado del original el 12 de octubre de 2016. Consultado el 8 de octubre de 2016 . 
  34. "Inicio – LEGO MINDSTORMS® - LEGO.com – Mindstorms LEGO.com" . Lego.com . Archivado del original el 29/05/2012 . Consultado el 15/01/2009 .
  35. "Inicio – LEGO MINDSTORMS® - LEGO.com – Mindstorms LEGO.com" . Lego.com .
  36. "Inicio – LEGO MINDSTORMS® - LEGO.com – Mindstorms LEGO.com" . Lego.com . Archivado del original el 17 de febrero de 2012. Consultado el 15 de enero de 2009 .
  37. "Inicio – LEGO MINDSTORMS® - LEGO.com – Mindstorms LEGO.com" . Lego.com .
  38. "Inicio – LEGO MINDSTORMS® - LEGO.com – Mindstorms LEGO.com" . Lego.com .
  39. "Inicio – Lego Mindstorms - LEGO.com" . Lego.com . Archivado del original el 6 de octubre de 2009. Consultado el 15 de enero de 2009 .
  40. Miles, Stuart (6 de noviembre de 2018). "LEGO Mindstorms NXT 2.0 se lanza" . Pocket-lint . Consultado el 28 de enero de 2009 .
  • lego.Edutech.com , socio oficial de Lego Education
  • Controlador externo con hardware abierto BeagleBone
  • Programa NXT, ayuda para programar tu Lego Mindstorms NXT.
  • HiTechnic.com , sensores certificados por LEGO para Lego Mindstorms
  • mindsensors.com , Sensores para Lego Mindstorms NXT
  • Trinfactor3.com , permite el uso de 32 sensores analógicos con 1 NXT.
  • Robojoy Club , robot NXT y programa para principiantes
  • Colocación y ajuste de engranajes
  • Roberta , Robótica Educativa
  • Comunidad y proyectos de Lego Mindstorms
  • Lee esta reseña antes de comprar Lego Mindstorms EV3.
  • Proyectos Lego Mindstorms NXT y Lego Mindstorms NXT 2.0
  • El Shooterbot NXT 2.0 en acción.