machine brein REN PROGRAMME
MET
Scratch k & mBloc
ET
MEREN M
PROGRAM
Scratc & mBlohck
Deze apparaten kunnen vaak, net als wij, zien of horen, signalen geven of bewegen.
machine brein
De wereld om ons heen bestaat steeds meer uit dingen die iets kunnen. Slimme apparaten die niet meer alleen ‘zijn wat ze zijn’, zoals een kast of een stoel, maar ook iets doen. Dat kunnen ze niet uit zichzelf, maar omdat iemand ze heeft verteld wat ze moeten doen en hoe dat dan moet.
Dit wordt allemaal geregeld door een computer, een machine brein. Albert Epping Albert Epping
Over dit boek
Machinebrein geeft meer inzicht in deze nieuwe razendsnel veranderende wereld. Het inleidende gedeelte van dit boek beschrijft wat de rol van de computer daarin is. De eerste helft van de lessen in dit boek bestaat uit Scratch, om vertrouwd te raken met de principes van programmeren. In de tweede helft wordt de opgedane ervaring en kennis gebruikt om met de Scratch-kloon mBlock microcontrollers, elektronische modules en robots van Makeblock te programmeren en te besturen. Makeblock heeft een uitgebreid ecosysteem van betaalbare microcontrollers, robots, sensoren, motoren en bouwmaterialen opgebouwd. Het gebruiksvriendelijke modulaire systeem in combinatie met de grafische programmeeromgeving van mBlock, maakt het prachtig gereedschap voor beginners om die nieuwe wereld te ontdekken. Tot nu toe was er geen uitgebreid Nederlandstalig lesmateriaal beschikbaar. Dit is een van de belangrijkste redenen voor het ontstaan van dit boek.
Machinebrein heeft een lage instap en is niet bedoeld om alles volledig te begrijpen, maar om de onderwerpen ‘aan te raken’. Niettemin zijn er meer dan genoeg aanknopingspunten om er dieper in te duiken en is dit boek geschikt om ook in het voortgezet onderwijs een goede basis te leggen. Zowel op school als thuis is met dit boek heel veel te doen en te ontdekken. In de loop van volgend jaar zal een vervolg van machinebrein verschijnen die nog meer recht doet aan de titel van dit boek. In de volgende versie van mBlock (versie 5), gebaseerd op Scratch3 zal namelijk ook aandacht zijn voor kunstmatige intelligentie en IOT. Dit boek is ontstaan uit 3 jaar coderoadshow. Leerlingen van groep 7 hebben in deze naschoolse cursus kennisgemaakt met programmeren en elektronica. De lessen in dit boek zijn hieruit ontstaan. Veel plezier met dit boek en ik ben erg benieuwd naar de ervaringen. Laat het weten! Albert Epping albert@coderoadshow.nl
MET DANK AAN:
Marjan en onze zoon Jaan, Bernard Pauwels, Eurofysica, Makeblock Europe, Kiwi Electronics, Paul van Gorsel, Sjoerd Dirk Meier, Steve Holmes (scratch.ie) en natuurlijk mijn leerlingen Daan, Job, Joris, Thibault, Maxim, Dion, Persijn, Pieter, Lucian, Daniel, Kyan, Alejandro, Chris, Pieter, Jasmijn, Mare, Evi, Gobe, Mick, Kyano, Finn en Rick.
2
COLOFON Concept, tekst en vormgeving Albert Epping ISBN 978-90-829159-0-7 NUR 211 - 241 - 989 Uitgever coderoadshow Druk Grafistar BV
Inhoud R? WAT IS EEN COMPUTE van telraam tot... een computer kan niet tot 2 tellen het verschil tussen computer en mens programmeren wat is Scratch en wat is mBlock?
SCRATCH les 1 les 2 les 3 les 4 les 5 les 6 les 7 les 8 les 9 les 10 les 11 les 12 les 13 les 14 les 15 les 16
De kat en het spook De kat en het spook De kat en het spook Een robot is gek op donuts Een robot is gek op donuts Een robot is gek op donuts Rekenen met de kat Rekenen met de kat Rekenen met de kat Asteroids! Asteroids! Asteroids! De kat tekent De kat tekent Teken zelf Doe het zelf
4 8 12 14 16 18
20 22 28 32 36 40 44 48 52 58 62 68 74 78 82 88 92
scripts Scratch blokken
102 118
index tips voor docenten verkoopadressen meer info verder lezen
206 208 208 208 208
MBLOCK Wat heb je nodig voor mBlock?
122 124
les 1 les 2 les 3 les 4 les 5 les 6 les 7 les 8 les 9 les 10 les 11 les 12 les 13 les 14 les 15 les 16 les 17
126 132 138 142 146 152 156 160 166 174 178 186 192 194 198 202 204
Elektriciteit Nullen en enen De potmeter en de panda Spelen met een panda Arduino mode Pan tilt grijper Digitaal en analoog Kleur en LEDs LED strip Meer LED strip Rijden met robots Obstakel ontwijken Let op de lijn Opruim robot Lijnenteller Ja/nee/weetniet-machine Robot-Theremin
DOCENTEN! Alle illustraties die worden gebruikt in de lessen zijn als pdf te downloaden op: machinebrein.nl. Handig voor op het digibord! lees ook de tips op pagina 208 3
Scratch
20
Het Scratch-scherm gereedschap maak kopie verwijder maak kleiner maak groter
kies hier voor Nederlands
sprite-eigenschappen 1 scripts en paletten 2 uiterlijk 3 geluiden
log in met je Scratch account start - stop
speelveld
scriptveld
sprite-lijst
speelveld-lijst
BELANGRIJK
Maak eerst een Scratch-account! Voor de Scratch-lessen is het nodig om een naam en wachtwoord voor Scratch aan te maken. Alleen dan kun je je Scratch-projecten bewaren om er later aan verder te werken of ze aan anderen te laten zien.
Ga naar scratch.mit.edu. Klik op ‘Word scratcher’ en volg de aanwijzingen. Doe dit samen met je vader, moeder of verzorger. Zij moeten toestemming geven voor je aanmelding. Bewaar je naam en wachtwoord goed! 21
De kat en het spook
1
de kat zegt hallo! Als je Scratch voor de eerste keer opent, zie je een kat op het speelveld staan. 1 de kat Die kat doet helemaal niets, maar daar kan jij iets aan doen. Onder het speelveld zie je een plaatje van de kat met een blauwe lijn eromheen. Dat betekent dat je de kat hebt ‘geselecteerd’. De tabjes in het midden van het venster (Scripts, Uiterlijken en Geluiden) horen nu bij de kat. Pak een {zeg Hello! M2N sec} uit het uiterlijken-palet, sleep deze naar het scriptveld en verander de tekst. Klik op het blok en kijk wat er gebeurt.
2 je eerste Scratch project Je hebt nu een nieuw project gemaakt. Bedenk een goede naam voor je project, een die goed omschrijft wat het is, dan kan je het later makkelijker terugvinden. Typ deze in het invulveld boven het speelveld, en je project wordt automatisch bewaard.
ONTDEK! Op scratch.mit.edu kan je heel veel projecten van andere Scratchers bekijken: klik op ‘ontdek’. Deze projecten kan je openen om te kijken hoe ze zijn gemaakt. Als je ingelogd bent met je Scratch-account, kan je deze projecten remixen om je eigen versie ervan te maken. Daar leer je ontzettend veel van. 22
Scratch online en offline Voor de lessen in dit boek gebruik je de online-editor van Scratch. Deze kan je vinden op scratch.mit.edu. Klik op ‘maak’ en je kan beginnen. Om je Scratch-projecten te kunnen bewaren, zodat je er later aan verder kan werken en aan anderen kan laten zien, moet je ingelogd zijn. Er is ook een versie van Scratch die je op je computer kan installeren. Dat is handig wanneer je geen internetverbinding hebt. De offline-editor kan je vinden op https://scratch.mit.edu/scratch2download/
3 een script Sleep nog een {zeg Hello! M2N sec} en een {denk Hmmm... M2N sec} naar het scriptveld en klik ze onder elkaar. Als de blokjes bij elkaar in de buurt komen, verschijnt een witte streep, lijken ze magnetisch te worden en klikken ze vast. Als dat niet gebeurt, is dat om aan te geven dat de blokjes niet op die manier in elkaar passen. Als je een blokje loshaalt, blijven alle blokjes eronder aan dat blokje hangen. Het kost even oefenen, maar je hebt het snel door. Vul de tekst in (zoals hieronder) en klik één voor één op de blokken. Wat gebeurt er?
Klik ze vervolgens aan elkaar en klik op de blokken. Wat gebeurt er nu? De blokken lijken te gaan gloeien, dat betekent dat het script wordt uitgevoerd. Het script wordt in volgorde van boven naar beneden uitgevoerd. Dit is een script.
Algoritme Een script noemen we ook wel een algoritme; een reeks opdrachten die één voor één worden afgewerkt. Het voorbeeld hiernaast is een heel simpel algoritme, maar algoritmes kunnen heel ingewikkeld en slim zijn. Je zult merken dat je met algoritmes van alles kunt maken. Algoritmes vind je overal terug, in zoekmachines, websites, computerprogramma’s, auto’s, telefoons, vaatwassers, robots, supermarkten, games, drones, noem maar op!
23
Een robot is gek op donuts
5
De donut
De donuts vallen en de robot vangt ze op. Maar natuurlijk niet telkens op dezelfde plaats. Log in met je Scratch account. Open jouw project van les 4 en bewaar dit als les 5. Of gebruik les05--robot en donuts-start op machinebrein.nl/scratch/. Open dit project, klik op en daarna op
Als de donut valt, wordt y dus een kleiner getal. Hiervoor gebruik je {verander y met M J . O Wat moet je invullen om y 3 stappen kleiner te maken? O De donut moet heel veel van diezelfde kleine stapjes maken. Welk blok gebruik je daarvoor?
1 de donut valt... DONUT
Kies een nieuwe sprite uit de bibliotheek: Donut. Maak de donut met iets kleiner en zet hem helemaal boven in het speelveld. Kijk eens rechtsboven in het scriptveld. O Wat is de y-positie? En klopt dat met de cijfers op het xy-grid?
Zet een {ga naar x:M N y:M J op het scriptveld. je ziet dat de x en y al zijn ingevuld. Zet er een vlaggenhoedje boven. Zet dan de donut iets lager in het speelveld. O Kijk rechtsboven op het scriptveld: wat is er nu gebeurd met de y?
40
f Probeer het uit!
2 ... op de grond De donut valt van boven naar beneden totdat hij op de grond is gevallen. Jij ziet dat gebeuren, maar hoe kan je dat in je script checken? Pak de donut en zet hem helemaal onderaan het scherm. Kijk eens naar de x en y van de donut rechtsboven op het scriptveld. O wat is de y? Als de donut helemaal onderaan het scherm staat, is de y kleiner dan –170.
In het functies-palet staat dit blok: Dit blok is ook een boolean (dat kan je zien aan de vorm).
<
Het -teken betekent kleiner dan. Een boolean kan waar zijn of niet waar. Afhankelijk van het antwoord kan je er iets mee doen. Daar gebruik je een {als Ăś danZ voor. Als het getal in het eerste vakje kleiner is dan het getal in het tweede vakje is deze boolean waar. Gebruik hierbij dit blokje: geeft de y van de sprite.
LET OP!
Met het getal in het tweede vakje wordt het middelpunt van de sprite bedoeld. Kijk goed waar het middelpunt van de sprite staat (zie pagina 37).
. Dit blokje
O in welk vakje kan je dit blokje zetten? O welk getal zet je in het andere vakje? DONUT 41
Asteroids!
10
een raket
Je gaat een klassiek videospelletje maken. Misschien hebben je ouders dat zelfs gespeeld toen ze zo oud waren als jij nu. Het heet Asteroids.
2 het raketje
Log in met je Scratch account en ga naar machinebrein.nl/scratch/. Voor deze les gebruik je: les10--asteroids_start. Open dit project, klik op en daarna op
Als het project start, moet het raketje verdwijnen. Pas als het signaal startgame is verzonden verschijnt de raket midden op het speelveld. O Kun jij dit script maken?
We beginnen met de sprite startknop. Als het project start (groene vlag) verschijnt de knop. Als je daarop drukt, wordt een signaal verzonden. Dat signaal noem je startgame. Hierna verdwijnt de knop.
RAKETJE
1 klaar voor de start?
O Lees dit nog eens goed na. Kun jij dit script maken? STARTKNOP
f probeer het uit!
f klik op de vlag en probeer het uit!
62
270°
rotatie en de Scratch gradencirkel
-90°
Een gradencirkel bestaat uit 360 graden, ook wel 360°. Het lijkt wel een beetje op een klok. Als de klok helemaal rond is gegaan en de wijzer staat weer bovenaan is het twaalf uur of weer nul uur. De gradencirkel van Scratch werkt hetzelfde. Je geeft er hoeken mee aan. Als de kat naar rechts loopt, maakt hij een hoek van 0°. Als de kat zich omdraait, en weer in de tegenovergestelde richting loopt), maakt hij een draai van 180°. Als de kat een hoek van 90° maakt, loopt hij naar beneden. Als de kat een hoek van of 270° (of -90°) maakt, loopt hij naar boven.
180° 45°
90° 3 draaien De raket wordt bestuurd met de pijltjestoetsen. Het script checkt continu (let op de herhaal) of er een pijltjestoets wordt ingedrukt en welke dat dan is. Net als bij de donuts-robot uit les 4. Maar in plaats van naar rechts of naar links te schuiven, draait het raketje elke keer een beetje rechtsom of linksom om zijn as. Dat beetje drukken we uit in graden.
-15°
O Kun jij dit script maken? Gebruik hierbij nu de blokjes {draai iM5Ngraden} en {draai jM5Ngraden}
-15 °
° -15
360°
RAKETJE
5° -15° -1
0°
f probeer het uit! 63
Doe het zelf
16
Maak je eigen spel of verhaal. Kies uit een van de voorbeelden of verzin zelf iets leuks.
doolhof
interactief prikbord
Beweeg door het doolhof en verzamel punten. Als je de muren raakt ben je af.
Vertel iets over jezelf of over je hobby.
race Scheur met een raceauto over het parcours en probeer je rondetijden te verbeteren.
pong Speel tennis op het beeldscherm met het klassieke computerspelletje pong.
mep een mol Wanneer een mol boven de grond komt; geef hem een tik!
flappycat Maak je eigen flappybird, met gevaar en lekkere hapjes.
92
animatie Vertel stap voor stap een verhaal of gedicht en maak daar bewegende plaatjes bij.
e-card Verras familie of vrienden met een bewegende verjaardags-, kerst of nieuwjaarskaart.
NIET SPIEKEN! Maak je eigen Scratch project met behulp van de hints. Alleen als je er echt niet uitkomt, kijk dan in de voorbeeld projecten. Bekijk de voorbeelden op: machinebrein.nl/scratch/
doolhof
PUNT
Beweeg door het doolhof en verzamel punten. Als je de muren raakt ben je af.
zet ergens een punt neer {herhaal Z {ga naar willekeurige positie v} {wacht tot ö } <raak ik speler v ?> {verander score v metM1J
Sprites: ACHTERGROND, SPELER, PUNT, BEESTJE
bijvoorbeeld zoiets:
BEESTJE
ACHTERGROND
doolhof teken een doolhof
laat gevaarlijke beestjes rondscharrelen {herhaal Z {neem M5N stappen}
SPELER
beweeg door het doolhof
<raak ik kleur ô ?> {draai i MN graden} (willekeurig getal tussen M90N en M-90L <raak ik speler v ?> {stop alle scripts v}
naar boven, naar beneden, naar links en naar rechts: {als ö dan Z <toets pijltje omhoog v ingedrukt?> {richt naar M0vN graden} {neem M10N stappen}
EXTRA
Als je de muren raakt ben je af.
EXTRA Als je genoeg punten hebt gehaald: nieuwe levels met andere doolhoven
meer gevaarlijke beestjes
<raak ik kleur ô ?> {stop alle scripts v}
machinebrein.nl/scratch/ doolhof 93
mBlock
122
mBlock is een kloon van Scratch, en is uitgebreid met een robots-blokkenpalet. In dit palet vind je blokken waarmee je apparaten en robots van Makeblock opdrachten kan geven en uitlezen.
123
Wat heb je nodig?
DISPLAY
4-BUTTON
RJ-25 ADAPTER
SERVO
SOUND SENSOR
MINI GRIPPER
MATRIX DISPLAY
TEMPERATUURSENSOR DC MOTOR DRIVER
MIN PAN TILT
LED STRIP WS2812
RGB LED
DC-MOTOR PACK
JOYSTICK
POTMETER
MATERIAAL
BLUETOOTH DONGLE
124
Met mBlock kan je een uitgebreid assortiment elektronische modules, motortjes en meer aansturen. Deze zijn met telefoonstekkertjes aan te sluiten op de microcontroller, het hart van dit systeem. Voor de mBlock-lessen in dit boek kan je kiezen orion uit drie pakketten: mbot
De Orion is een goedkope microcontroller. Hiermee kun je de eerste tien mBlock-lessen van ranger het boek volgen. De mBot is een eenvoudige robot, geschikt voor alle lessen In dit boek. Wel heeft de mBot een beperkt aantal poorten, daarom wordt in les 6 en 8 voor de mBot een andere werkwijze gevolgd. De Ranger is een geavanceerdere robot. Deze heeft onder andere meer poorten dan de mBotorion en meer sensoren, waaronder een gyroscoop. De mbot encoder-motoren van de Ranger zijn krachtiger en preciezer aan te sturen dan die van de mBot. ranger
orion
mbot
ranger
Me Orion pakket + materiaal, 3x potmeter, 7 segment display, 4-button, joystick, RGB LED, LED strip, Servo, 2x RJ-25 adapter, Sound Sensor, DC motorfan, temperatuur sensor geschikt voor lessen: 1
2
of: 1
2
3
4
5
6
7
8
9
10
3
4
5
6
7
8
9
10
11
12
13
14
mBot pakket
15
16
17
+ materiaal, potmeter, 10 11 12 131x 14 15 16 17 7 segment display, 4-button, joystick, RGB LED, LED strip, Servo, 1 2 3 1 1 2x RJ-25 4 5 6 Sound 7 adapter, Sensor, temperatuur sensor, Matrix Display, Lipo batterij 3.7V 2500mAh, Bluetooth 4.0 dongle 1 2 3 4 5 6 7 10 8 9 geschikt voor lessen: 1
1
2
2
of: 1
2
3
4
5
6
7
8
9
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Ranger pakket
+ materiaal, 3x potmeter, 7 segment display, joystick, 1 2 3 1 1 4-button, 4 5 6 RGB7 LED, LED strip, Servo, 2x RJ-25 adapter, Sound Sensor, DC motorfan, DC Motor driver, 1 2 3 4 5 6 7 10 8 9 temperatuur sensor, Matrix Display, 6x AA batterijen dongle 1 2 3 42500mAh, 5 6 7 Bluetooth 10 11 4.0 12 13 14 15 16 17 8 9 geschikt voor lessen: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
1
17
Kijk op pagina 208 voor de verkoopadressen van deze pakketten. 1 2 3 1 1 4 5 6 7 125
1
Elektriciteit
1
Elektriciteit is er al veel langer dan de mens. Bliksem bijvoorbeeld is elektriciteit. Sterker nog: alles heeft elektriciteit in zich. Alles bestaat in de kleinste vorm uit atomen. En klein is dus wel superklein. Een zandkorrel bestaat uit miljarden miljarden atomen.
elektron proton
Een atoom waarvan een elektron is vertrokken, krijgt daardoor een positieve lading. Want er zijn nu in het atoom meer protonen (met positieve lading) dan elektronen (met negatieve lading). Je noemt het dan een positief ion. Andersom wordt het een negatief ion. Materiaal dat bestaat uit atomen met meer vrije elektronen noemen we geleidend materiaal. Koper is bijvoorbeeld geleidend materiaal. Materiaal met weinig of geen vrije elektronen (zoals rubber, hout of kunststof) noemen we isolatoren. Daarom is elektriciteitsdraad gemaakt van koper met een laagje kunststof, zodat de elektriciteit niet kan ontsnappen.
neutron
Je snapt het beter als je de animatie bekijkt: machinebrein.nl/mblock/ atoommodel_animatie.sb2
Een atoom bestaat uit een klompje protonen en neutronen. Daaromheen draaien elektronen. Protonen zijn positief geladen en elektronen zijn negatief geladen. Neutronen zijn neutraal. Een atoom heeft evenveel elektronen als protonen. Afhankelijk van het materiaal waar het atoom deel vanuit maakt, kan een elektron zich vrij bewegen naar andere atomen. Als dat gebeurt, komt energie vrij. Dit noemen we elektriciteit.
126
LET OP
Een atoom ziet er in het echt niet uit zoals op het plaatje. Als je je een atoom zo groot als een huis zou voorstellen, zweeft in het midden een klompje zo groot als een zandkorrel. Dat is het klompje protonen en neutronen. De elektronen zoeven het hele huis rond.
lampje + – batterij
– batterij +
Stroomkring Elektriciteit komt uit een spanningsbron, bijvoorbeeld het stopcontact of een batterij. Een spanningsbron heeft een min-pool en een plus-pool. De min-pool is dichtbevolkt met negatief geladen elektronen. Die worden aangetrokken door de plus-pool waar weinig elektronen zijn. Er wordt gezocht naar evenwicht.
lampje schakelaar lampje + – batterij schakelaar
– batterij +
electronis gebeurt er niets. Als er geen stroomkring De stroomkring kun je verbreken met een schakelaar. Dan is de stroom uit.
lampje
batterij + – electron
– batterij + Als er een verbinding is tussen de min-pool en en de plus-pool (bijvoorbeeld met een koperdraadje), stromen de elektronen naar de plus-pool. Daarom noemen we elektriciteit ook wel stroom. lampje Als de stroom onderweg iets tegenkomt, schakelaargaat, waardoor het stromen moeilijker noemen we dat weerstand. Dit kan batterij bijvoorbeeld een gloeilampje zijn. Het draadje in een gloeilamp is dun. Hierdoor wordt het op die plek zo warm en druk dat het draadje gaat gloeien. Het lampje gaat branden.
–
+
electron
– batterij +
We zeggen dat een batterij leeg is als er geen stroom meer loopt van de ene pool naar de andere, maar er zitten nog evenveel elektronen in als toen de batterij nog werkte. Nu zijn alleen de elektronen gelijk verdeeld over de plus en min-pool en hoeven ze niet meer te verhuizen. Het evenwicht is hersteld.
Bekijk de animatie op machinebrein.nl/mblock/ stroomkring_animatie.sb2
– batterij + 127
De potmeter en de panda
3 DISPLAY
Je kan bijvoorbeeld de panda groter en kleiner maken. Pak een {wijzig grootte naarM100N%} uit het uiterlijk-palet en zet daarin het (potentiometer) -blok.
POTMETER
Je weet nu hoe je de waarde van de potmeter uitleest en hoe je die waarde op het display laat zien. Met die waarden kan je leuke dingen doen.
bereik 0 - 980
bereik 0 - 9999
EERST TESTEN! Sluit een potmeter aan. Draai aan de potmeter en klik daarna op het (potentiometer) -blok. Herhaal dit en kijk of de waarden van het blok veranderen. Sluit nu een 7-segment display aan en test deze door op het blok {wijzig 7-segment display} te klikken.
P Probeer het uit!
10
absolute waarde
10
10
relatieve waarde
LET OP! kijk goed naar het verschil tussen deze twee blokken. absolute waarde staat op zichzelf. relatieve waarde is afhankelijk van een andere waarde.
138
-
+
0000
-
+
2160
-
+
4000
-
+
9700
Als je draait aan de knop wordt de panda groter, maar stopt met groter worden bij ongeveer 400. De panda kan maximaal 400% worden vergroot. Je kan aan de potmeter blijven draaien tot ongeveer 1000, maar de panda wordt niet groter. Het gedeelte van 400 tot 1000 van de potmeter wordt dus niet gebruikt.
De schaal-truc Je wilt van de potmeter getallen eigenlijk trucje voor: de waarden uit de potmeter moeten worden verkleind. Je deelt
1000 door het
0
het bereik van de potmeter -
+
400
1000
potmeter
gewenste bereik
400 1000 / 400 =
2,5
Deze 2,5 noemen we de schaal. Met deze schaal kan de microcontroller de potmeterwaarden omrekenen (verkleinen), zodat je de potmeter helemaal kan gebruiken. Dit kan je natuurlijk uit het hoofd of met een rekenmachine uitrekenen, maar is het handigst om dat in het script zelf te doen. Daarvoor maak je een nieuwe variabele: (schaal)
0
400 potmeter / 2,5
schaal berekenen schaal =
bereik / gewenst bereik
schaal gebruiken gemetenWaarde / schaal
nieuweWaarde =
gemetenWaarde / schaal
139
les 9 LEUK Door te spelen met het LEDnummer kan je meerdere lichtjes elkaar laten achtervolgen. Kopieer het {zet LED strip}-blok, tel een getal bij het LEDnummer op en kies een andere kleur. Dan krijg je dit script:
LET OP Deze scripts werken beter en sneller als je ze upload naar het Makeblock-brein. TIP
Als je dit script upload naar het Makeblock-brein gaat het te snel. Zet een {wacht M1N seconden} binnen de {herhaal M28NZ en regel hiermee de snelheid.
Op deze manier kan je een 'treintje' maken van 4 LEDjes:
LEUK In plaats van alle LEDs uit te zetten kan je ze ook een kleur geven. Zo kan je bijvoorbeeld een rood LEDje laten lopen op een groene LED-strip.
EXPERT-TIP De LEDjes lopen nog niet mooi de LEDstrip in. Op pagina 172 wordt uitgelegd hoe je dit met het KN modulo ML -blok kan verhelpen
168
LED strip LEDstrip en potmeter Met een potmeter kan je een LEDje op de LEDstrip besturen. Als er 28 LEDs op de LEDstrip zitten, moet je met de potmeter de getallen 1 t/m 28 kunnen maken. De waarde van de potmeter moet dus worden omgerekend.
Deel het bereik van de potmeter door het gewenste bereik
De eerste LED van de strip is nummer 1: Laat de panda de omgerekende waarden van de potmeter zeggen: Met hele getallen, dus afgerond:
Dit is een eenvoudige snelle manier. Deze werkt wel, maar is niet zo mooi. Omdat je alle LEDjes eerst uit en dan het LEDje dat moet branden weer aanzet. Het resultaat is dat het LEDje gaat knipperen.
De oplossing is om telkens weer bij elk LEDje te bepalen of het aan of uit moet staan. Dat kan mooier door dezelfde manier te gebruiken als bij het looplichtje. Met een {als รถ dan Z kijk je elke keer of de waarde van de potmeter hetzelfde is als het LEDnummer.
169
les 12 Als je robot een obstakel tegenkomt, kan hij stoppen, maar ook een andere route kiezen, bijvoorbeeld naar rechts.
Nu rijdt je robot telkens rechtsom. Het is leuker wanneer de robot kiest voor rechts รณf links. Dat kan door kop of munt te gooien in robot-stijl.
LEUK Laat de robot geluid maken en even achteruit rijden wanneer hij een obstakel detecteert.
188
Obstakel ontwijken
Een slimme robot Maak de robot slimmer door te kijken waar hij het beste naar toe kan gaan. - De robot rijdt en stopt pas als er een obstakel wordt ontdekt binnen 15 cm. - De robot 'kijkt' naar rechts, meet de afstand en slaat hem op in een variabele. - Vervolgens meet de robot de afstand links en slaat die op in een andere variabele. - De robot vergelijkt de twee afstanden en kiest de beste richting.
30 cm
15 cm
80 cm
20 cm
!
? 1
TIP
2
stop!
3
rechts meten
4
links meten
5
rechts > links
6
Gebruik het matrix display of een 7 segment display om de afstand af te lezen
189
index Symbols
D
H
4-button module 145
DC motor zie: elektromotor debuggen 33 digitaal 156 display 135 draaien 63, 78 draaistijl 26 driver 134
herhaal 24 herhaal 10 keer 75, 79 hexadecimaal 148
A absolute waarde 138, 140, 145 zie ook: waarde achtergrond 28 afstandhouden 187 afstandsbediening 179 aftrekken 54 Algoritme 23 als... dan... 33 als... dan..., anders... 50 analoog 156 antwoord 48 Arduino 133, 177 Arduino-mode 146 atomen 126 autotune 205
B binaire stelsel 13 zie ook: boolean bit 13, 132 Bluetooth dongle 132, 134 boolean 32 zie ook: binaire stelsel en-boolean 89 niet-boolean 180 of-boolean 66, 180 buzzer 204 byte 13
C compileren 148 computerchip 132 coördinaten 36
206
I infrarood 179, 192 inkomend signaal 132 zie ook: input input 136
E effecten 141 geest-effect 75 pixeleer-effect 76 eigen blok 154 elektriciteit 126 elektromotor 129 DC motor 130, 157 mBot 190 Ranger 190 elektronen 126 encoder-motor 179, 190
J joystick 143
K
false 13, 32 firmware upgraden 147
kleiner dan 41 kleur primaire kleuren 161 secundaire kleuren 161 kleurencirkel 82 kleurmenging 163 additieve kleurmenging 160 subtractieve kleurmenging 161 klonen 68, 69 knop 202 kop of munt 52, 188
G
L
game-controller 143 geluid 43 geluidsensor 171, 202 girl power 8 graden 63, 78
LED 160 LED strip 166 lijnvolg-module 192 loop, lus zie: herhaal
F
gradencirkel 79 grid 37 groter dan 46 gyroscoop 183
M machinetaal 17, 132, 146 matrix display 184, 202 mBlock 123
microcontroller 132, 134, 146, 147 microprocessor 11 middelpunt 37, 41 modulo 172 muziek 203
N negatief getal 47, 66
O opensource 19, 133 optellen 48 output 135
P pan tilt grijper 152 parameter 155 pen 78, 141 pixels 58 positie 37 positief getal 66 potmeter 136 programmeertaal 17, 19, 133, 146 C++ 146 pseudo-random 177 PWM 156, 160
R random zie: willekeurig rekenmachine 9 relatieve waarde 138, 140, 145 zie ook: waarde richting 71 RJ-25 adapter 149 rotatie 63 rpm 190
S
U
samenvoegen 46 schaal 139 schaar 36 schuifregelaar 153, 163 Scratch 19 script 23 scriptveld 21 sensor 5, 7, 132 geluidsensor 171 lijnvolg-module 192 temperatuursensor 170 ultrasone sensor 186 servomotor 149 signaal 30, 46 sirene 184 slimme robot 189 software 17 speelveld 21, 37 spiegelen 39 sprite 28, 29 sprite-info 26 sprite-lijst 21 standaardprogramma 148, 179 stempel (kopie) 38 stempel (pen) 86 stroomdiagram 180 Stroomkring 127
uiterlijken 29 uitgaand signaal 132 zie ook: output ultrasone sensor 186 uploaden 147 Upload naar Arduino 150 USB kabel 134, 147
T temperatuursensor 170 test-methode 150 theremin 204
V variabelen 44 vectoren 58 vermenigvuldigen 61 vleermuis 186 vraag 48
W waarde 44 absolute waarde 83 relatieve waarde 83 willekeurig 42, 177
X x-as 36 x-positie 44, 64 xy-grid 37
Y y-as 36 y-positie 44, 65
Z Zet standaardprogramma terug 148
timer 198 transistor 132 transistors 132 true 13, 32
207
TIPS VOOR DOCENTEN Los geen problemen op voor de leerling. Laat ze zelf ontdekken en oplossen, geef alleen hints. Een probleem zelf oplossen is leerzaam en geeft voldoening en vertrouwen. Als een probleem zich voordoet, is het essentieel dat leerlingen allereerst goed onder woorden kunnen brengen wĂĄt er precies misgaat. Laat na elke stap de leerling het script regelmatig testen en kijken of het werkt. Zo kan je fouten snel ontdekken en debuggen. Wanneer de lessen klassikaal worden gegeven, is het belangrijk om als klas tegelijk dezelfde stap vooruit te zetten. Check eerst of iedereen daar klaar voor is. Maak zoveel mogelijk gebruik van het digitale illustratiemateriaal op machinebrein.nl Stel vragen over de te nemen vervolgstappen. In het programma Scratch is veel te ontdekken. Dat is erg leuk en leerzaam, maar kan niet tijdens de lessen. Stimuleer het werken en uitwisselen thuis en buiten de lesuren. In les 16 staan leuke projecten om zelf te maken, met kickstart-hints. Bugs zijn goed! Het is OK om fouten te maken. Want debuggen is leerzaam en een belangrijk onderdeel van programmeren. Het zorgt niet alleen dat de code beter werkt, maar zorgt voor meer inzicht en overzicht. De leerlingen zullen bugs al snel zien als een hobbel die genomen moet worden. Dit zorgt ervoor dat ze niet tegengehouden worden om nieuwe dingen uit te proberen en hierdoor makkelijker creatieve oplossingen zoeken en vinden. Zie ook pagina 33 208
VERKOOPADRESSEN De machinebrein Makeblock-pakketten zoals beschreven op pagina 125 zijn te koop bij o.a.: Eurofysica.nl Kiwi-electronics.nl
MEER INFO machinebrein Scratch mBlock Makeblock
machinebrein.nl scratch.mit.edu mblock.cc makeblock.com
VERDER LEZEN A Gentle Introduction to Robotics Charles McKnight (eBook) Programmeren met Scratch Majed Marji Programmeren voor kinderen Carol Vorderman OpenRobots fĂźr Maker Bartmann/Donges (Duitstalig)
VERANTWOORDING De uitgever heeft alle moeite gedaan om rechthebbenden van copyright te achterhalen. Personen of instanties die aanspraak menen te maken op bepaalde rechten, wordt vriendelijk verzocht contact op te nemen met de uitgever. De auteur/uitgever aanvaardt geen aansprakelijkheid voor schade ontstaan door eventuele fouten en/of onvolkomenheden in dit boek.