Lego Mindstorms és una línia de joguines centrades en la robòtica educativa de l'empresa Lego Education.Lego Education
El paquet conté un microcontrolador, sensors, motors i connectors amb les vores cobertes dels pius típics dels elements constructius de plàstic de colors de Lego. Incorpora també peces en forma de pals, rodes i pneumàtics per a bastir el robot.
El joc consisteix en el muntatge del robot, una programació per blocs amb un entorn propi, descàrrega del programa al microcontrolador, i seguiment de l'execució del robot sobre una pista de paper o en lliure circulació.
Història Lego Mindstorms va ser fruit d'una col·laboració entre Lego Education i el MIT (Institut Tecnològic de Massachusetts). Instal·len els primers centres de Lego Mindstorms a Chicago l'any 1997. El primer programa es va dir "Robosport", sobre les mateixes bases de joc actuals.
La primera versió es va distribuir el 1998 amb el nom de "Robotics Invention System" encara que s'ha venut únicament com a equip didàctic per a escoles. La versió actual, "Lego Mindstorms NXT" va sortir el 2006 als Estats Units.
Construcció Els models de muntatge proposats venen en un llibret amb el nom de Constructopedia i també en el programari per a ordinador que acompanya el producte.
RCX miniatura|peça RCX de la primera generació. Basat en un processador H8/3297 de RenesasRenesas.com - fabricant del micro H8/3297 de l'RCX (abans Hitachi).
NXT Basat en el microcontrolador ARM7 de ATMEL.
El software Lego Mindstorms NXT permet programar els robots NXT i descarregar els seus programes mitjançant un port USB o per connexió Bluetooth. Aquest software, que funciona fent 'clicks' i arrossegant, és impulsat per LabVIEW (National Instruments). Inclou instruccions de desenvolupament i guies de programació per iniciar-se en el món de la robòtica i la programació i d'aquesta manera, començar a desenvolupar i programar fàcilment amb robots MINDSTORMS NXT. Aquest programa va ser desenvolupat per complet en el software de programació gràfica de la indústria LabVIEW (National Instruments) per desenvolupar sistemes de control i mesura. Els usuaris de LabVIEW aprecien moltes semblances entre el Software LEGO MINDSTORMS NXT i LabVIEW perquè les dues empreses, National Instruments i LEGO van establir una col·laboració per conservar tots els elements fonamentals de la programació gràfica de LabVIEW. Així van aconseguir optimitzar la interfície de l'usuari per als usuaris d'ordinadors inexperts. Aquest fet fa factible que joves principiants i programadors experts utilitzin el software per programar els seus robots.
Microcontrolador Comparativa RCXNXTEV3ProcessadorHitachi H8/300 @10-16 MHz
32 KB RAM
16 KB ROMAtmel ARM7 @48 MHz
64 KB RAM
256 KB FlashTI Sitara ARM9 @300 MHz
64 MB RAM
16 MB FlashCo-ProcessadorAtmel 8-Bit AVR @8 MHz
512 B RAM
4 KB FlashMemòria extra512 B RAM 4 KB Flashranura microSD hasta 32 GBPort3 per motors i 3 per sensors3 per motors i 4 per sensors4 per motors i 4 per sensorsComunicació amb el PCport IRUSB 12 Mbps i Bluetooth v2.0USB 480 Mbps i Bluetooth v2.1Comunicació per Wi-FiAmb un adaptador USBComunicació amb smartphonesAndroidAndroid i iOSPantallaLCD monocrom. segmentadaLCD monocrom. 100x64 pxLCD monocrom. 178x128 pxCompatibilitatMotors del EV3Sensors i motors del NXTAltresAutodetecció de dispositius
connectats
Els Lego Mindstorms NXT tenen un processador basat en l'ARM7 amb una arquitectura Von Neumann i els EV3 tenen un basat en l'ARM9 amb Harvard. En una arquitectura Von Neumann la unitat de control (UC) està connectada a una sola memòria per les dades i instruccions. En canvi, una arquitectura Harvard té una memòria per les dades i una altra per les instruccions. La Von Neumann, fins que no ha transferit totes les dades, el bus no pot llegir una altra instrucció a executar, cosa que la Harvard pot realitzar simultàniament.
Els ports de l'EV3 funcionen a 460.8 kb/s i usen el protocol UART (Universal Asynchronous Receiver/Transmitter) full-duplex. En canvi, els ports del NXT funcionen a 9'6 b/s i usen el protocol I²C (Inter-Integrated Circuit) half-duplex
A partir de la generació dels Lego Mindstorms NXT, es va decidir que per seguretat s'usarien ports rj12 modificats. D'aquesta manera els ports no són compatibles amb les entrades de telèfon, ja que treballen a un voltatge més alt. Un cable d'entrada de telèfon té la al centre i el dels Lego Mindstorms a la dreta.
Sobre la compatibilitat entre generacions, els components del bloc RCX no és compatible amb cap. Però tots els components del NXT es poden usar amb el bloc EV3. A l'inrevés no: només els motors del EV3 (gran i mitjà) es poden usar amb el NXT com a motors normals
Tots els sensors i motors del EV3 tenen un AUTO ID únic que serveix per distingir quin sensor o motor està connectat a cada port. D'aquesta manera, l'EV3 pot evitar els intents de lectura a un component que no és, que era un problema que teníem amb els models anteriors.
Sensors A la generació EV3 es disposa de cinc sensors diferents: color, contacte, ultrasònic, infrarrojos, giroscopi. I la generació NXT disposa dels mateixos més dos altres sensors: so i temperatura.
Sensor de colors Aquest sensor ens permet agafar lectures dels colors i la intensitat de llum. Té una freqüència de mostreig d'1 kHz i té tres modes d'ús: Mode de color: pot reconèixer set colors (negre, blau, verd, groc, vermell, blanc i marró) i l'absència de color. Pot servir per ordenar objectes per colors, seguir línies de colors específics,\ldots. L'únic problema són els colors intermedis que poden ocasionar que diferents lectures d'un mateix color, s'interpretin diferent cada vegada. Mode d'intensitat de llum reflectida: pot mesurar la intensitat de llum que es reflecteix. És a dir, mesura la intensitat en una escala de 0 (fosc) a 100 (clar). Pot servir per moure's dins d'una secció clara i parar-se quan sigui fosc, o viceversa. Mode d'intensitat de llum ambient: pot mesurar la intensitat de llum ambient que hi ha. Mesura la intensitat en una escala de 0 (fosc) a 100 (clar). Pot servir per programar alarmes segons la il·luminació ambient del Sol.
Sensor de contacte Aquest sensor ens permet saber quan hi ha algun objecte que col·lideix amb el sensor. Té tres condicions: Premut: pot reconèixer quan el sensor s'ha premut. Alliberat: pot reconèixer quan el sensor s'ha alliberat d'una pressió anterior. Xoc: és la unió de les dues condicions anteriors, reconeixent quan el sensor s'ha premut i després s'ha alliberat.
Sensor ultrasònic Aquest sensor ens permet calcular la distància a objectes mitjançant onades de so que no són perceptibles per l'oïda humana.
Pot mesurar objectes a una distància entre 1 i 250 cm, té una resolució de 0.1 cm i una precisió de +/- 1 cm. Pot servir per usar-se com un sònar o fins i tot per esperar i encendre's quan un objecte s'apropa. Exemples reals de sensors com aquests els podem trobar en portes automàtiques,...
Sensor d'infrarojos Aquest sensor ens permet detectar llum infraroja d'objectes i rastrejar el Transmissor d'infrarojos remot dels Lego Mindstorms EV3. Té dos modes d'ús: Mode proximitat: pot mesurar aproximadament la distància a un objecte amb onades de llum reflectida. Mesura la proximitat en una escala de 0 (a prop) a 100 (lluny). Es poden mesurar objectes fins a 70 cm de distància. Mode guia: pot detectar una font d'infrarojos en un canal d'entre quatre a una distància màxima de 200 cm. D'aquesta manera, el sensor pot aproximar la direcció de gir (en una escala de -25 a 25) i la distància (en una escala de 0 a 100) a l'objecte emissor.
Sensor giroscopi Aquest sensor ens permet mesurar el moviment i els canvis en l'orientació. Té una freqüència de mostreig d'1 kHz i dos modes d'ús: Mode d'angle: pot mesurar angles amb una precisió de +/- 3º. Mode giroscopi: pot mesurar la velocitat angular amb un màxim de 440º. Exemples reals de sensors com aquests els podem trobar en sistemes de navegació, smartphones,...
Sensor de so Aquest sensor és únic dels Lego Mindstorms NXT i ens permet mesurar els nivells de soroll.
Pot mesurar els nivells de soroll en decibels (dB) i decibels ajustats (dBA). La diferència entre els dB i els dBA és que els dBA s'ajusta a la sensibilitat de l'oïda humana i, per tant, correspon a tots els sons que pot escoltar un humà. Per contra, els dB mesura tots els sons: els que podem escoltar i els que no.
Es poden mesurar fins a 90 dB en una escala de percentatges de 0 (fluix) a 100 (fort). D'aquesta manera, el sensor pot distingir entre sons forts i fluixos, però mai pot distingir entre tons diferents.
Sensor de temperatura Aquest sensor és únic dels Lego Mindstorms NXT i ens permet mesurar temperatures en les escales Celsius i Fahrenheit.
Pot mesurar temperatures a l'escala Celsius entre -20 °C i 120 °C i a l'escala Fahrenheit entre -4 °F i 248 °F.
Motors A la generació EV3 es disposa de dos motors diferents: el gran i el petit.
Motor gran El motor gran ens serveix per realitzar moviments quan es necessita alta precisió.
Aquest motor va entre 160 i 170 rpm amb una precisió d'1º. Té un parell de funcionament de 20 Ncm i un parell d'aguant de 40 Ncm. Aquest motor disposa d'un sensor giroscopi integrat que permet sincronitzar la rotació de diferents motors.
Motor mitjà El motor mitjà ens serveix per realitzar moviments quan es necessita velocitat i temps de resposta ràpid o una mida de robot petit.
Aquest motor va entre 240 i 250 rpm amb una precisió d'1º. Té un parell de funcionament de 8 Ncm i un parell d'aguant de 12 Ncm. Aquest motor també disposa d'un sensor giroscopi
Altres components Transmissor d'infrarojos remot Els transmissor d'infrarojos remot serveix per emetre infrarojos que el sensor d'infrarojos dels Lego Mindstorms EV3 rep. Té dos modes d'ús: Mode normal: el transmissor emet senyals infrarojos que el sensor rep. Es pot usar per fer que el robot rastregi el transmissor. Mode remot: permet usar el transmissor con un control remot. D'aquesta manera, es pot distingir quina combinació amb quatre botons diferents s'ha premut. En total, pot distingir entre 11 configuracions diferents.
Programari L'equip inclou un programari, adreçat als nens i nenes a partir de 12 anys, que mostra els models i el seu muntatge pas a pas i facilita la programació per blocs, amb l'aspecte de peces de trencaclosques que s'encaixen en seqüència, amb blocs que indiquen alternativa, iteració, final d'iteració, inici d'interrupció per esdeveniment i blocs que permeten llegir o reaccionar als sensors i temporitzadors, activar o aturar els motors o làmpades, i accions compostes com girar, ballar i remenar.
RoboLab és el programari per a escoles, desenvolupat a partir del software LabView de National Instruments desenvolupat a la "Tufts University".Tufts University - Centre d'Educació mitjançant l'Enginyeria Permet fer diagrames amb icones per a les diferents accions sobre dels sensors, motors i làmpades, i visualitzar-hi els paràmetres de les accions com si fossin arrecades que pengen de les icones.
Per als més grans i avesats a la informàtica existeixen múltiples possibilitats: Gordon's Brick ProgrammerGordon's Brick Programmer mini entorn de programació per a l'RCX. Permet crear instruccions i programes a partir de menús. NQCLlenguatge "Not Quite C" per a l'RCX és un llenguatge similar al C que permet programar totes les funcions del controlador RCX sobre el sistema operatiu original. BrickOSBrickOS Sistema Operatiu per a l'RCX (abans LegOS) és un sistema operatiu de substitució per al controlador RCX. Permet fer programes en diversos llenguatges per a ser compilats amb gccGCC (Col·lecció de compiladors del projecte GNU de gnu al codi màquina dels micros de la sèrie H8/300 de l'RCX. LejOSLejOS sistema operatiu per a la programació en Java és un sistema operatiu de substitució que permet programar el RCX i el NXT en llenguatge Java.
Canals d'obtenció i traduccions