Programmeren met mindstorms

Programmeren met mindstorms

Robots veroveren de ruimte!

Robots spelen een steeds grotere rol in ons leven. We merken er misschien niet rechtstreeks iets van, maar er komen steeds meer robots in ons leven.

In veel fabrieken wordt er gewerkt met robots die het werk van de mens lichter kunnen maken. Zo staan er aan de lopende band van autofabrieken vaak lasrobots. Ook in het huishouden kunnen robots helpen. Denk maar aan de robotstofzuiger, de robotgrasmaaier.... Er bestaan zelfs robots die bewegingstaken van mensen met een handicap kunnen overnemen (de was doen, vaatwasser vullen en leegmaken enz.). In de ruimtevaart worden sondes gebruikt die naar planeten gestuurd worden, daar hun taken uitvoeren en hun waarnemingen naar aarde sturen. Ook het leger maakt gebruik van deze technologieën. Als het te gevaarlijk is om een bepaald gebied te betreden, maakt men gebruik van drones.

Wanneer kunnen we nu spreken van een robot?

Heel wat van die robots kan je vinden in de ruimte. Deze robots worden meegestuurd met een ruimteraket om dan op verkenning te gaan op het landschap van een planeet. Op zo’n momenten moeten de robots zelfstandig te werk kunnen gaan omdat er te veel vertraging zit in de besturing van zo een robot. Daarom is het dus noodzakelijk dat we robots gaan programmeren om zo autonoom mogelijk te kunnen werken.

 

 

 

Onderdelen van een robot

Robots zijn vaak geïnspireerd op een mens of dier. De mens leert zijn omgeving kennen via zijn zintuigen. Het is een voortdurende stroom van informatie die hij binnen krijgt. De hersenen verwerken al deze gegevens. Als een persoon een actie wilt ondernemen, gebeurt dit via de spieren in het lichaam.

Een robot daarentegen bestaat uit sensoren (input), actuatoren of motoren (output), de controller en een mechanische structuur.

Een sensor is een voeler, een actuator is een toestel dat invloed kan uitoefenen op zijn omgeving, een controller stuurt een proces aan.

De bouw van een Mindstorms EV3

Net zoals elke andere robot, bestaat ook de Mindstorms EV3 uit verschillende onderdelen. De kern van het systeem is de EV3-steen, een programmeerbare steen, waarmee de motoren en sensoren bediend worden. De motoren worden aangesloten op de output-poorten (A, B en C), de sensoren worden aangesloten op de input-poorten (1 tot en met 4). Zonder de mechanische structuur van legoblokjes ziet de robot er zo uit.

 

Kennismaking met de EV3 Classroom

Installeer nu de EV3 classroom. Stel de taal in op Nederlands.

Het programma dat we gaan gebruiken om de robot te programmeren is EV3 Classroom. Daarin kunnen we onze sensoren en motoren gaan controleren, programma’s maken en uploaden naar ons toestel.

Klik maar op nieuw project!

 

Nu ben je klaar om een programma te maken, we gaan eerst de verschillende onderdelen van het venster bekijken.

Bouw nu de robot volgens het bouwplan hieronder.  Je bouwt per 3 leerlingen 1 robot!

De eerste opdrachten...

In dit thema leren we de basis van onze robot kennen. Zoals we weten uit vorig hoofdstuk is dat onze robot twee motoren heeft voor de beweging (grote motor) en een motor voor een actie uit te voeren (medium motor).

BEWEGEN

VERMOGEN AANPASSEN

We kunnen de snelheid van onze robot aanpassen om deze vlugger of sneller te laten rijden. Dit doen we door voor onze beweging deze blok in te voegen.

Je kan de beweging en de aanpassing van het vermogen ook combineren met deze blokken:

RICHTING VERANDEREN

We kunnen onze robot op verschillende manieren laten draaien. We onderzoeken hier al enkele mogelijkheden. Maar wil je je robot zeer precies laten draaien, kan je dit best doen via zijn gyrosensor. Hier komen we later nog op terug.

In bovenstaande hoofdstukken hebben we onze robot doen draaien met de functie graden. We gaan hier nog wat dieper op ingaan, want het is een methode om onze robot vlot te doen draaien.

Tijd om jouw opgedane kennis te testen!

Vraag aan de leerkracht de evaluatiefiche met de opdracht.

  • Voer met je team de opdracht uit.  
  • Ben je klaar, laat de leerkracht de opdracht controleren.
  • Vul de evaluatiefiche in en bezorg die terug aan de leerkracht.  Download je programma en plaats dit in de passende uploadzone in smartschool.
  • Deze opdracht telt mee voor je dagelijks werk!

BEWEGING STOPPEN

Je hebt het misschien al gemerkt maar niet alle programma’s stoppen automatisch. Soms start je een beweging in je programma, maar weet de robot niet wanneer hij moet stoppen. Dit kan je doen door gebruik te maken van deze blok:

Een van de programmeerblokken in het oranje tabblad is het blokje Wachten. Via dit blokje kan je het programma op iets laten wachten voor het verder gaat met het volgende blok in het programma. Je kan het programma een bepaalde tijd laten wachten of laten wachten tot een sensor een bepaalde waarde bereikt.

In de volgende hoofdstukken gaan we zien, dat we de robot nog kunnen laten reageren op andere gebeurtenissen. 

DE MEDIUM MOTOR GEBRUIKEN

Bij deze oefeningen hangt het af welke robot je hebt om deze actie uit te voeren. Je gebruikt hiervoor de medium motor, maar de actie kan verschillend zijn.

De medium motor in onze robot zorgt ervoor dat onze robot een actie kan uitvoeren. Naargelang het type robot waarmee je nu aan het testen bent, kan deze actie anders zijn. Bij de ene robot gaat deze een grijparm bedienen, bij de andere een rad laten draaien,…

Net zoals de blokken Tankbesturing en Richting veranderen heeft deze blok een aantal keuzemogelijkheden in de moduskiezer. Het eenvoudigste is werken met Aantal seconden Aan.

De medium motor werkt dan maar een aantal seconden en gaat dan verder met het programma. Werk je met Aantal graden Aan of Aantal rotaties Aan dan kan het voorkomen dat de medium motor de grijparm naar beneden blijft duwen ook al is zijn onderste positie al bereikt.

Dit kan gebeuren als het aantal rotaties of graden dat je hebt opgegeven niet bereikt is vooraleer de grijparm al onderaan gekomen is.

Tip:

Als je wilt dat de hendel van de robot naar beneden gaat, zet je hem voor het starten van het programma helemaal naar omhoog.

Als het programma speelt, mag je de hendel niet meer handmatig verzetten.

 

Tijd om jouw opgedane kennis te testen!

Vraag aan de leerkracht de evaluatiefiche met de opdracht.

  • Voer met je team de opdracht uit.  
  • Ben je klaar, laat de leerkracht de opdracht controleren.
  • Vul de evaluatiefiche in en bezorg die terug aan de leerkracht.  Download je programma en plaats dit in de passende uploadzone in smartschool.
  • Deze opdracht telt mee voor je dagelijks werk!

HERHALEN EN ONDERBREKING HERHALING

Als programmeurs proberen we ons programma zo kort mogelijk te maken. Dit kunnen we doen door bepaalde stukken code te gaan herhalen. Hierdoor hebben we minder programmeerblokken nodig en blijft onze code heel overzichtelijk. Bij de eerste soort herhaling kan je een programma code een aantal keer uitvoeren.

Soms willen we dat onze code blijft herhalen tot er een bepaalde gebeurtenis heeft plaatsgevonden of een sensor een bepaalde waarde heeft  behaald. Hiervoor gebruiken we deze blok:

Hier zal het stukje code zich herhalen tot iemand van de gebruikers de middelste knop gaat indrukken op de steen. 

GYROSENSOR

Eerder in de cursus leerde je al dat je de robot kon laten draaien over een bepaalde hoek door de blokken Richting veranderen of Tankbesturing te gebruiken. Als je de robot wil laten draaien over een exacter aantal graden, dan kan je hiervoor het wachtblok gebruiken in de modus Gyrosensor.

Het blok bewegen starten zorgt ervoor dat de robot naar rechts zal draaien. Het blok Gyrosensor wacht tot hoek zorgt ervoor dat de robot pas de volgende blok gaat uitvoeren als de robot 60 graden heeft kunnen draaien.

Als de robot over een hoek van 60° heeft gedraaid, gaat hij over naar het volgende programmeerblokje Stoppen met bewegen, waardoor hij tot stilstand komt.

Dit kan je ook bereiken door het blok Richting veranderen te wijzigen in het blokje Tankbesturing. Let wel op dat je dan tegengestelde vermogens kiest om te kunnen draaien.

Tijd om jouw opgedane kennis te testen!

Vraag aan de leerkracht de evaluatiefiche met de opdracht.

  • Voer met je team de opdracht uit.  
  • Ben je klaar, laat de leerkracht de opdracht controleren.
  • Vul de evaluatiefiche in en bezorg die terug aan de leerkracht.  Download je programma en plaats dit in de passende uploadzone in smartschool.
  • Deze opdracht telt mee voor je dagelijks werk!

TASTSENSOR

Je kan het blokje Wachten ook instellen op de modus Tastsensor – Vergelijken - Status. De tastsensor detecteert of de knop vooraan ingedrukt is. De tastsensor heeft 3 modi: Ingedrukt (0), Vrijgeven = niet ingedrukt (1)  of Geraakt = ingedrukt en losgelaten (2).

In onderstaand programma rijdt de robot tot de tastsensor ingedrukt wordt.

KLEURSENSOR/LICHTSENSOR

Je kan de robot ook laten wachten tot de kleursensor kleuren detecteert of een wijziging van de ene kleur naar een andere. In onderstaand programma werd het blokje Wachten tot kleur gewijzigd is gebruikt. Hierdoor blijft de robot rijden tot hij een andere kleur detecteert.

Tip: Zorg er bij het uittesten van dit programma voor dat je de kleursensor naar beneden richt.

LICHTSENSOR/KLEURSENSOR KALIBREREN

Voor een goede werking van de lichtsensor is het nodig om de sensor te gaan kalibreren. We moeten de minimum- en maximum waarde van de kleuren instellen om deze zo correct mogelijk in ons programma op te nemen. De robot heeft het soms moeilijk met het onderscheiden van verschillende soorten van een bepaalde kleur.

Om dit correct te doen moeten we 3 verschillende programma’s maken. De eerste twee programma’s zorgen voor de instelling van de minimum en maximum waarde van onze kleuren. Het derde programma is het programma dat onze robot zal doen rijden.

Hiervoor gebruiken we de knoppen van onze EV3 steen, en koppelen er een waarde aan.

Ons programma om de robot de lijn te doen volgen ziet er dan zo uit:

Maak dit programma en test uit.

ULTRASONE SENSOR

Deze sensor gebruik je wanneer je de afstand wilt meten vanaf de sensor tot een voorwerp dat zich ervoor bevindt.

Om de afstand te kunnen bepalen mag het voorwerp niet dichter dan 3 cm staan en niet verder dan 2,50 m.

SCHAKELEN

In het oranje tabblad vind je ook het verloopblok Schakelen. Vaak wordt het blok Herhalen in combinatie met het blok Schakelen gebruikt.

In het schakelblok kan je 2 of meer programmeerblokken zetten. Je kan voorwaarden stellen aan de acties die moeten gebeuren. Net zoals bij het blok Wachten kan je in de moduskiezer een keuze maken tussen de verschillende sensoren.

Voor de volgende opdrachten maken we gebruik van het blok Schakelen in de modus Tastsensor. In onderstaand programma werd de volgende voorwaarde ingesteld: ‘Als de tastsensor ingedrukt (1) wordt’.

Indien de tastsensor ingedrukt wordt, voert het programma de bovenste actie uit. Indien de tastsensor niet ingedrukt wordt, voert het programma de onderste actie uit.

Tijd om jouw opgedane kennis te testen!

Vraag aan de leerkracht de evaluatiefiche met de opdracht.

  • Voer met je team de opdracht uit.  
  • Ben je klaar, laat de leerkracht de opdracht controleren.
  • Vul de evaluatiefiche in en bezorg die terug aan de leerkracht.  Download je programma en plaats dit in de passende uploadzone in smartschool.
  • Deze opdracht telt mee voor je dagelijks werk!

EV3 Rally Finale!

Dit thema zit er bijna op!  Maar vooraleer je dit thema kan beëindigen, moet je bewijzen of je alle kennis bezit om een goede programmeur te worden.  Je krijgt van de leerkracht een parcours dat je moet afleggen in zo weinig mogelijk pogingen en met zo weinig mogelijk blokken!

  • Het arrangement Programmeren met mindstorms is gemaakt met Wikiwijs van Kennisnet. Wikiwijs is hét onderwijsplatform waar je leermiddelen zoekt, maakt en deelt.

    Auteur
    Annelies Croene Je moet eerst inloggen om feedback aan de auteur te kunnen geven.
    Laatst gewijzigd
    2023-10-09 06:54:41
    Licentie

    Dit lesmateriaal is gepubliceerd onder de Creative Commons Naamsvermelding 4.0 Internationale licentie. Dit houdt in dat je onder de voorwaarde van naamsvermelding vrij bent om:

    • het werk te delen - te kopiëren, te verspreiden en door te geven via elk medium of bestandsformaat
    • het werk te bewerken - te remixen, te veranderen en afgeleide werken te maken
    • voor alle doeleinden, inclusief commerciële doeleinden.

    Meer informatie over de CC Naamsvermelding 4.0 Internationale licentie.

    Aanvullende informatie over dit lesmateriaal

    Van dit lesmateriaal is de volgende aanvullende informatie beschikbaar:

    Toelichting
    De leerlingen maken in het vak STEM-W kennis met de Legomindstorms. Ze onderzoeken de onderdelen van de mindstorms. Ze maken kennis met de EV3 classroom. Ze leren de Legomindstorms gebruiken.
    Eindgebruiker
    leerling/student
    Moeilijkheidsgraad
    gemiddeld
    Studiebelasting
    4 uur en 0 minuten

    Bronnen

    Bron Type
    Installeer nu de EV3 classroom. Stel de taal in op Nederlands.
    https://education.lego.com/en-au/downloads/mindstorms-ev3/software
    Link
  • Downloaden

    Het volledige arrangement is in de onderstaande formaten te downloaden.

    Metadata

    LTI

    Leeromgevingen die gebruik maken van LTI kunnen Wikiwijs arrangementen en toetsen afspelen en resultaten terugkoppelen. Hiervoor moet de leeromgeving wel bij Wikiwijs aangemeld zijn. Wil je gebruik maken van de LTI koppeling? Meld je aan via info@wikiwijs.nl met het verzoek om een LTI koppeling aan te gaan.

    Maak je al gebruik van LTI? Gebruik dan de onderstaande Launch URL’s.

    Arrangement

    Oefeningen en toetsen

    Herken jij de robot? Welk soort robot wordt hier afgebeeld?

    Maak de juiste verbindingen.

    Test jezelf!

    IMSCC package

    Wil je de Launch URL’s niet los kopiëren, maar in één keer downloaden? Download dan de IMSCC package.

    QTI

    Oefeningen en toetsen van dit arrangement kun je ook downloaden als QTI. Dit bestaat uit een ZIP bestand dat alle informatie bevat over de specifieke oefening of toets; volgorde van de vragen, afbeeldingen, te behalen punten, etc. Omgevingen met een QTI player kunnen QTI afspelen.

    Meer informatie voor ontwikkelaars

    Wikiwijs lesmateriaal kan worden gebruikt in een externe leeromgeving. Er kunnen koppelingen worden gemaakt en het lesmateriaal kan op verschillende manieren worden geëxporteerd. Meer informatie hierover kun je vinden op onze Developers Wiki.