Aan de slag met de BBC micro:bit

microbitIk heb al een paar keer eerder geschreven over de BBC micro:bit (ik zal proberen het voortaan juist te schrijven: met dubbele punt ertussen en zonder hoofdletters).

Toen bleek dat hij nu ook te pre-orderen was voor “gewone” mensen kon ik de verleiding toch niet weerstaan. Ik bestelde de “essentials kit” voor GBP 16,- (op dat moment € 20,23) incl. verzendkosten.

In plaats van hem zelf onder handen te nemen, heb ik hem eerst aan mijn jongste zoon gegeven. Hij is 13 jaar op het moment en had nog geen ervaring met de micro:bit, maar heeft vorig jaar wel al succesvol een Engelstalige MOOC over Scratch afgerond. En dat bleek vandaag wel te helpen.

Hij heeft hem gebruikt in combinatie met een laptop met Windows er op, dus aangesloten via de micro-USB aansluiting. De micro:bit verschijnt dan als een soort USB-stick. Ik begrijp dat ik ook een serial-driver kan installeren zodat ik via bv Putty kan zien wat de micro:bit naar de seriële poort stuurt, maar dat is dus niet zo standaard geregeld bij bv Arduino.

20160722_201042_HDREr zit een klein velletje (in het Engels) bij dat uitlegt dat je de micro:bit eerst kunt testen met alleen de batterij er aan vast. Handig, dan zie je meteen dat het ding wat kan. 🙂
Op de achterkant van dat velletje staat hoe je hem moet aansluiten met de micro-USB aansluiting op de computer. Koppelen aan een iPad of Android toestel via Bluetooth staat daar niet in uitgelegd. Dat is op zich niet heel moeilijk, je wordt stap voor stap door het proces heen geleidt als je die optie kiest in de app. Apart is dat de micro:bit dan zowel een blokjescode laat zien die je moet overnemen als een 5-cijferige code. Ik denk trouwens dat het er vijf waren, ik moest snel mee typen en heb niet exact geteld.

Nadat ik even gecheckt had dat hij e.e.a. aan de praat had, heb ik hem verder aan het werk gelaten. Tussendoor kreeg ik stap voor stap demo’s van wat hij gemaakt had: eerst een puntje dat met de A en B knop naar links en rechts bewogen kon worden. Maar dat was onhandig want hij had maar 2 knoppen op de micro:bit en hij wilde hem ook naar boven en onder kunnen laten bewegen. Dus besloot hij om de 3-assige accelerometer te gebruiken. Door de micro:bit naar rechts, links, boven, onder te kantelen kon je het puntje bewegen. Het puntje werd daarna een kanon dat andere puntjes kon afschieten naar boven zodra je op de knop drukte. Er kwam een lijn bij je je stuk moest schieten voordat hij (langzaam) naar beneden gekomen was. Tegen de tijd dat het etenstijd was (3 uur later) had hij zijn eerste spel bijna klaar. Alleen de “hoera, je hebt gewonnen” optie moest nog.

Ik heb hem gevraagd of ik een kort filmpje mocht maken waarin hij uitlegt wat hij gemaakt heeft. Dat mocht:

Het filmpje is niet bewerkt en gemaakt met mijn smartphone, maar het geeft je hoop ik wel een beeld van wat er in een paar uur al te leren valt. Hij heeft er nog geen sensoren aan gehangen, nog niet met de andere programmeertalen gespeeld, maar de vakantie is nog lang. Zo heeft hij al eens een werkstuk met een PIR gebouwd (zonder micro:bit of arduino), dus dit project moet een makkie zijn voor hem.

20160722_174519_HDR

Zelf ben ik nog niet over *alles* even tevreden. Het programmeren op een iPad met een drag-drop interface vind ik nog niet echt een succes. Dat ik de code alleen lokaal kan bewaren in een .jsz bestand dat ik zo te zien niet los kan bewerken.

Maar ook voor mij geldt dat er nog heel wat dingen zijn om uit te zoeken. Zo staan op deze site voorbeelden van een koppeling tussen smartphone en micro:bit via bluetooth die interactie over en weer bevatten. Dat ziet er heel interessant uit. Idem voor wat betreft het koppelen van de micro:bit als controller voor Scratch en de koppeling met Kodu.

Er zijn ook andere uitbreidingen zoals dit motor driver board:

Dat je de code kunt converteren tussen verschillende talen is natuurlijk ook wel cool:

Script_2 Script_1

En je zit ook niet alleen vast aan de site van de BBC en de daar aangeboden editors. Ook Microsoft heeft een site. Van daaruit zou je script gemakkelijker moeten kunnen delen en zelfs embedden, maar de optie die ik er nu tegen kwam voert het script daadwerkelijk uit in de browser. Ook interessant, maar niet helemaal wat ik wilde.

Conclusie

Het is nog niet allemaal perfect. Het gebruiken is in eerste instantie laagdrempelig genoeg voor in ieder geval een 13 jarige tiener met Scratch-ervaring. Eenvoudige metingen doen (temperatuur, beweging etc) is waarschijnlijk ook eenvoudig genoeg al lijkt me voor nu het vastleggen of weergeven van zulke data nog niet vanzelfsprekend met de micro:bit, aansturen van complexere zaken (linetracker, andere motoren, een pompje) kan wel.
Al met al denk ik dat het minder vaak voor zal komen dat de micro:bit door papa ingepikt zal worden. Iets wat bij veel Raspberry Pi exemplaren blijkbaar wel het geval is. Die eindigen vaker als onderdeel van een project van een volwassene dan als studie-object voor kinderen. De micro:bit leent zich daar nu eenmaal minder voor en dat is eigenlijk ook wel goed.

Vanaf welke leeftijd de micro:bit te gebruiken is? Moeilijk te zeggen, kinderen moeten in ieder geval met Scratch of vergelijkbare talen kunnen werken (of dat dus kunnen leren door dit via micro:bit te doen). De snellere leerlingen van de middenbouw van het basisonderwijs, maar anders de bovenbouw en ook vo / mbo zouden hiermee aan de slag moeten kunnen. Van hbo / wo studenten zou je eigenlijk verwachten dat ze meteen met bv een Arduino, ESP8266 of Raspberry Pi (zero) aan de slag gaan. Maar ook voor hen kan het, zeker met de gpio breakout, een nuttig apparaatje zijn.