33
is een project van vzw www.fyxxi.be MBLOCK + MBOT

MBLOCK + MBOT - Technon Ieper · 2018-01-14 · is een project van vzw 3 DE MBOT AANSLUITEN VOOR JE BEGINT 1. Steek de USB-kabel in je pc en aan de zijkant in de mBot en zet je mBot

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

is een project van vzw

www.fyxxi.be

MBLOCK + MBOT

is een project van vzw

www.fyxxi.be

2

INHOUD Inhoud ................................................................................................................................................................... 2

De mBot aansluiten ............................................................................................................................................... 3

Voor je begint .................................................................................................................................................... 3

Verbinden via USB-kabel ................................................................................................................................... 4

Verbinden via Bluetooth ................................................................................................................................... 4

Let op! ............................................................................................................................................................... 4

mBlock vs Scratch .................................................................................................................................................. 5

Input - output ........................................................................................................................................................ 7

output: besturen van de robot .......................................................................................................................... 7

input: Meten met mBot .................................................................................................................................... 8

Interactie tussen input en output ................................................................................................................... 10

Opdrachten ......................................................................................................................................................... 11

Kleurwisselen .................................................................................................................................................. 13

Licht/donker-verklikker ................................................................................................................................... 17

“Gandalf the Great” ........................................................................................................................................ 21

Lijn volgen ....................................................................................................................................................... 25

Parkeren .......................................................................................................................................................... 29

is een project van vzw

www.fyxxi.be

3

DE MBOT AANSLUITEN

VOOR JE BEGINT

1. Steek de USB-kabel in je pc en aan de zijkant in de mBot en zet je mBot aan.

2. Start mBlock en ga naar ‘Extensies’. Daar zou

‘Makeblock’ moeten aangevinkt zijn.

3. Klik vervolgens op ‘Boards’ en kijk of daar ‘mBot (mCore)’

aangevinkt staat.

is een project van vzw

www.fyxxi.be

4

VERBINDEN VIA USB-KABEL

1. Ga naar ‘Verbinden > Seriële Poort’

en klik de COM-poort aan.

Normaal gezien staat daar maar 1

mogelijkheid, maar heb je (zoals in het

voorbeeld) meerdere mogelijkheden, vink

dan een voor een de COM-poorten aan en

wacht telkens enkele seconden.

2. Bij de poort die bij je mBot past, zal je een

korte piep horen die aanduidt dat er

connectie gemaakt werd.

VERBINDEN VIA BLUETOOTH

1. Klik op verbinden>Bluetooth>zoek

2. Na enig zoekwerk van de computer komt dit venster tevoorschijn:

3. Klik op “Makeblock (00:0D:19:08:3E:1E)”

(in het voorbeeld hiernaast, dat nummer kan verschillen):

4. Normaal zie je dan eerst dit

(klik niet op sluiten!)

5. en kort daarna dit

(klik nu wel op sluiten)

6. Je bent verbonden

LET OP!

Wil je met een rechtstreekse verbinding werken en de robot niet autonoom laten werken d.m.v.

“uploaden naar Arduino”, klik dan eerst en vooral even op “Zet standaard programma terug”.

is een project van vzw

www.fyxxi.be

5

MBLOCK VS SCRATCH

Aangezien mBlock gebaseerd is op Scratch en er dus bijgevolg zeer gelijkend aan is, verwijs ik voor de

basisbegrippen naar de bundels en fiches van Scratch.

Hieronder zie je enkel de voornaamste verschillen tussen mBlock en Scratch.

1. Bewerken

Het tabblad “bewerken” geeft verschillende mogelijkheden om

het uiterlijk van je programmeeromgeving aan te passen.

Zo kan je het podium (= waar de panda nu staat) verbergen of

kleiner maken om een grotere programmeeromgeving te

hebben, zorgt “Turbo mode” ervoor dat je programma instant

uitgevoerd wordt en geeft “Arduino mode” een extra scherm

weer die je robot-programma automatisch vertaalt naar

Arduino-code.

2. Verbinden

Het tabblad “verbinden” gebruik je om je mBot (of

Arduino) te verbinden met het toestel (pc of tablet)

waarop je een programma geschreven hebt.

Dat kan via een USB-kabel, bluetooth, of wifi.

1 2 3

4

is een project van vzw

www.fyxxi.be

6

3. Boards

Bij “boards” geef je aan met welk type bord (= microcontroller) je

werkt. Dat kan bijvoorbeeld “mBot(mCore)” zijn als je een mBot wil

programmeren of “Arduino” wanneer je met Arduino gaat werken.

4. Robots

Het grootste verschil met Scratch zijn de uitbreiding-blokken om de

robot aan te sturen.

Deze werken wel enkel wanneer de verbinding geslaagd is en het

bolletje naast “mBot” groen is. Een rood bolletje zoals hiernaast geeft

weer dat er geen verbinding is.

is een project van vzw

www.fyxxi.be

7

INPUT - OUTPUT

OUTPUT: BESTUREN VAN DE ROBOT

Om een beweging te programmeren heb je minstens een gebeurtenis en een robotactie nodig.

Bijvoorbeeld dit:

Dit werkt perfect maar heeft als nadeel dat de robot niet meer stopt met rijden nadat je pijl omhoog heb

ingedrukt. Dat is namelijk niet geprogrammeerd.

Daarom voeg je er best standaard nog een tweede script aan toe, met de omschrijving van wat er moet

gebeuren wanneer je die knop niet meer indrukt.

Doe dit nu ook voor de drie andere

pijltjes en je kan je robot besturen met

de pijltjes op je toetsenbord!

is een project van vzw

www.fyxxi.be

8

INPUT: METEN MET MBOT

1. Laat de panda op het scherm iets zeggen, bijvoorbeeld “Hoi, ik ben een panda!”.

2. Laat nu de panda iets ‘variabel’ zeggen, bijvoorbeeld de x-waarde van de muis.

a. Deze variabele “muis x” bestaat al en vind je bij “Voelen”. Je kan nu de panda die “muis x” laten

zeggen in plaats van “Hoi, ik ben een panda” door “Muis x” op “Hoi, ik ben een panda” te slepen.

is een project van vzw

www.fyxxi.be

9

b. Wanneer je nu je programma uitvoert zegt de panda éénmaal de x-waarde van je muis.

(Deze waarde zal trouwens altijd tussen de 180 en 200 liggen. Probeer het maar eens. Weet jij

waarom?)

Laat dit nu constant opnieuw meten zodat je telkens de nieuwste waarde ziet. “Constant

opnieuw” iets laten doen, doe je door het “herhaal voor altijd”-blok te gebruiken. Dit vind je bij

“Bediening”.

3. Laat de panda de waarde van een meting van de mBot zeggen.

Vervang “muis x” door “licht sensor op lichtsensor op het board”. Aangezien dit een blok is dat de mBot

bestuurt, vind je het bij “Robots”.

4. Pas nu zelf het programma aan zodat de afstand van de mBot tot een object voor de mBot gezegd wordt.

(tip: hiervoor gebruik je de ultrasone sensor)

is een project van vzw

www.fyxxi.be

10

INTERACTIE TUSSEN INPUT EN OUTPUT

1. Laat de mBot reageren op de metingen. Bijvoorbeeld “rijden tot iets zijn weg verspert waardoor hij

moet stoppen”.

Hiervoor gebruiken we ook een “als…dan”-voorwaarde die je vindt bij “bediening”

en een vergelijkingsblok dat bij “operatoren” zit.

2. Zorg dat de mBot enkel stopt wanneer er iets voor staat. Dat wil zeggen dat hij terug verder rijdt

wanneer er niks meer voor staat.

Hiervoor gebruiken we een “als…dan…anders”-voorwaarde.

is een project van vzw

www.fyxxi.be

11

OPDRACHTEN 1. Kleurwisselen

2. Licht/donker-verklikker

3. Gandalf the Great

4. Lijn volgen

5. Parkeren

is een project van vzw

www.fyxxi.be

12

is een project van vzw

www.fyxxi.be

13

KLEURWISSELEN

Opdracht: Laat de LED’s op de mBot wisselen tussen rood, groen en blauw telkens je op de

spatiebalk drukt.

1. We proberen eerst de Panda te laten tellen van 0 t.e.m. 2

wanneer op de spatiebalk gedrukt wordt.

Hiervoor creëer je eerst een variabele (bijvoorbeeld ‘teller’)

waarbij, telkens gedrukt wordt, eentje bijgeteld wordt (“wijzig

‘teller’ met 1”).

Vervolgens stel je voorwaarden: Als ‘teller’ = 0, zeg “0”, als

‘teller’ = 1, zeg “1” en als ‘teller’ = 2, zeg “2”.

2. Dat werkt perfect zolang de teller 0, 1 of 2 is. Wanneer je echter

verder op spatie drukt, doet zich een probleem voor. De teller telt

verder naar 3, 4 enz., terwijl jij enkel 0, 1 of 2 wil kunnen bekomen.

We moeten de teller dus resetten op het juiste moment. Dat moment

is wanneer de teller groter wordt dan 2.

3. Nu we kunnen

wisselen tussen 0, 1 en 2, moeten we enkel nog de

mBot erbij betrekken.

Gebruik “set led on board alles red green blue” en

vul waarden in van 0 tot 255 om aan de juiste

kleuren te komen.

is een project van vzw

www.fyxxi.be

14

Uitbreiding 1: Maak eenzelfde programma voor 6 (of zelfs

meer) kleuren.

Uitbreiding 2: Wissel tussen rood, groen, blauw en knipperend wit.

Uitbreiding 3: Zorg dat je deze handeling onafhankelijk van een computer kan doen. Gebruik daarvoor de

‘on board button’ op de mBot in plaats van de spatiebalk.

Aanpassing 1: Start met “mBot Programma” om een programma te maken dat je kan uploaden op je

mBot.

Hierdoor verlies je wel je “gebeurtenis” en moeten we dus ietsje anders te werk gaan:

enerzijds heb je een extra “als-voorwaarde” nodig, die bekijkt of de knop ingedrukt is, anderzijds

moet die voorwaarde constant gecheckt worden en heb je dus ook “herhaal voor altijd” nodig.

Aanpassing 2: Er zijn blokken die niet herkend worden door je

mBot. Zo kan hij niets “zeggen”. Die blokken moeten dus

weggehaald worden.

is een project van vzw

www.fyxxi.be

15

Aanpassing 3: De knop reageert zó snel dat er

heel vlug iets bij je variabele geteld wordt. Té vlug

soms. Om dat tegen te gaan, zorgen we voor een

rustmoment tussen het indrukken van de knop en

de volgende keer dat de lus doorlopen wordt. Dit

doen we door op het einde een “wacht 0.5

seconden” ertussen te zetten.

Aanpassing 4: Om dit programma op de mBot te zetten, open je Bewerken> Arduino mode (1) en klik

je op “Upload naar Arduino” (2)

Als je kijkt naar de code zie je trouwens hoe de vertaling van jouw blokjes naar code gebeurt.

1

2

is een project van vzw

www.fyxxi.be

16

is een project van vzw

www.fyxxi.be

17

LICHT/DONKER-VERKLIKKER

Opdracht: Laat je mBot zijn LEDlichten aanspringen voor 10seconden

wanneer het te donker is én er iets of iemand in de buurt is gekomen.

1. We hebben hiervoor twee sensoren nodig:

“licht sensor op licht sensor op het board” en “ultrasonische sensor op Poort 3 meet”.

Laten we die eerst en vooral al deze twee gemeten waarden weer te geven.

Aangezien we twee variabele waarden willen weergeven, moeten we die verbinden met elkaar en om

het leesbaar te houden verbinden we deze ook met een toepasselijke omschrijving.

(zie ook de opdracht “Lijn volgen” > aanpassing 1 > uitbreiding 1)

De verbinding van deze twee uitdrukkingen laten we zeggen door de panda. En aangezien we

constant de nieuwste waarden willen kennen, zetten we er een “herhaal voor altijd”-lus rond

uiteraard.

Tenslotte wordt het een stuk duidelijker wanneer je je afstandswaarden laat afronden tot op de

centimeter. Hiervoor bestaat het “afgerond”-blok dat je simpelweg rond “Ultrasonische sensor op

Poort 3 meet afstand” zet.

is een project van vzw

www.fyxxi.be

18

2. De eerste voorwaarde is dat het licht aanspringt wanneer iets of iemand voor de mBot staat.

Hiervoor gebruiken we “ultrasonische sensor op Poort 3 meet” en een “als-dan”.

“Als die ultrasonische sensor een afstand meet van minder dan bijvoorbeeld 30cm, dan zet je alle

LEDs aan en wacht je 10 seconden”. In programma-taal ziet dat er bijna hetzelfde uit.

De tweede voorwaarde zegt dat dit alleen maar mag gebeuren als het donker genoeg is.

(bijvoorbeeld <900)

We doen dus eigenlijk hetzelfde als hierboven rond de vorige voorwaarde:

Uitbreiding: Laat je robot verklikken zonder kabel.

Aanpassing 1: Start met “mBot Programma” in plaats van “Wanneer groene vlagje wordt aangeklikt”

om een programma te maken dat je kan uploaden op je mBot.

Aanpassing 2: Er zijn blokken die niet herkend worden door je mBot. Zo kan hij niets “zeggen”. Die

blokken moeten dus weggehaald worden. Indien je dat niet doet en je gaat naar aanpassing 3, dan

krijg je volgende melding:

is een project van vzw

www.fyxxi.be

19

Aanpassing 3: Om dit programma op de mBot te zetten, open je Bewerken> Arduino mode (1) en klik

je op “Upload naar Arduino” (2)

Als je op de juiste plaats kijkt in de code zie je trouwens hoe de vertaling van jouw blokjes naar code

gebeurt!

is een project van vzw

www.fyxxi.be

20

is een project van vzw

www.fyxxi.be

21

“GANDALF THE GREAT”

Opdracht: - Laat de mBot vooruitrijden terwijl zijn LEDs groen zijn

- Wanneer je je hand ervoor houdt, stopt hij en zijn de LEDs geel. (vb: afstand < 30 cm)

- Wanneer je ‘terugduwt’, gaat hij achteruit en zijn de LEDs rood. (vb: afstand < 20 cm)

- Wanneer je je hand weg doet, rijdt hij terug vooruit. (vb: afstand > 30 cm)

1. We moeten afstanden vergelijken, dus gebruiken we “ultrasonische sensor op Poort 3 meet” en gaan

die waarden koppelen aan bewegingen.

Om te beginnen zorgen we ervoor dat we de waarden die gemeten worden door de ultrasonische

sensor kunnen lezen.

Je laat de panda dus constant (=”herhaal voor altijd”) de waarden zeggen van de ultrasonische

sensor.

2. Vervolgens delen we de opdracht op in twee stukken. Het eerste stuk is

“laat de mBot vooruit rijden met groene LEDs, meet de sensor waarden kleiner dan 30cm, dan rijdt

de mBot achteruit met rode LEDs”

Dit is perfect te programmeren met een “als…dan…anders”-voorwaarde.

Als de sensor waarden meet kleiner dan 30cm, dan rijdt de mBot achteruit met rode LEDs en anders

(dus als de waarde groter zijn dan 30cm) rijdt hij vooruit met groene LEDs.

is een project van vzw

www.fyxxi.be

22

En aangezien we in een “herhaal voor altijd”-lus werken, worden deze voorwaarden constant

gecontroleerd en zal de robot dus ook altijd meteen reageren.

3. Nu is het de kunst om de extra voorwaarde er ook nog in te krijgen, met name dat hij stopt bij een

afstand kleiner dan 30cm en pas achteruit rijdt bij een gemeten afstand kleiner dan 20cm.

Die extra voorwaarde (het woord zegt het bijna zelf) is opnieuw een “als…dan…anders”.

Meerbepaald als de sensor waarden meet kleiner dan 20cm, dan rijdt de mBot achteruit met rode

LEDs en anders (dus als de waarde groter zijn dan 20cm) staat hij stil met gele LEDs.

Deze voorwaarden geldt uiteraard wel enkel wanneer we in de zone kleiner dan 30cm zitten. Dus

nieuwe “als…dan…anders”-voorwaarde zit binnenin het “als <30 dan”-stukje zoals hieronder.

4. Probeer het maar eens. Je robot rijdt gewoon vooruit. Wanneer je er iets voorhoudt stopt hij want bij

een afstand kleiner dan 30 moet hij stilstaan.

Wanneer je nu het object dichter naar de robot schuift, zal hij achteruitrijden wanneer het op minder

dan 20cm voor hem staat. Doe je het terug weg, dan rijdt hij weer vooruit.

is een project van vzw

www.fyxxi.be

23

Vandaar de naam “Gandalf the Great”: jij hebt nu, net als een tovenaar, de kracht om een robot

zonder er aan te komen, te laten stoppen en zelfs terug te duwen.

is een project van vzw

www.fyxxi.be

24

Uitbreiding: Zorg dat je “Gandalf the Great” kan zijn bij een robot zonder kabel.

Aanpassing 1: Start met “mBot Programma” in plaats van “Wanneer groene vlagje wordt aangeklikt”

om een programma te maken dat je kan uploaden op je mBot.

Aanpassing 2: Er zijn blokken die niet herkend worden door je mBot. Zo kan hij niets “zeggen”. Die

blokken moeten dus weggehaald worden. Indien je dat niet doet en je gaat naar aanpassing 3, dan

krijg je volgende melding:

Aanpassing 3: Om dit programma op de mBot te zetten, open je Bewerken> Arduino mode (1) en klik

je op “Upload naar Arduino” (2)

Als je op de juiste plaats kijkt in de code zie je trouwens hoe de vertaling van jouw blokjes naar code

gebeurt!

1 2

is een project van vzw

www.fyxxi.be

25

LIJN VOLGEN

Opdracht: Programmeer je robot zo dat hij een lijn volgt.

1. Er bestaat een lijnvolg module voor mBot die we gaan gebruiken.

Deze module heeft 2 sensoren die het verschil zien tussen zwart en wit. Dit geeft dus 4 verschillende

standen die kunnen aangeven in welke richting de lijn gaat.

0 = allebei zwart = de lijn gaat vooruit

1 = links zwart, rechts wit = de lijn gaat links

2 = links wit, rechts zwart = de lijn gaat rechts

3 = allebei wit = de lijn is weg

Eerst even kijken of alles werkt zoals we het verwachten. Laat de

Panda de waarde van de “lijnvolg module op poort 2” zeggen, zet

hier een “herhaal voor altijd” rond, zodat je steeds de meest

geüpdatete waarde krijgt (= in realtime) en test het uit.

2. Als de “lijnvolg module op poort 2” gelijk is aan 0,

wil je dus dat de robot vooruit rijdt.

Als de “lijnvolg module op poort 2” gelijk is aan 1,

wil je dat hij naar links draait.

Als de “lijnvolg module op poort 2” gelijk is aan 2,

wil je dat hij naar rechts draait.

Als de “lijnvolg module op poort 2” gelijk is aan 3,

wil je dat hij achteruit rijdt.

Dit giet je in een programma dat er verdacht veel uitziet

als hoe je het gewoon zou zeggen.

Tip: maak de snelheid niet té hoog, vooral niet in de

bochten.

is een project van vzw

www.fyxxi.be

26

3. Zorgt voor een zwarte lijnen die breed genoeg zijn (tussen 2 en 3 cm is ideaal) en die voldoende

weerkaatsend zijn (isolatietape is ideaal hiervoor)

Zet je mBot op de tape, klik op vlagje en kijk wat er gebeurt.

Uitbreiding 1: Laat mBot de lijn volgen, maar als er iets in de weg staat moet hij stoppen.

Aanpassing 1: We laten de Panda 2 sensorwaarden zeggen i.p.v. 1

Om twee woorden of waarden tegelijk te laten zeggen,

gebruiken we het groene ‘verbind-blok’.

Wanneer we dan de twee variabelen “muis x” en “muis y” in

de plaats van “hello” en “world” slepen, zien we de panda

deze waarden tegelijk zeggen.

Leesbaar is het wel niet, de waarden worden helemaal tegen mekaar geplakt.

Om de boel een stuk leesbaarder te

maken, verbind je best een woord,

bijvoorbeeld “ en “ met “muis y” en

verbind je dat geheel dan met “muis x”

Dit doen we nu ook met de twee sensoren in plaats van “muis x” en muis y”

is een project van vzw

www.fyxxi.be

27

Aanpassing 2: De mBot laten stoppen wanneer er op 20 cm iets voor zijn neus staat.

Al het bovenstaande blijft gelden. Alleen komt er een als-dan-anders-voorwaarde bij waarop dit al dan niet

uitgevoerd wordt.

is een project van vzw

www.fyxxi.be

28

Uitbreiding: Laat je robot de lijn volgen zonder kabel.

Aanpassing 1: Start met “mBot Programma” in plaats van “Wanneer groene vlagje wordt aangeklikt”

om een programma te maken dat je kan uploaden op je mBot.

Aanpassing 2: Er zijn blokken die niet herkend worden door je mBot. Zo kan hij niets “zeggen”. Die

blokken moeten dus weggehaald worden. Indien je dat niet doet en je gaat naar aanpassing 3, dan

krijg je volgende melding:

Aanpassing 3: Om dit programma op de mBot te zetten, open je Bewerken> Arduino mode (1) en klik

je op “Upload naar Arduino” (2)

Als je op de juiste plaats kijkt in de code zie je trouwens hoe de vertaling van jouw blokjes naar code

gebeurt!

is een project van vzw

www.fyxxi.be

29

PARKEREN

Opdracht: Laat de mBot op zoek gaan naar een geschikte parkeerplaats en laat hem daar

achteruit inparkeren.

1. Allereerst zorg je dat je je robot kan laten stoppen na een test.

De mBot heeft namelijk de niet zo handige gewoonte het laatste stukje programma te blijven

uitvoeren, zelfs wanneer je al op de stopknop drukte.

Daarom maak je een scriptje dat er altijd kan voor zorgen dat de mBot stopt.

2. De bedoeling is om de robot te laten zoeken of er (voldoende) ruimte is om te parkeren.

Hiervoor gebruik je de ultrasone sensor die naar de zijkant gedraaid staat. Op deze manier kan die

meten of er objecten (muren of auto’s) in de weg staan of niet.

Dat zijn metingen die je wil kunnen zien uiteraard:

Laat de Panda de waarde van de “Ultrasonische sensor op Poort 3 meet afstand” zeggen, zet hier een

“herhaal voor altijd” rond, zodat je steeds de meest geüpdatete waarde krijgt (= in realtime) en test

het uit.

Wil je het wat duidelijker maken én een waarde in centimeter zonder cijfers na de komma? Zet er

dan nog een omschrijving voor door “verbind … met …” te gebruiken en “afgerond” rond de waarde

van de ultrasone sensor.

is een project van vzw

www.fyxxi.be

30

3. De robot ruimte laten zoeken is op zich niet zo moeilijk. Als de ultrasone sensor een waarde opmerkt

die groter dan pakweg 10 cm naast de robot, dan wil dat zeggen dat er ruimte is en dat de robot

moet stoppen, anders moet hij doorrijden.

Bovenstaande zin is eigenlijk het programma al:

Een mooi begin, op dit moment zou je hem kunnen laten inparkeren.

Maar…

Hoe weet de robot dat de parkeerplaats ruim genoeg is?

4. De robot moet voldoende ruimte vinden om te parkeren. Dat houdt in dat er een tijdlang een afstand

van meer dan 10cm gemeten moet worden om zeker te zijn dat de parkeerplaats lang genoeg is.

Als er lang genoeg een open ruimte gemeten wordt, werd er een geschikte plaats gevonden en

moet de robot stoppen en inparkeren.

Als er niet lang genoeg een open ruimte gemeten wordt, moet de robot doorrijden en verder

zoeken.

Geen parkeerplaats. Parkeerplaats!

< 10cm

> 10cm

Parkeerplaats! Te kort

is een project van vzw

www.fyxxi.be

31

(Dit heeft uiteraard rechtstreeks te maken met de snelheid waaraan de robot rijdt. Hoe sneller hij

rijdt, hoe minder tijd nodig is om de gepaste lengte te vinden. Er wordt evenwel voor het gemak

gewerkt met een snelheid van 100 en het is de bedoeling dat er empirisch getest wordt welke tijd

voldoende is. In volgende voorbeelden wordt gewerkt met een snelheid van 100, waarbij 1 seconde

een parkeerplaats met voldoende lengte aangeeft.)

Om tijd te meten, gebruik je de timer die je vindt onder “Voelen”.

Je reset de timer op het moment dat hij moet beginnen tellen en dat is wanneer de ultrasone sensor

een afstand opmerkt die groter is dan 10cm.

Pas wanneer de teller 1 seconde bereikt én de afstand is nog steeds groter dan 10 cm, werd er

voldoende plaats gevonden en mag de robot stoppen.

Wordt niet aan beide voorwaarden voldaan, dan blijft de robot rijden en reset hij constant de timer

naar nul.

Wanneer je dit programma uitvoert, merk je wel nog een foutje. De timer blijft tellen wanneer de

parkeerplaats te klein blijkt te zijn en hij eigenlijk terug zou moeten resetten.

Dat lossen we op door een extra voorwaarde voor de timer in te voegen:

is een project van vzw

www.fyxxi.be

32

5. Je robot weet nu wanneer hij kan parkeren. Nu moet je hem nog instructies hoe hij kan parkeren.

Om dit overzichtelijk te doen, maken we best een nieuw blok “Parkeren” aan.

(Wanneer je “opties” openklikt, zie je dat je nog veel meer dan enkel een naam kan toevoegen aan

het nieuwe blok. Dat is in dit geval niet nodig, maar experimenteren hiermee wordt ten zeerste

aangemoedigd! Zo zou je bijvoorbeeld de snelheid van inparkeren kunnen laten ingeven wanneer je

kiest voor “voeg cijferveld toe”)

Dat blok plaats je daar in het programma waar je robot al weet dat hij kan parkeren en dus al

stilstaat.

En dan komt het enkel nog neer op je robot de juiste instructies te geven onder “Definieer Parkeren”.

is een project van vzw

www.fyxxi.be

33

Opmerking 1:

Vergeet niet dat je, wanneer je je robot wil laten rijden, je enkel richtingen kan aangeven en geen afstanden.

Vandaar dat je na iedere richtingsverandering een wacht-blok moet zetten dat aangeeft hoe lang die

beweging moet uitgevoerd worden voor er overgegaan wordt naar de volgende beweging.

Opmerking 2:

Eindig met “stop alles”, anders gaat de robot terug naar zijn hoofdprogramma en begint hij terug te rijden.

1

2