OMA-Intro mBot

Uit Aureus Beta
Naar navigatie springen Naar zoeken springen

In dit onderdeel leer je omgaan met de mBot van Makeblock en maak je een start met programmeren met Scratch. Scratch is ontwikkeld om te leren starten met programmeren, dus dat komt mooi uit!

Planning
Week 1 Begin eens met de mBot tet leren kennen. Als je deze robot deze les al een beetje kunt laten rijden en geluidjes maken ben je al aardig ver.
Week 2 Je zou zeker zover moeten zijn dat je de basis opdrachten gedaan hebt.
Week 3 Kun je de mBot een lijn laten volgen en opzij laten gaan bij obstakels?


Open het programma mblock op je computer. Het icon van het programma is het meest snoezige pandabeertje ever, dus je zult het zo kunnen vinden. Op de MacBook computers is hij te vinden in de LaunchPad (dat is het icon van het raketje op de balk onder in beeld).

Mblock-icon.png

mBlock inleiding

Direct bij starten word je blij verrast met een op het eerste gezicht chaotisch scherm.

Vrees niet, het valt allemaal mee als je eenmaal weet wat waar precies thuishoort en waar alles voor dient.

Engels / Pools / Koreaans ???

Om te beginnen de taal. Standaard is de taal in het programma Engels. Veel mensen die programmeren vinden het een doodzonde als je niet in het Engels werkt, natuurlijk is dit onzin (hoewel het wel veel makkelijker is aangezien voorbeelden en uitleg doorgaans in het Engels te vinden is).

Mblock5002.png

Je kunt de taal van mBlock instellen door linksboven op de wereldbol te klikken en daarna op een taal naar keuze. Voor het gemak is in deze voorbeelden alles Nederlands, maar als je liever in een andere taal werkt zul je zelf even alles moeten vertalen.

Let er even op dat je, zelfs als je bezig bent, de taal kunt wijzigen. Alle standaard onderdelen (dus ook de 'bouwblokjes' waarmee je programmeert) wijzigen dan van taal. Dit is handig om te weten voor voorbeeldjes van internet: Zet je taal even op Engels, doe de mensen op internet na, wijzig de taal terug naar Nederlands. Voila, Google Translate is er niets bij!

mBlock

Hoe dan ook, je hebt mBlock nu voor je neus en vraagt je vast af waar alles zo ongeveer voor dient. Een semi-snel overzichtje: Mblock5001.png

Bij A vind je een fijn pandabeertje. Deze zone wordt, samen met E, ook wel het podium genoemd omdat er hier zaken gebeuren. Je kunt met mBlock je mBot programmeren (dat was tenslotte het idee achter dit hele verhaal), maar deze panda ook allerlei zaken laten uitvoeren. Daar ga ik verder hier niet op in maar mag je zelf eens uitzoeken. Bij B komt je uiteindelijke programma code te staan. De onderdelen waaruit je programma bestaat sleep je uit de lijst bij C.

De lijst onderdelen die je bij C ziet is weer afhankelijk van wat je bij D hebt geselecteerd. Het is je hier vrij makkelijk gemaakt: Er zijn aparte verzamelingen voor Beweging, Gebeurtenissen, Bediening etc. Als je met de mBot wilt werken zijn de onderdelen die je terug vindt onder 'Actie' het meest interessant voor nu. Klik er maar eens op en kijk wat voor zaken er staan (hint: blauw!).

E, tenslotte, is opgedeeld in drie tabbladen: Apparaten, Sprites en Achtergrond. Als je met een mBot wilt werken dan moet er bij de Apparaten dus een mBot komen te staan. Als je niet met een robot werkt maar bijvoorbeeld het pandabeertje op het 'podium' iets wilt laten doen dan klik je op het tabblad 'Sprites'. Alle onderdelen bij D veranderen nu naar dingen die met een 'Sprite' te maken hebben. ((effe tussen haakjes: Een sprite is een ander woord voor 'klein plaatje dat je kunt laten bewegen')).


Hou het tabblad 'Sprites' maar even in beeld, gaan we er meteen iets mee doen!

Een snelle start

En om meteen de daad bij het woord te voegen maak je meteen je eerste programma. Enfin, in het tabblad 'Sprites' staat nu een plaatje van het pandabeertje. Je kunt dit beest dingen laten doen.


Hieronder zie je welke onderdelen je nodig hebt. Aan de kleuren moet je al kunnen zien waar deze verstopt zitten. Maak het maar eens na door de onderdelen die je wilt gebruiken te verslepen vanuit de onderdelenlijst en onder elkaar te zetten in en klik vervolgens op het groene vlaggetje rechts onder de pandabeer uit veld A.

Mbot003.png

Voila, je eerste programma is klaar! Zoals je ziet kun je het beest ook laten lopen en andere dingen laten doen, simpelweg door blokjes in de juiste volgorde aan elkaar te plakken.

Kijk eens of het je lukt om er bijvoorbeeld een tweede pandabeest bij te zetten en ze met elkaar te laten praten.

Verbinding maken met de mBot

Dan de mBot. Om verbinding te maken heb je een USB kabel nodig en natuurlijk de mBot. Als je ook nog graag wilt dat de mBot kan rijden zonder kabel aan de computer dan zul je er ook voor moeten zorgen dat er batterijen inzitten. Er zit een AAN/UIT schakelaar op, die ga je zeker weten wel een keer vergeten :-)

TIP: Let even goed op voordat je deze in een avontuurlijke bui direct op AAN zet: Het kan zijn dat je voorganger zojuist een programma in de mBot heeft gezet waarmee deze met een noodgang gaat rijden ... het is slim hem dus even in de gaten te houden en ervoor te zorgen dat hij niet van de tafel af kan rijden.


Steek de USB kabel in de mBot en de andere kant in de computer. Er gebeurt nog niets, behalve dat de mBot zoals gezegd direct het programma doorloopt dat eerder in is gezet.


Klik nu op de knop 'Verbinden' (die kun je vinden in zone D ... als je het tabblad 'Apparaten' hebt geselecteerd). Je moet de computer vertellen op welke poort hij iets kan vinden. In dit geval is het een 'Seriële poort' en als je geluk hebt dan ziet hij zelf al iets waar 'usbserial' bij staat. Als deze niet in de lijst staat dan is de USB kabel niet (goed) aangesloten of is er iets mis met je mBot (en staat hij wel aan?).

Mbot5004.png

Dan is het slechts op 'Verbinding' klikken en klaar!


Als alles goed is gegaan is er verbinding en ziet het deel bij 'Apparaten' er ongeveer uit zoals op onderstaand plaatje (ja, behalve de groene pijl dan). Die groene pijl wijst naar 'Uploaden' en 'Live'. Het is makkelijk om hem nu even op 'Uploaden' te laten staan.

Mbot5006.png

De mBot programmeren met een simpel programma

Programmeren van de mBot is niet veel anders dan bovenstaande Panda 'Hallo!' laten zeggen natuurlijk. De onderdelen voor het eerste programma dat je maakt kun je vinden onder 'Actie' en onder 'Bediening'. Hieronder het programma:

Mbot5005.png


Wat er eigenlijk staat:

  • Door het kopje 'Wanneer mBot(mcore) wordt opgestart' geven we aan dat het een programma voor een mBot is (en niet voor een pandabeer of robotzombie ofzo).
  • Dan zetten we een van de leds (lampjes) op groen.
  • De andere zetten we op rood.
  • Vervolgens een lus (of herhahling of zelfs 'loop' zoals het in het Engels heet):
    • Laat twee keer een piepje horen.
    • Draai naar links voor 3 seconden.
    • Wacht een seconde.
    • Draai naar rechts 5 seconden.
    • En wacht maar weer vrolijk 6 seconden.

Een lus zoals dit blijft in principe eeuwig doorgaan en stopt alleen als je in de lus meegeeft wanneer of waarom er gestopt moet worden. In dit geval had er bijvoorbeeld ook voor een van de andere lussen gekozen kunnen worden zoals bijvoorbeeld 'Herhaal (10)' waarmee de lus slechts 10 keer herhaalt wordt (of een ander waarde natuurlijk).


Nu zou het leuk zijn als je mBot dit ook meteen zou gaan doen natuurlijk. Ik ga er maar even vanuit dat je de mBot al aan je computer verbonden hebt ... Om te kunnen uploaden moet de schuifknop bij de groene pijl wel op 'Uploaden' staan, klik daarna op 'Uploaden'.

Mbot5006.png

Maar wat is dat nu precies? Ja dat is waar ik het hierboven al over had: Scratch is een eenvoudige intro in programmeren. Het programma mBlock vertaald jouw Scratch code zodat computers er iets mee kunnen. Als je op de knop 'Uploaden' klikt wordt je programma naar de mBot gestuurd. Even geduld want het kan een minuutje duren!


Kijk eens of je de lus kunt wijzigen van 'Herhaal' naar 'Herhaal 10 keer' en upload je programma opnieuw naar de mBot. Nu stopt na 10 keer het programma, dat scheelt! Ah en laat hem in plaats van te wachten tussen het keren ook eens vooruit of achteruit rijden.

Een stapje verder

Dit was makkelijk dus doen we er een schepje bovenop met een ingewikkelder programma voor de mBot. In de doos zit doorgaans een vel papier met daarop een grote zwarte 8. Is die niet aanwezig, dan moet je even in één van de andere dozen kijken.

Mbot008.png Op deze 8 laten we de mBot nu rondjes rijden met behulp van de lijnsensor die op de voorkant zit (onder het mondje kun de sensor juist zien zitten ...)


Nu probeer je het volgende programma na te bouwen in mBlock: Mbot5007.png

Je komt hierbij een aantal nieuwe dingen tegen:

  • Er staat een eeuwigdurende lus in het programma.
  • In deze lus staan een aantal geneste vergelijkingen: Als ... Dan ...
  • In de vergelijking wordt de status van een sensor bekeken, je zult eerst de vergelijking en daarna pas de sensor hierin kunnen verslepen.

Uploaden (en even opletten: De mBot gaat er direct vandoor!), USB kabel uit de mBot halen en hem op de zwarte lijn zetten.


Voorop zie je blauwe leds op de lijnsensor. Deze gaan aan en uit, afhankelijk van of de sensor boven een zwart of een wit stuk is. Je programma leest deze sensoren uit en doet iets met de informatie:

Mbot009.png

Er zijn vier mogelijkheden die door je programma worden afgewerkt:

  • A: We zitten op de lijn, rechtdoor blijven rijden.
  • B: Lijn aan de linkerkant, bijsturen dus.
  • C: Lijn aan de rechterkant, bijsturen dus.
  • D: Te ver doorgereden, achteruit!

Een opdracht

Voila, tot zover de instructie mBot en mBlock. Er is natuurlijk veel meer te doen dan alleen dit.

Hier kun je een verzameling mBot programma's vinden: mBot-Scratch-Cookbook waaruit je wat inspiratie kunt putten of gewoon simpelweg als voorbeeld kunt gebruiken. Kies iets uit de lijst hieronder, zorg ervoor dat het werkt en laat het aan je docent zien. Als je het leuk vind mag je proberen ze allemaal te maken natuurlijk.

  • Je mBot is bang in het donker. Maak gebruik van de lichtsensor en laat hem flink piepen als hij in het donker staat. Het is slim om hem zelf zijn lichten aan te laten zetten dan natuurlijk!
  • Je mBob heb je fijn over de 8 laten rijden, maar wat nu als er twee op staan? Ze rijden elkaar van de baan af! Wijzig je programma op zo'n manier dat ze stoppen zodra er iemand voor hen rijdt en dan vijf seconden wachten voordat ze verder gaan. Hoeveel mBots kun je kwijt in totaal op deze manier?
  • Iets ziet er levend uit als het zelf beslissingen kan maken. Je mBot heeft een afstandssensor, programmeer deze op zo'n manier dat je de mBot door de klas heen kunt laten rijden en dat hij steeds stopt als er iets op zijn pad komt om daarna wat achteruit te rijden en een andere kant op te gaan.