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)

EV3
Sortie en 2013 (425 euros TTC)
 * microcontrôleur ARM9
 * 16 Mo de mémoire flash
 * 64 Mo de mémoire RAM
 * 1 emplacement de carte mémoire SD
 * système d'exploitation Linux open-source
 * connectivité Wifi possible via l'USB 2.0
 * 4 ports d'entrée et 4 ports de sortie
 * écran NB d'affichage matriciel
 * haut parleur
 * Bluetooth v2.1

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
 * Shields
 * http://www.robotshop.com/eu/fr/blindage-arduino-mindstorms-lego-nxshield-d.html
 * https://store.wayneandlayne.com/products/bricktronics-shield-kit.html

Mounting Plates
 * http://www.wayneandlayne.com/bricktronics/mounting-plates/

ROS (Robot Operating System)

 * http://www.ros.org/wiki/nxt
 * http://www.ros.org/wiki/Robots/NXT

BrickPi
C, Python, Scratch

Liens

 * Transparents de cours sur le Lego Mindstorms
 * Une présentation du Mindstorm à des élèves de CP (Cours Préparatoire)

Livres

 * Lego Mindstorms NXT hacker's guide