OMA-Intro mBot: verschil tussen versies

Uit Aureus Beta
Naar navigatie springen Naar zoeken springen
(Nieuwe pagina aangemaakt met '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 programme...')
(geen verschil)

Versie van 23 aug 2017 om 14:13

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!

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.

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. 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).

Mblock002.png

Je kunt de taal van mBlock instellen door in het menu 'Language' te klikken op de 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!


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: Mblock001.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 Robots het meest interessant voor nu. Klik er maar eens op en kijk wat voor zaken er staan.

Onder de verschillende tabbladen vind je weer andere onderdelen. Kijk vooral zelf wat je kunt en wilt gebruiken.


En om meteen de daad bij het woord te voegen maak je meteen je eerste programma. 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 vlaggetje boven de pandabeer uit veld A.

Mbot003.png


Verbinding maken met de mBot

Dan de mBot. Om verbinding te maken heb je een USB kabel nodig en natuurlijk de mBot. Let er even op dat er ook batterijen in moeten. Er zit een AAN/UIT schakelaar op.

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 in het programma mBlock op het menu 'Verbinden', kies bij 'Seriële poort' voor '/dev/tty.wchusbserialfa130'. Als deze niet in de lijst staat dan is de USB kabel niet (goed) aangesloten of is er iets mis met je mBot.

Mbot004.png

Bovenaan in het venster zul je nu 'Seriële Poort Verbonden' zien staan als alles goed is gegaan. Er is nu verbinding met de mBot!

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 'Robots' en onder 'Bediening'. Hieronder het programma:

Mbot005.png


Wat er eigenlijk staat:

  • Door het kopje 'mBot Programma' 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 'loop' zoals het in het Engels heet):
    • Laat twee keer een piepje horen.
    • Zet de motor aan op 100 (positief getal dus naar voren).
    • Ga drie seconden door.
    • Zet de motor aan op -100 (negatief getal dus naar achteren).
    • Ga hiermee ook drie seconden door.

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).


Je kunt dit programma naar de mBot uploaden door met de rechtermuisknop op het onderdeel 'mBot Programma' te klikken en dan te kiezen voor 'Upload naar Arduino'. Je komt dan in een ander scherm terecht waar je aan de rechterkant de vertaling van jouw programma naar 'Arduino Code' kunt vinden.

Mbot006.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 'Upload naar Arduino' 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 voor altijd' naar 'Herhaal 10 keer' en upload je programma opnieuw naar de mBot. Nu stopt na 10 keer het programma, dat scheelt!

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: Mbot007.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!

Aanvullende opdrachten

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

Denk bijvoorbeeld aan:

  • We hebben nog een veel toffere robot staan met grijparm erop, hier kun je vast iets leuks mee verzinnen.
  • Een rondje rijden over een lijn en stoppen zodra er een voorwerp de mBot zijn neus staat, bonuspunten als je de mBot ook een verdrietig liedje laat spelen.
  • Laat de mBot een sumo wedstrijd uitvoeren tegen een andere mBot. De Arena bestaat uit een zwarte cirkel op een wit vlak. Beide mBots worden erin gezet, de eerste die de ander eruit heeft geduwd wint!
  • Maak een doolhof en laat de mBot er zelf uit ontsnappen (voor het gemak kun je in het midden van de paden een zwarte lijn maken zodat de mBot in ieder geval altijd in het midden van het pad blijft ... dit zou je ook op kunnen lossen met twee afstandssensoren aan de zijkanten natuurlijk ...)