Nederlandstalige Scratch- en roboticalessen voor basisschoolkinderen en brugklassers.
test
ROBOTICA, GAMES, ANIMATIES, KUNST EN MEER!
Leer op een leuke en creatieve manier programmeren met Scratch en Lego WeDo, de mBot, de BBC micro:bit en Makey Makey!
Op deze blog vind je lesmateriaal en workshopideeën van PinkyPepper, alias Martine Segers. Zij is ook in te huren voor het maken van lesmateriaal op maat en het geven van workshops in Den Haag en omgeving.
Met de educatieve robot mBot kun je veel meer dan alleen maar rondjes rijden. In onderstaande compilatie zie je wat voorbeelden die ik gebruik in mijn workshops.
Met de mBot en de op Scratch lijkende programmeertaal mBlock kunnen kinderen op een leuke manier meer leren over robotica en programmeren.
Bedankt @Pinkfoot123 voor de tekening van de robot en dankjewel @ipzy voor de regenboog. En natuurlijk dank aan het Scratch-team voor de Scratchkat. Dank aan de Vlaamse Scratcher ScratchinJoJo voor het intro-muziekje. Een deel van de foto's is gemaakt door Lisanne van Kiwi Electronics. Bedankt Lisanne!
Voor een nieuwe workshop ben ik aan het uitproberen wat er mogelijk is met de mBot Ranger.
In onderstaand filmpje zie je hoe de Ranger over obstakels heen kan rijden en met de extra grijper balletjes kan oppakken.
Music credit: Monkeys Spinning Monkeys by Kevin MacLoed.
Meer sensoren
De mBot Ranger is het grotere broertje van de educatieve robot mBot. De Ranger heeft meer sensoren aan boord, waaronder een gyroscopische sensor, een geluidssensor en een extra lichtsensor.
Extra ledlampjes
In het midden zit een cirkel met twaalf ledlampjes die apart te programmeren zijn qua kleur en lichtintensiteit.
Betere motoren
Verder heeft dit duurdere broertje van de mBot ook betere motoren voor de aandrijving van de wielen. Dit zijn zogenoemde encoder-motoren die met lichtpulsjes bijhouden hoe vaak de motor ronddraait. Dit maakt het mogelijk om de Ranger een specifieke afstand te laten rijden door te coderen hoeveel rondjes de wielen moeten draaien. Hij rijdt dan altijd dezelfde afstand, of de batterijen nu net opgeladen zijn of juist bijna op zijn.
Meer aansluitpoorten
De Ranger heeft ook een extra poort om sensoren of Led-lampjes op aan te sluiten. En er zitten vier poorten voor het aansluiten van dc-motoren en encoder-motoren op, waardoor er veel meer uitbreidingsmogelijkheden zijn, ook met wat zwaardere motortjes. De grijper in het filmpje maakt gebruik van deze poorten. De Ranger gebruikt hiervoor wel twee extra batterijen ten opzichte van de mBot: zes in plaats van vier AA-batterijen.
Slalomparcours met keukenrollen
In het filmpje hieronder zie je hoe de mBot Ranger een slalomparcours kan rijden. De route tussen de keukenrollen is van te voren geprogrammeerd. Er is geen handmatige besturing, zoals in het filmpje hierboven wel het geval was.
Wat je in dit filmpje ziet, is met de mBot helaas niet goed mogelijk. Bij de mBot zijn de motoren niet nauwkeurig genoeg aan te sturen.
Bij de mBot Ranger lukt die nauwkeurige aansturing dus wel, met de codeblokken waarin je in kunt vullen hoeveel graden de motor rond moet draaien. Als je de juiste getallen kiest, kun je van te voren bepalen welke route de mBot Ranger gaat rijden en daarna toekijken hoe de Ranger de gecodeerde route rijdt.
Hierboven vind je de code die ik gebruikt heb. Ik heb ervoor gekozen om zogenoemde "costum blocks" te gebruiken, een zelfgemaakt codeblok dat je een waarde mee kunt geven. Zulke costum blocks maken je code overzichtelijker. In dit geval kun je invullen hoeveel rondjes de motor moet draaien, oftewel het aantal omwentelingen van de motoren die de wielen aandrijven.
Zo kun je vrij nauwkeurig de afstand bepalen die de mBot Ranger rijdt. Ook de draaihoek is, na wat uitproberen, vrij nauwkeurig in te stellen.
Op pad samen met een Lego robot
Tot slot, voor de gein, nog een filmpje met Lego. Op de mBot Ranger zitten bovenop nopjes waar je Lego op kunt bevestigen. Bijvoorbeeld een Lego-robot of een konijn van Lego...
Daarnaast kun je Lego ook aan de motoren van Makeblock koppelen. Hier een paar voorbeeldjes:
Alleen als een uitspraak waar is, ga je zitten. Anders ga je staan.
Je kunt een leuk spel met kinderen spelen op basis van dit idee. Doel: kinderen meer vertrouwd maken met het concept dat een programmeur een programma twee verschillende kanten op kan sturen op basis van een uitspraak die óf waar is óf niet waar is (true or false).
Zo kun je in Scratch in een spel de speler bijvoorbeeld een punt geven als "raak ik bal?" waar is. Of het blok "raak ik geel?" of een andere, zelf te bepalen kleur gebruiken. Ook met de groene blokken uit de categorie functies kun je een statement maken waarvan de computer kan testen of het waar is of niet, bijvoorbeeld: score > 3. In onderstaande spellen vind je nog meer voorbeelden.
Mijn Scratch-spel om met een groepje kinderen te doen:
Dit is een spel dat je met een groep kunt doen. Druk op de spatiebalk voor de volgende opdracht. Kijk steeds of het plaatje en het statement kloppen of niet. En beslis dan of je moet gaan staan of gaan zitten... Als je op "M" drukt in plaats van op de spatiebalk krijg je alleen de relatief makkelijke opdrachten.
Met de papieren baskets, zoals te zien op de foto's op deze Spaanstalige site, kreeg ik het spel helaas niet goed werkend. Te vaak zagen de "ogen" van de sensor mijn bal of prop papier niet, waardoor de puntentelling niet betrouwbaar was.
Ik vermoed dat een prop of een balletje niet goed wordt gedetecteerd als die te dicht langs de ultrasonische sensor gaat of er te snel langskomt. Daarom maakte ik een iets andere variant.
Na wat gepuzzel kwam ik tot de volgende oplossing: een bakje met een schuine verhoging op de bodem, waardoor de bal altijd naar de buitenkant van het bakje rolt en zo goed gezien wordt door de sensor.
De verhoging is gemaakt van een stukje gevouwen karton in de vorm van een driehoek (een soort mini-schans). Aan de kant van de "ogen" zit de hoogste kant, waarvandaan het balletje altijd naar beneden rolt, dus weg van de sensor.
Hier een voorbeeld van de code die je kunt gebruiken:
Spelverloop
In dit spel wacht de speler eerst op het geluid cymbal crash voor hij of zij het balletje in het bakje mag proberen te gooien. Als dat lukt, krijgt de speler een punt.
De bal moet nu weer uit het bakje gehaald worden. Om te zorgen dat je dan geen punt krijgt, "wacht" het computerprogramma tot de ultrasonische sensor alleen de rand van het bakje ziet en niet iets dat daar nog voor zit. Daarna volgt weer het geluid cymbal crash ten teken dat de bal opnieuw gegooid mag worden.
Verder heb ik gekozen voor een lachend gezicht als je een punt scoort en het geluidje "yay". Daarna komt de score in beeld op het display van de mBot.
In een andere versie had ik zelf "goal" ingesproken en het geluid cymbal crash vervangen door de zelf ingesproken tekst "3, 2, 1, start".
Witte vlekken
Op de witte plekken in de code moet je zelf even het goede getal invullen. Dat getal is afhankelijk van de grootte van het bakje. Bij mijn vrolijke Hema-feestbakje had ik daar 6 staan. Dat betekent dat er ongeveer 6 centimeter tussen de "ogen" van de mBot en de rand van het bakje zit.
Veel plezier ermee als je dit zelf ook gaat maken.
Fidget Spinners zijn leuk om zelf te tekenen met de vectormodus van Scratch en bieden een leuke kans om een variabele eens op een andere manier te gebruiken.
Vaak houd je in Scratch met een variabele de score bij, nu heb je er eentje nodig om de spinner af te laten remmen. Dat kun je doen door de waarde van de variabele "snelheid" steeds een beetje kleiner te maken.
Met behulp van onderstaande opdracht kunnen leerlingen zelf uitpuzzelen hoe dat werkt.
Figuurtjes in Scratch-games laten bewegen via draadloze besturing. Dat kan met de BBC micro:bit en een speciale Bluetooth-dongel.
Op de micro:bit zitten twee knoppen (A en B) die je kunt indrukken. Als je dat doet, stuurt de micro:bit via Bluetooth een signaal naar je Scratch-programma.
Verder is het versnellingsmetertje interessant om te gebruiken. Als je het blokje "accelerometer x" (zie hieronder) in een schuif-blok plaatst, kun je een figuurtje van links naar rechts over het scherm laten bewegen. Dat doe je door de micro:bit schuin naar links of schuin naar rechts te houden.
Hieronder de code voor deze twee voorbeeldjes:
In onderstaand overzichtje zie je alle extra blokken die je tijdens het programmeren kunt gebruiken voor de micro:bit:
Nog een voorbeeldje. Met vier van de vijf standen van de tiltsensor op de micro:bit kun je Scratch-kat door het doolhof laten lopen. Dat is in de praktijk best lastig en dat maakt het lopen in een simpel doolhof ineens een uitdaging...
Muziek
Als je een speakertje – gewoon een simpele van een euro – op de micro:bit aansluit, kun je ook muziek maken. Aansluiten doe je met twee snoertjes met krokodillenklemmetjes.
Display
Het allerleukste van de micro:bit, het display, is helaas met Scratch niet zo goed te gebruiken. Je kunt er alleen een scrollende tekst op laten zien, en niet de led-lampjes individueel aan- en uitzetten, iets wat met sommige andere programmeertalen wel kan.
Speciaal hulpprogramma
Het Engelse bedrijf Revolution Education stelt via deze website http://www.picaxe.com/BBC-microbit gratis software ter beschikking om de BBC micro:bit te gebruiken als gamecontroller voor Scratch. Belangrijkste nadeel is dat je wel een speciale bluetooth-dongel nodig hebt die duurder is dan de BBC micro:bit zelf.
Praten met een robot via Scratch. Dat kan met de mBot van het Chinese bedrijf Makeblock. Dat rijdende robotje is te programmeren met een programmeertaal die heel erg op Scratch lijkt.
Je kunt er een hele rits sensoren mee uitlezen, zoals een afstandsensor, een lijnvolgsensor en een lichtsensor, en motortjes en Led-lampjes mee aan- en uitzetten.
Met een zelfgemaakt bakje van karton en deze uitbreidingsset kun je ping-pong-balletjes ergens ophalen en daarna in een bakje "gooien".
Een andere leuke uitbreiding is het programmeerbare display:
Bijzonder is verder dat je de mBot kunt combineren met Lego. Je hebt dan wel een paar schroeven nodig, maar als je eenmaal een klein frame van Lego met schroeven hebt vastgemaakt, kun je daarna met alleen Lego verder bouwen.
Dat kon je al zien in bovenstaand filmpje en kun je ook hieronder zien, waar je de lijnvolger in actie ziet.
De op Scratch gebaseerde programmeertaal waar je de mBot mee kunt aansturen, heeft de naam mBlock meegekregen. Er is alleen een offline-versie beschikbaar.
mBlock is eigenlijk Scratch met een uitbreiding; toegevoegd zijn een hele serie groene blokjes waarmee je de waarden van sensoren kunt uitlezen en bijvoorbeeld de gewenste motorsnelheid voor de wielen door kunt geven aan de mBot, evenals de gewenste kleur van de Led-lampjes.
Mijn ervaring is dat het behoorlijk goed werkt, maar helemaal bug-vrij is de software nog niet. Zo zorgen de servo-motortjes die je er bij kunt kopen af en toe wel voor storingen.
Meer over wat je kunt doen bij storingen vind je op de site van CoderDojo Lier in België. Mogelijk zijn een deel van de daar genoemde problemen inmiddels verholpen door software-updates.
Ik ben er zelf lesmateriaal voor aan het maken. 9 oktober gaf ik er mijn eerste workshop mee en de kids waren erg enthousiast. HEt was een leuke middag!
Op de foto zie je het "hart" van de mBot. Dit Arduinoboard kan via een wifi-verbinding met je computer communiceren.
Sensoren en leds zijn eenvoudig aan te sluiten via telefoonstekkers. De motoren voor de wielen zijn aangesloten via de witte aansluitpunten, rechts van de poorten 1 en 2.
Op het board zelf zitten standaard al twee leds, een buzzer om muziekjes mee te maken, een lichtsensor en een infraroodsensor. Die zie je in wat meer detail op de foto hieronder.
Voor Halloween heb ik mijn mBot in een spook omgetoverd.
Op de foto's hieronder kun je zien hoe ik het "mBot-spook" gemaakt heb (met een kwarkbakje, een luierdoek, twee extra led-lampjes als ogen en haarspelden als handen en om de doek mee vast te zetten).
hieronder vind je een les over het maken van 3D-tekeningen in Scratch. Geen les voor beginners, maar voor leerlingen die al wat ervaring hebben met Scratch. Zij kunnen hier veel creativiteit in kwijt.
In onderstaand project kun je zien wat voor leuke 3D-tekeningen je kunt maken met relatief eenvoudige Scratch-code. Klik eerst op de groene vlag en beweeg daarna met je muis om de tekening heen. Je kunt zo het 3D-figuur van verschillende kanten bekijken.
Rechtsboven kun je het bolletje steeds iets verschuiven als je de volgende tekening wilt zien.
Klik op "Bekijk van binnen" om alle code en gebruikte uiterlijken te zien.
Andere Scratchers hebben ook mooie projecten gemaakt met deze techniek. Zulke projecten verzamel ik ter inspiratie in deze studio vol met 3D-projecten
Als je deze les zelf wilt uitproberen, kun je me mailen (PinkyPepper.Scratch apenstaartje gmail.com). Dan stuur ik je een pdf (alleen bestemd voor eigen gebruik). Graag hoor ik dan of er onduidelijkheden in de opdracht zitten en of de leerlingen de les leuk vonden.