Kirjoitimme aiemmin robottien käytöstä koodauksen opetuksen innostavuuden lisäämisessä. Nyt esittelemme Lego Mindstormsin, joka on tehty nimenomaan koodauksen oppimiseen ja opetuskäyttöön. Kiitos Suomen IBM:lle Koodikerhon tukemisesta Lego Mindstorms -pakettien muodossa.
Lego Mindstorms on omassa luokassaan vanhin ja suosituin ohjelmoitava lelurobotti. Wikipediassa on laaja artikkeli robotin historiasta, eri versioista ja lukuisista virallisista ja epävirallisista muunnelmista ja ohjelmistoista. Uusin Mindstorms-versio tällä hetkellä on EV3, jonka sydämessä sykkiin oikea Linux-tietokone.
Saimme mahdollisuuden käyttää Lego Mindstorms NXT 2.0 -version sisältävää opetuspakettia kiitos Suomen IBM:n. Tämä on hieman vanhempi Mindstorms-versio, mutta sen ARM-prosessorilla varustettu sulautettu tietokone tarjosi silti ihan riittävästi koodausmahdollisuuksia ja pakettiin kuuluneet lukuisat rakennuspalikat, renkaat ja sensorit jättivät mielikuvitukselle paljon tilaa keksiä erilaisia robottimalleja.
Koska kyseessä on Lego, on fyysinen rakentaminen iso osa käyttökokemusta, ja siihen menee yllättävän paljon aikaa. Ajan säästämiseksi Koodikerhossa vetäjä oli rakentanut valmiiksi yhden toimivan robotin, jota kerholaiset muokkasivat mielikuvituksensa mukaan. Rakentaminen tehdään normaaleilla Lego Technics -paloilla. Rakennelman aivona toimii keskusyksikkö, jota voi ohjelmoida suoraan neljää nappia käyttämällä, mutta se on toki hieman rajoitettua. Monimutkaisempia ohjelmia voi tehdä Legon ohjelmistolla, josta on saatavissa versiot Windowsille ja Macille, mutta ei Linuxille. Kyseisen työpöytäohjelmiston ohjelmat voi sitten siirtää kaapelilla tai Bluetooth-yhteydellä Mindstormsin keskusyksikköön. Android-laitteille löytyy myös Mindstorms-ohjelmia, joilla voi mm. kauko-ohjata Mindstorms-robottia Bluetooth-yhteyden kautta.
On myös olemassa avoimen lähdekoodin Freedroidz-projekti, jonka räätälöidyillä ohjelmistoilla voidaan päivittää robotin keskusyksikkö ja ajaa siinä aitoa Java-koodia suoraan Eclipse-editorista käsin. Koska Java-ohjelmoinnin opetus ei kuulu suunnitelmiimme emme kuitenkaan ole testanneet Freedroidzia.
Oheisissa kuvissa näkyy esimerkkirobotti, jossa on kaksi moottoroitua rengasta, kolmas vapaasti pyörivä tukirengas, sekä edessä tutka, joka antaa herätteen, mikäli robotin edessä on jotain. Yksinkertainen viiden lohkon koodia ajetaan silmukassa, jossa robotti menee eteenpäin kunnes tulee este vastaan, sitten peruuttaa ja kääntää, ja lähtee uudestaan kulkemaan eteenpäin. Lopputulos on siis ikiliikkuja, joka ei seinien kohdalla vaihda suuntaa (tosin esim. tuolin jalkojen alla logiikka ei riitä ja robotti jää jumiin). Lisää erilaisia rakennusohjeita löytyy netistä suuria määriä.
Koodikerhon kannalta Mindstroms on hauska lisä, mutta Lego-keskeisenä ratkaisuna se ei välttämättä opeta ohjelmointia niin paljon kuin eräät muut opetuskäyttöön tarkoitetut robotit. Laite on kuitenkin ehdottomasti hauska ja lasten mielikuvitusta ruokkiva!