Lego Mindstorm

Lego Mindstorm NXT (v1 et v2) est la brique robotique de la gamme Lego Technics. Il est l'évolution du Lego Mindstorm RCX.

La boite de base contient une brique robotique et quelques briques capteurs et actionneurs connectables via I2C : 3 briques servomoteurs, 1 brique télémètre ultrason, 1 brique détecteur de luminosité, 1 brique capteur de son et 1 brique détection de touché. D'autres briques et d'autres capteurs I2C peuvent être ajoutés (par exemple, un Nunchuk).

La brique robotique est programmable en Labview, C, NQC, Java, Lua ...

RCX

 * μC Hitachi 8bits H8/3292 16 MHz
 * http://semiconductor.hitachi.com/products/pdf/h3ltp001d1.pdf
 * http://semiconductor.hitachi.com/products/pdf/h33th014d2.pdf
 * 6 Ko ROM, 32Ko RAM
 * 3 ports entrées (température, vitesse rotation moteur, détection de choc)
 * 3 ports sortie (moteurs)
 * Transceiver IrDA (sert en autre au chargement du firmware)
 * Clavier 4 touches
 * Affichage LCD 5 caractères

NXT

 * ARM7 48 MHz, 256 KB Flash RAM, 64 KB RAM
 * Atmel AVR 4 MHz, 4 KB FlashRAM, 512 bytes RAM
 * 60×100 pixel LCD matrix
 * Bluetooth, 1 port USB 2.0
 * 4 input ports, 3 output ports (I2C)

TinyVM
http://tinyvm.sourceforge JVM utilisé par Lejos pour le RCX du Lego MindStorms Limitations Runtime Environnement
 * pas de GC, pas de flottant, pas de switch, pas de constants String
 * Empreinte 10Ko
 * Optimisation de la mémoire
 * 1 octet pour 1 byte, 4 octets pour un objet…
 * java.io, java.lang, java.net, java.util, javax.servlet.http (car Lejos embarque un serveur Web), josx.platform.rcx, josx.rcxcomm, josx.robotics, josx.util

Lua
Le langage Lua porté sur NXT pbLua

Arduino
Il est possible de brancher des capteurs et actuateurs I2C du Lego Mindstorm NXT sur l'Arduino
 * https://launchpad.net/nxti2cdevice
 * http://www.robotshop.com/gorobotics/articles/lego-mindstorm-nxt-arduino
 * http://robotclub.ab.ca/articles/33

Liens

 * Transparents de cours sur le Lego Mindstorms

Livres

 * Lego Mindstorms NXT hacker's guide