Workshop Programmeren Lego Mindstorms EV 3 Workshop 1

  • Slides: 50
Download presentation
Workshop Programmeren Lego Mindstorms EV 3 Workshop 1. 0 (beginners) Workshop 2. 0 (gevorderden)

Workshop Programmeren Lego Mindstorms EV 3 Workshop 1. 0 (beginners) Workshop 2. 0 (gevorderden) Einde presentatie

Workshop Programmeren Lego Mindstorms EV 3 Workshop 1. 0 (beginners) Workshop 2. 0 (gevorderden)

Workshop Programmeren Lego Mindstorms EV 3 Workshop 1. 0 (beginners) Workshop 2. 0 (gevorderden) Introductie programma Afstanden rijden Bochten maken Herhaalblok gebruiken Kleurensensor gebruiken Lijn volgen met kleursensor Einde presentatie

Workshop Programmeren Lego Mindstorms EV 3 Workshop 1. 0 (beginners) Workshop 2. 0 (gevorderden)

Workshop Programmeren Lego Mindstorms EV 3 Workshop 1. 0 (beginners) Workshop 2. 0 (gevorderden) Einde presentatie Blokken informatie delen Sensoren uitlezen Eigen blokken maken Afstand in cm rijden blok Meerkeuze schakelblokken Lijn volgen met lichtsensor Startmenu maken

Uitleg EV 3 software Workshop 1. 0

Uitleg EV 3 software Workshop 1. 0

Naam project Naam programma, een project kan meerdere programma’s bevatten Programmalijn: sleep een programmeerblok

Naam project Naam programma, een project kan meerdere programma’s bevatten Programmalijn: sleep een programmeerblok hier naar toe om een programma te maken Blokkenmenu’s: kleur bepaalt het bloktype Programmeer blokken Download alle programma’s van een project naar de robot Download en start meteen huidig programma Download en start alleen de geselecteerde programmablokken

Opdrachten blok

Opdrachten blok

Programma verloop blok

Programma verloop blok

Sensor blok

Sensor blok

Rekenblok

Rekenblok

Eigen blokken: hierin kun je je eigen gemaakte blokken opslaan om ze steeds opnieuw

Eigen blokken: hierin kun je je eigen gemaakte blokken opslaan om ze steeds opnieuw te gebruiken Geavanceerde blokken

Help! De knop linksboven is de terug- of afbreekknop 2. Bepaal instellingen blok: •

Help! De knop linksboven is de terug- of afbreekknop 2. Bepaal instellingen blok: • • • 1. Programma maken: Sleep programmablokken naar de programmeerlijn Eenheid: rotaties Richting: vooruit Power: 75% Aantal eenheden: 1 Remmen na opdracht: ja 3. Upload programma en start

Programmeren: afstand rijden Workshop 1. 0

Programmeren: afstand rijden Workshop 1. 0

Opdracht 1: Laat de robot 30 cm rijden Bepaal zelf welke eenheid je gebruikt:

Opdracht 1: Laat de robot 30 cm rijden Bepaal zelf welke eenheid je gebruikt: Graden, omwentelingen of tijd EV 3:

Opdracht 2: Laat de robot 50 cm rijden EV 3:

Opdracht 2: Laat de robot 50 cm rijden EV 3:

Opdracht 3: Laat de robot 30 cm rijden, 90 o draaien, daarna 50 cm

Opdracht 3: Laat de robot 30 cm rijden, 90 o draaien, daarna 50 cm rijden De afstand die 1 wiel moet afleggen om de robot 90 o te laten draaien is uit te rekenen door de wielbasis op te meten en de volgende formule: wielbasis

Opdracht 4: Laat de robot 2 x de complete rechthoek rijden Tip: Maak een

Opdracht 4: Laat de robot 2 x de complete rechthoek rijden Tip: Maak een exact kopie van een blok door de CTRL-knop in te drukken en het blok te verslepen Tip 2: wanneer opdrachten worden herhaald, kun je gebruik maken het blok herhalen (of loop).

Opdracht 4: Laat de robot 2 x de complete rechthoek rijden Voorbeeld met herhaalblok

Opdracht 4: Laat de robot 2 x de complete rechthoek rijden Voorbeeld met herhaalblok

Programmeren: met sensoren Workshop 1. 0

Programmeren: met sensoren Workshop 1. 0

Opdracht 5: rijd tot de rode streep EV 3: Tip: Zet het motorblok op

Opdracht 5: rijd tot de rode streep EV 3: Tip: Zet het motorblok op ON (EV 3) En gebruik daarna het zandloperblok uit de ORANJE opdrachten +

Opdracht 6: rijd tot de 3 e rode streep EV 3: Tip: Bedenk goed

Opdracht 6: rijd tot de 3 e rode streep EV 3: Tip: Bedenk goed wat de robot “ziet” voor hij de 3 e groene lijn bereikt. +

Opdracht 6: rijd tot de 3 e rode streep Voorbeeld programma: Korter… Nóg korter…

Opdracht 6: rijd tot de 3 e rode streep Voorbeeld programma: Korter… Nóg korter…

Opdracht 7: Laat de robot de zwarte lijn volgen Onder staat de programmastructuur waarmee

Opdracht 7: Laat de robot de zwarte lijn volgen Onder staat de programmastructuur waarmee je een lijn kunt volgen. Bepaal nu: - Wat moet de sensor zien? - Wat moet de robot doen als ie het ziet? - Wat moet de robot doen als ie het niet ziet? Dit kan ook met de lichtsensor, hiervoor hoef je alleen deze te selecteren ipv de kleurensensor ? ? ?

Opdracht 7: Laat de robot de zwarte lijn volgen

Opdracht 7: Laat de robot de zwarte lijn volgen

Opdracht 8: Laat de robot vanuit de basis de zwarte lijn volgen tot de

Opdracht 8: Laat de robot vanuit de basis de zwarte lijn volgen tot de groene lijn Stop h ier Tip: Combineer de oplossingen van opdracht 6 en opdracht 7 Star t h ier Tip 2: Om uit een loop te kunnen komen, moet je de voorwaarde hiervoor aangeven. Dit kan door op 2 e blok van de loop een andere instelling te kiezen (aantal, sensor, etc…)

Einde workshop 1. 0 Met deze korte cursus ben je in staat om de

Einde workshop 1. 0 Met deze korte cursus ben je in staat om de robot over het bord te laten manouvreren én ALLE sensoren te gebruiken. Vervang in het programma “groene lijn zoeken” de kleurensensor in bv een tastsensor en je hebt een programma dat weet wanneer iets geraakt wordt. Veel success met het oplossen van de missies!

Informatie delen • • afstand rotatie Eigen blok maken Workshop 2. 0 Deze workshop

Informatie delen • • afstand rotatie Eigen blok maken Workshop 2. 0 Deze workshop is in vier leerblokken ingedeeld. Onder de blokken staan de onderwerpen die per blok behandeld worden. Hoewel er een logische volgorde in de leerblokken zit, is het mogelijk om ze in willekeurige volgorde door te nemen. • • • robot zelf laten uitrekenen 30 cmrijden blok maken Lichtsensor • • kalibreren lijnvolger met lichtsensor Menu maken • • meerkeuze schakelblok werken met variabelen robotknoppen programmeren startmenu maken

1. Informatie delen: afstand (monteer ultrasoonsensor) 3 soorten: logisch tekst Informatie komt hieruit Opdracht:

1. Informatie delen: afstand (monteer ultrasoonsensor) 3 soorten: logisch tekst Informatie komt hieruit Opdracht: Informatie gaat hierin getal Toon oplossing Laat de robot vanuit de basis naar de roadblock rijden, terwijl deze steeds langzamer gaat en stopt vlak voor de wegblokkade (zie onder). Maak alléén gebruik van deze blokken:

2. Informatie delen: rotatie (monteer tastsensor) Toon oplossing Opdracht: zet de robot op een

2. Informatie delen: rotatie (monteer tastsensor) Toon oplossing Opdracht: zet de robot op een willekeurige plek op de weg richting de wegblokkade. Laat de robot met de sensor de blokkade raken en terugkeren naar de plaats waarvan deze is gestart. TIPS: • Maak eerst het programma dat de robot stopt bij indrukken tastsensor • Hergebruik het aantal rotaties dat de robot heeft gereden. • Welke sensor houdt dit bij? ?

3. Eigen blok: Robot zelf laten uitrekenen Formule berekenen voor het aantal omwentelingen: Opdracht:

3. Eigen blok: Robot zelf laten uitrekenen Formule berekenen voor het aantal omwentelingen: Opdracht: Toon oplossing TIPS: • Om de berekeningen te doen heb je alleen dit rekenblok nodig (wel goed instellen!) Maak een programma waarin de robot zelf uitrekent hoeveel rotaties deze moet rijden om 30 cm ver te komen en dit ook uitvoert. Gebruik bovenstaande formule in het programma. 30 cm

4. Eigen blok: 30 cmrijden blok maken Uitleg: Van ieder programma kun je een

4. Eigen blok: 30 cmrijden blok maken Uitleg: Van ieder programma kun je een eigen blok maken. Selecteer hiervoor alle blokken van het programma en kies vanuit je menu voor “Mijn blok-bouwer” Zodra je het blok een naam hebt gegeven en op voltooien klikt heb je een eigen blok (terug te vinden onder het lichtblauwe tabblad). Opdracht: Maak een eigen blok van je 30 cm rijd programma uit de vorige oefening. Geef deze de naam 30 cmrijden en kies een pictogram. Kijk nu onder het lichtblauwe tabblad en vind daar je eerste eigen blok terug!

5. Eigen blok: cmrijden blok maken Uitleg: Klik hier om een parameter toe te

5. Eigen blok: cmrijden blok maken Uitleg: Klik hier om een parameter toe te voegen. Er verschijnen dan 2 tabbladen om deze in te stellen en een pictogram voor te kiezen Om nu een eigen blok te maken waarin je zelf kunt aangeven bv hoeveel cm je robot moet rijden moet je in de blokbouwer parameters toevoegen. Iedere parameter die je toevoegt kun je instellen en een pictogram geven. Opdracht: Maak een opnieuw een eigen blok van je 30 cm rijd programma. Voeg hier een parameter met de naam “cm” en stel deze in. Geef het blok de naam “cmrijden”. Zodra je op voltooien klikt, verandert het beeld. Links staat nu ineens een blokje (de nieuwe parameter) die nog moet worden verbonden aan een input in je programma. Toon oplossing ?

6. Lichtsensor: kalibreren Toon oplossing Uitleg: Voordat je de lichtsensor (onderdeel van de kleurensensor)

6. Lichtsensor: kalibreren Toon oplossing Uitleg: Voordat je de lichtsensor (onderdeel van de kleurensensor) kunt gebruiken MÓET deze vooraf altijd gekalibreerd worden. Ander licht op een andere plek betekent dat de sensor anders meet. Bij het kalibreren wordt de donkerste kleur op 0 gezet en de lichtste kleur op 100. Dit levert dus een bereik op van 0 -100, waarmee de robot altijd op dezelfde wijze kan blijven rekenen. Structuur van het programma: • • • stel sensor opnieuw in zet op het scherm de opdracht: ZET OP ZWART wacht tot een knop wordt ingedrukt lees sensor en stel donker in Herhaal stap 2 t/m 4 voor wit Opdracht: Maak het programma, maak hiervan een eigen blok en voer het uit. TIPS: • Als je ergens op moet wachten begin je altijd bij de zandloper • Alles wat je nodig hebt om de lichtsensor in te stellen zit in dit blok verstopt.

7. Lichtsensor: Lijn volgen 0 25 50 75 100 Opdracht: Toon oplossing Uitleg: Als

7. Lichtsensor: Lijn volgen 0 25 50 75 100 Opdracht: Toon oplossing Uitleg: Als de lichtsensor goed is gekalibreerd meet deze als op het plaatje hiernaast. Het bereik van de sensor is van 0 -100. Om een lijn te volgen zou deze: - het midden (50) aan moeten houden - corrigeren naar links bij <50 - corrigeren naar rechts bij >50 Het bereik van het rijblok sturen is van -100 (links) tot 100 (rechts) met 0 om rechtdoor te rijden. 0 < 50 > 100 -100 <0> 100 Maak het programma lijnvolgen. Lees de waarde vanuit de lichtsensor. Reken deze om, zodat de uitkomst is te gebruiken in de besturing van het rijblok. Gebruik alleen de blokken hiernaast.

8. Menu: meerkeuze schakelblok Uitleg: Als je een schakelblok met sensor instelt op “vergelijken”

8. Menu: meerkeuze schakelblok Uitleg: Als je een schakelblok met sensor instelt op “vergelijken” heb je automatisch de keuze uit 2 opties: ja of nee. Wanneer je een schakelblok met sensor echter instelt op “meten” kun je meerdere keuzes instellen. Meerdere keuzes aanmaken kan door op de + te drukken in het schakelblok. Kleiner kan door een optie weer te wissen. Opdracht: Laat de robot over de kleuren rijden en steeds de kleur uitspreken waar deze overheen rijdt. Stop bij de zwarte lijn Toon oplossing Een schakelblok kan ook “plat” gemaakt worden. TIPS: Klik hier om geluiden te kiezen

9. Menu: werken met variabelen Toon oplossing Uitleg: Als je een menu wilt aanmaken,

9. Menu: werken met variabelen Toon oplossing Uitleg: Als je een menu wilt aanmaken, zul je moeten bijhouden bij welke keuze in je menu je programma is. Dit gaat met behulp van een variabele. Klik hier om een variabele toe te Een variabele geef je een naam en kan je schrijven: voegen en een naam te geven En op ieder ander moment in je programma lezen: Tip: Gebruik deze structuur om de variabele te lezen en te gebruiken: Opdracht: Maak een programma waarin je een variabele “teller” aanmaakt. Schrijf in deze variabele een cijfer van 1 tot 4. Lees dan de variabele in en toon deze op het scherm en gebruik de inhoud in een meerkeuzeblok (uit de vorige oefening) om de robot het cijfer te laten uitspreken. Een tekstinputblok bij een schermopdracht moet je zelf eerst aanmaken: 2 1

10. Menu: robotknoppen programmeren Uitleg: Toon oplossing Ook de robotknoppen zijn te gebruiken in

10. Menu: robotknoppen programmeren Uitleg: Toon oplossing Ook de robotknoppen zijn te gebruiken in een programma om opdrachten van buiten de robot te kunnen starten. Het makkelijkste is om dit opnieuw met een schakelblok te doen. Let op: het schakelblok wacht tot een knop wordt ingedrukt, níet tot deze wordt losgelaten. Het wachten op loslaten zul je dus bij iedere keuze moeten aangeven. Opdracht: • Maak opnieuw een variabele “teller” met de waarde 1 • Als gedrukt wordt op knop: § links: Verhoog “teller” met 1 en toon op scherm § rechts: Verlaag “teller” met 1 en toon op scherm § midden: toon het woord “start” en de waarde van “teller” op het scherm • Plaats dit alles in een herhaalblok, zodat je de teller doorlopend kunt aanpassen. Tip bij iedere keuze: 1. Lees variabele 2. Bereken nieuwe waarde 3. Schrijf variabele

11. Menu: menuprogramma maken Uitleg: Door nu alle onderdelen uit 4 en 8 t/m

11. Menu: menuprogramma maken Uitleg: Door nu alle onderdelen uit 4 en 8 t/m 10 te combineren ben je in staat om een menuprogramma te maken van waaruit je al je andere missieprogramma’s kunt starten. Structuur van een menuprogramma is als volgt: Opdracht: Toon oplossing Maak een variabele “teller” aan en zet op 1 Herhaal oneindig geen links rechts lees teller verhoog met 1 schrijf teller lees teller verlaag met 1 schrijf teller toon teller op scherm • Maak van 3 testprogramma’s een eigen blok • Zet het schema om in een programma en gebruik de 3 testprogramma’s midden lees teller Als teller = 1 Start mijn blok 1 2 Start mijn blok 2 3 Start mijn blok 3

Workshop 2. 0 Hierna staan de slides met mogelijke oplossingen van de opdrachten

Workshop 2. 0 Hierna staan de slides met mogelijke oplossingen van de opdrachten

1. Informatie delen: afstand (monteer ultrasoonsensor)

1. Informatie delen: afstand (monteer ultrasoonsensor)

2. Informatie delen: rotatie (monteer tastsensor) Let erop dat dezelfde rotatiesensor wordt gereset en

2. Informatie delen: rotatie (monteer tastsensor) Let erop dat dezelfde rotatiesensor wordt gereset en gelezen (én van een rijmotor is ) Stopblok op het eind is in dit geval niet noodzakelijk, maar wordt aangeraden om het blok te resetten.

3. Eigen blok: Robot zelf laten uitrekenen Reken eerst de omtrek van een wiel

3. Eigen blok: Robot zelf laten uitrekenen Reken eerst de omtrek van een wiel uit, zodat je die later kan delen op de te rijden afstand. Let er bij de berekening op dat je de diameter in cm ingeeft, als je mm gebruikt (zoals op de banden wordt vermeld) is de uitkomst natuurlijk ook in mm…

5. Eigen blok: cmrijden blok maken Vergeet NIET de (zelfgemaakte) parameteroutput te verbinden met

5. Eigen blok: cmrijden blok maken Vergeet NIET de (zelfgemaakte) parameteroutput te verbinden met een inputblok van je programma. Anders heeft je eigen blok wel een parameter, maar wordt deze niet gebruikt…

6. Lichtsensor: kalibreren

6. Lichtsensor: kalibreren

7. Lichtsensor: Lijn volgen Als de factor 2 zou zijn, zou de verhouding lichtsensor

7. Lichtsensor: Lijn volgen Als de factor 2 zou zijn, zou de verhouding lichtsensor vs sturen precies 1 op 1 zijn. Echter gaat de robot dan schokkerig rijden, omdat deze steeds “teveel” corrigeert. Een factor tussen 1, 4 en 1, 6 werkt meestal het beste, hier kun je echter wel mee experimenteren.

8. Menu: meerkeuze schakelblok Let op! Bij een meerkeuzeschakelblok kan de robot een keuze

8. Menu: meerkeuze schakelblok Let op! Bij een meerkeuzeschakelblok kan de robot een keuze zien (in dit geval kleur) die je níet hebt geprogrammeerd. Maak hiervoor altijd een éxtra (lege) keuze aan en vink het bolletje aan bij die keuze (standaardvoorwaarde). De robot volgt deze keuze dan zolang niet een andere keuze wordt geactiveerd. of Een variant hierop: Splitsen van het keuzedeel en het rijgedeelte Het rijgedeelte is dan precies zoals in workshop 1. 0 met als toevoeging dat de keuzeloop wordt gestopt als het rijgedeelte zwart ziet. Hiervoor moet het onderbreekblok hetzelfde nummer hebben als de loop.

9. Menu: werken met variabelen Ook hier maak je een extra, lege, keuze aan

9. Menu: werken met variabelen Ook hier maak je een extra, lege, keuze aan voor wanneer de waarde in “teller” niet tussen 1 en 4 ligt of Het wachtblok van 2 seconden staat alleen maar in het programma zodat het cijfer op het scherm is te lezen. Zodra het programma namelijk stopt, verschijnt automatisch weer het standaardscherm van de EV 3

10. Menu: robotknoppen programmeren Als je geen wacht-op-loslaten blok in iedere keuze zet, zal

10. Menu: robotknoppen programmeren Als je geen wacht-op-loslaten blok in iedere keuze zet, zal de EV 3 vele malen de keuze uitvoeren. De robot is nu eenmaal veel sneller dan je vinger… Probeer het programma maar eens uit zónder deze 3 blokken Ook hier een extra regel voor als er géén knop wordt ingedrukt (=standaardwaarde). Deze programmalijn zal de EV 3 dus volgen, wachtend op een ingedrukte knop.

11. Menu: menuprogramma maken Je hebt nu een menuprogramma van waaruit je al je

11. Menu: menuprogramma maken Je hebt nu een menuprogramma van waaruit je al je missies kunt starten. Hier de 4 keuzes: Links, Rechts, Midden, Geen knop In de keuze: middenknop komt opnieuw een schakelblok. Nu om, afhankelijk van de teller, het juiste programma te starten. Ideeën ter verbetering: - Zorg dat de teller nooit kleiner wordt dan 0 of groter dan je maximaal aantal programma’s - Laat op het scherm een afbeelding of naam van de missie zien in plaats van een simpel cijfer - Laat na het uitvoeren van een missie meteen de volgende missie automatisch klaarzetten zodat je alleen maar op “start” hoeft te drukken Genoeg nog dus om uit te proberen , veel programmeerplezier!