Programmeren met de mBot

M'bition - AVO Plus
Programmeren met de mBot
1 / 33
next
Slide 1: Slide
InformaticaProgrammerenMiddelbare schoolmavo, havo, vwoLeerjaar 1,2

This lesson contains 33 slides, with text slides.

time-iconLesson duration is: 180 min

Items in this lesson

M'bition - AVO Plus
Programmeren met de mBot

Slide 1 - Slide

Computers
Computers doen overal hun taak. De computer in de wasmachine zorgt ervoor dat het wasprogramma goed verloopt. Precies de juiste temperatuur, op tijd het wasmiddel erbij, op de goede snelheid gecentrifugeerd. Een stoplicht zorgt ervoor dat er verkeerslichten op rood springen en jij bij groen licht veilig kan oversteken. In een auto werken tientallen computers samen, om de benzinetoevoer voor de motor te regelen of de parkeersensoren in de gaten te houden.

Slide 2 - Slide

Enen en nullen
Een computer kan niet tot 2 tellen. Een computer ‘werkt’ met enen en nullen. 
1 of 0 dat is hetzelfde als aan/uit, ja/nee, true/false. Er bestaat geen ‘misschien’ of ‘een beetje’.
Een computerbrein is dus opgebouwd uit onvoorstelbaar veel schakelaars. Deze noemen we ‘bits’. 


Slide 3 - Slide

Algoritme
Een computer kan niets zonder opdrachten. Er moet ze verteld worden wat ze moeten doen, wanneer ze dat moeten doen en wanneer niet. Echt álles moet omschreven worden.
Zo’n reeks van opdrachten noemen we een algoritme. Dat algoritme maak je met programmeertaal. Een programmeertaal bestaat uit woorden, codes en getallen die mensen begrijpen en zet deze om in enen en nullen (machinetaal die wordt gebruikt door computers).

Slide 4 - Slide

Programmeertalen
Er zijn heel veel programmeertalen. Er zijn programmeertalen waarmee je slimme websites kan maken, waarmee je machines in een fabriek kunt aansturen of waarmee de apps op je telefoon gemaakt zijn. 

Slide 5 - Slide

Scratch
Scratch is een programmeertaal waarmee je kunt leren hoe een programmeertaal werkt. Je kunt met Scratch games, interactieve filmpjes en gewoon mooie dingen maken. Interactief betekent dat je iemand anders iets kunt laten doen, zoals op een knop drukken of tekst invullen, waardoor er iets gebeurt. 

Slide 6 - Slide

Scratch blokken
In Scratch klik je met blokken je eigen programma aan elkaar. De blokken hebben per functie een eigen kleur. 
Sommige blokken hebben een speciale vorm, zodat je snel ziet hoe ze in elkaar passen. Zo geef je de logische volgorde aan waarin het algoritme moet worden uitgevoerd: van boven naar beneden. Zo werkt een echte programmeertaal ook, maar deze bestaat uit (Engelse) tekst en getallen. Met als nadeel dat je al snel een tikfout maakt en je script niet meer werkt.

Slide 7 - Slide

Voorbeeld Scratch

Slide 8 - Slide

Open source
Scratch is ‘open source’ software, wat betekent dat wie het wil het programma zelf kan aanpassen en verbeteren.
 
Er bestaat ook open source hardware. Arduino is daar een voorbeeld van en maakt goedkope minicomputers waarop sensors, schakelaars, lampjes en motoren kunnen worden aangesloten. Arduino heeft ook een eigen programmeertaal.

Slide 9 - Slide

mBot

Dit is de mBot. De mBot is een kleine robot die je helemaal zelf kunt programmeren. Hij kan rijden, geluid maken, heeft verschillende kleuren lampjes, kan lijnen op de grond volgen en heeft zelfs een ultrasonische afstandsdetectie module. Hiermee kun je bijvoorbeeld voorkomen dat de mBot ergens tegenaan rijdt. 


Slide 10 - Slide

mBlock
Om de mBot te kunnen programmeren gebruiken we het programma mBlock. Dit programma is gebaseerd op Scratch. Door verschillende blokken onder elkaar te zetten schrijf je een programma. 
In mBlock heb je 10 verschillende soorten blokken, zoals beweging, geluid en gebeurtenissen.

Slide 11 - Slide

Starten op laptop
  1. Log in met je schoolaccount op de laptop
  2. Ga naar de map mBlock en dubbelklik hierop
  3. Plaats de dongel in de USB-poort (klik dopje op achterkant)
  4. Zet de mBot aan
  5. Ga in mBlock linksonder naar 'apparaten'
  6. Klik op toevoegen en selecteer de mBot
  7. Klik op verbinden - bijv. COM3 (de mBot laat een muziekje horen)

Slide 12 - Slide

Starten op iPad
  1. Download de app mBlock
  2. Klik aan de linkerkant op 'coding'
  3. Klik op +
  4. Selecteer de mBot
  5. Klik op 'verbinden'
  6. Ga terug naar coderen

Slide 13 - Slide

mBlock Blockly op iPad
mBlock heeft ook een app waarmee je de mBot kunt leren besturen. In deze app krijg je allerlei programmeeropdrachten. Je kunt pas naar een volgend level als je de opdracht goed hebt uitgevoerd. 

Slide 14 - Slide

Starten met programmeren
  • Selecteer bij gebeurtenis 'wanneer op vlag wordt geklikt'
  • Voeg een actie toe, bijvoorbeeld: speel noot A3
  • Om de actie uit te voeren klik je op de vlag
  • Hoor je geluid? 

Slide 15 - Slide

Licht en geluid
Verander de kleur van de ledlampjes en laat de mBot geluid maken.

Tip: 

Slide 16 - Slide

Rijden
Laat de mBot een stukje rijden. Maak gebruik van verschillende richtingen en snelheden.
Tip: 

Slide 17 - Slide

Combineren 
  • Zet een sirene op je mBot met licht en geluid.
  • Laat je mBot gebruik maken van een knipperlicht als hij naar rechts of links rijdt.
  • Laat de mBot 'dansen'  met licht en geluid. Varieer in snelheid en seconden.

Slide 18 - Slide

Sensoren
Tot nu toe was je mBot nog geen echte robot. Je hebt de mBot alleen bestuurd. Een echte robot kan zelfstandig taken verrichten en reageert op zijn omgeving. Hiervoor gebruikt een robot sensoren, deze laten het computerbrein "zien, horen, voelen en ruiken". De resultaten die een sensor meet, kan je gebruiken om de robot dingen te laten doen. Je kunt de mBot bijvoorbeeld op tijd laten stoppen  als de ultrasone sensor een te kleine afstand meet tot een obstakel. 

Slide 19 - Slide

Ultrasone sensor
Met een ultrasone sensor kun je de afstand meten tot een object, zoals een muur. De sensor zendt geluid uit. Dit geluid is zo hoog dat mensen het niet kunnen horen. Dat noemen we ultrasoon. Wanneer geluid ergens tegenaan botst, wordt dit teruggekaatst. De sensor vangt dit geluid op en berekent hoe lang het geluid erover heeft gedaan om weer terug te komen en hoe groot de afstand is. 

Slide 20 - Slide

Afstand houden 
Probeer het volgende programma uit. Wat gebeurt er als je je hand voor de mBot houdt?


Slide 21 - Slide

Volgen
Probeer het volgende programma uit. Houd je hand voor de mBot. 
Wat gebeurt er nu?




Slide 22 - Slide

Ontwijken
Als je mBot een obstakel tegenkomt, kan hij stoppen, maar ook een andere route kiezen, bijvoorbeeld naar rechts.



Extra:
Laat de mBot geluid maken en even achteruit rijden wanneer hij een obstakel detecteert.

Slide 23 - Slide

Lijnvolg-module
De mBot heeft een lijnvolg-module waarmee de robot een zwarte lijn kan volgen. Deze module heeft twee sensors, één voor rechts en één voor links. Die sensor zendt infrarood licht uit en vangt het weerkaatste licht weer op. Dat hangt af van de kleur van de achtergrond. Wit kaatst het licht goed terug, zwart doet dat nauwelijks. 

Slide 24 - Slide

Lijnvolg-module
De lijnvolg-module kan 4 waarden teruggeven:

Slide 25 - Slide

Lijnvolg-module
Let op:
De lijn moet dik genoeg zijn. De twee sensors op de lijnvolg-module moeten tegelijk de lijn kunnen zien.
Extra:
Met de lijnvolg-module kun je de mBot ook op een witte tafel laten rijden zonder dat hij eraf valt. Op de lijnvolg-module zitten 2 blauwe lichtjes. Zolang het wit van de tafel (of vel papier) terugkaatst, branden de lichtjes, maar wanneer je de lijnvolger naast de tafel houdt gaan ze uit (=omgekeerde van lijnvolg-script).

Slide 26 - Slide

Voorbeeld lijnvolg-module

Slide 27 - Slide

Opdracht
Laat de mBot vooruit rijden met groene ledlampjes. 
Als je je hand voor de mBot houdt stopt de mBot met rijden en worden de leds geel. 
Zorg ervoor dat de mBot achteruit rijdt met rode leds als je hem 'terugduwt'. 
Haal je je hand weg, dan gaat hij weer vooruit.

Slide 28 - Slide

Uitvoering - 1
Deel de opdracht in twee stukken. 

Programmeer eerst 'laat de mBot vooruit rijden met groene leds, meet de sensor waarden kleiner dan 30 cm dan rijdt de mBot achteruit met rode leds. 

Slide 29 - Slide

Uitvoering - 1

Slide 30 - Slide

Uitvoering - 2
Nu moeten we de extra voorwaarde nog in het programma krijgen, namelijk dat de mBot stopt bij een afstand kleiner dan 30cm en pas achteruit rijdt bij een gemeten afstand kleiner dan 20cm. 
Die extra voorwaarde is weer een 'als...dan...anders...'

Slide 31 - Slide

Uitvoering - 2

Slide 32 - Slide

Eigen programma's maken
Probeer de dingen die je hebt geleerd met elkaar te combineren om eigen programma's te schrijven voor de Mbot. Wat moet de mBot gaan doen (of wat juist niet) en hoe krijg je dat voor elkaar?


Slide 33 - Slide