Skip to main content

Programmeren met voorwaardelijke opdrachten - op blokken gebaseerd

Icoon Toolbox voor docenten Toolbox voor leerkrachten - Het doel van deze activiteit

Programmeren met voorwaarden kan worden bereikt door een [If then]of[If then else] blok binnen een project te gebruiken. Met deze activiteit maken leerlingen kennis met het gebruik van een [Als dan]-blok, zodat de robot vooruit kan rijden tenzij er op het scherm wordt gedrukt. In het laatste deel van de activiteit wordt hen gevraagd het project te verfijnen door een [If then else]-blok te gebruiken in plaats van het [If then]-blok.

Twee VEXcode V5-blokken naast elkaar - het If then-blok aan de linkerkant en het If then else-blok aan de rechterkant.

Voor meer informatie over [If then]en[If then else] blokken of andere die in deze activiteit worden gebruikt, kunt u de helpinformatie in VEXcode V5 raadplegen. Voor meer informatie over deze ingebouwde helptool klikt u hier op.

Hieronder volgt een overzicht van wat uw leerlingen in deze activiteit zullen doen:

  • Bekijk de instructievideoIf Then Else Blocksen gebruik vervolgens de Clawbot-sjabloon (aandrijflijn 2 motoren, geen gyro) om het getoonde projectCreating a Stop Buttonte bouwen en te voorspellen wat het project doet.
  • Verfijn het voorbeeldprojectEen stopknop makendoor een [If then else]-blok te gebruiken met het "else"-gedrag ingesteld op vooruitgaan.
  • Breid uw kennis uit:Voeg een knop toe aan het scherm van de hersenen waarmee de robot kan stoppen met rijden.
Benodigde materialen:
Aantal Benodigde materialen
1

VEX V5 Classroom Starter Kit (met up-to-date firmware)

1

VEXcode V5 (nieuwste versie, Windows, macOS, Chromebook)

1

Technisch notitieboekje

1

Clawbot (Aandrijving 2-motor, Geen Gyro) Sjabloon

Icoon Toolbox voor docenten Toolbox voor leraren

Suggesties voor lesstrategieën voor dit onderdeel vindt u in de kolom 'Bezorging' van de 'To Do or Not to Do Pacing Guide'! (Google Doc / .docx / .pdf)

De Clawbot is klaar om beslissingen te nemen!

Deze activiteit geeft je de tools om je robot te programmeren met conditioneel gedrag.
De blokken [If then]en[If then else] vormen de hoofdmoot van de activiteit, maar de blokken Operator en Sensing worden ook gebruikt.

Er worden vier VEXcode-blokken weergegeven. Met de klok mee van linksboven zijn ze: zeshoekig blok met zeefdruk; geen operatorblok; als dan C-blok; en als dan anders C-blok.

U kunt de Help-informatie in VEXcode V5 gebruiken om meer te weten te komen over de blokken. Raadpleeg de zelfstudie Help gebruiken voor hulp bij het gebruik van de Help-functie.

VEXcode V5-werkbalk met het pictogram Tutorials dat wordt opgeroepen met een rode pijl, rechts van het menu Bestand.

 

Tips voor leraren-pictogram Tips voor leraren

Als dit de eerste keer is dat de student VEXcode V5 gebruikt, kan hij/zij ook de tutorials in de werkbalk bekijken om andere basisvaardigheden te leren.

VEXcode V5-werkbalk met tutorials gemarkeerd in een rood vak. De werkbalk toont van links naar rechts het V5-logo, een wereldbolpictogram, Bestand en Tutorials. Rechts van Tutorials staan extra pictogrammen en functionaliteiten.

Stap 1: Laten we beginnen met het begrijpen van voorwaardelijke uitspraken 

Bekijk eerst de onderstaande instructievideo van If-Then-Else voordat u begint met het programmeren met conditionals. Het is ook te vinden als zelfstudievideo in VEXcode V5.

 

Stap 2: Laten we beginnen met programmeren met voorwaardelijke statements 

Open het voorbeeldproject Clawbot (Drivetrain 2-motor, No Gyro).

Sjabloonprojectpictogram leest Clawbot (Drivetrain 2-motor, No Gyro) onderaan met een grijs robotdiagram erboven.

Bouw het onderstaande project.

VEXcode V5-project begint met een wanneer gestart blok gevolgd door een eeuwige lus. In de lus bevindt zich een aandrijfblok naar voren gevolgd door een if then-blok. Het if then blok leest If screen pressed then stop driving, wait until not screen pressed.

Doe het volgende in je technische notitieblok:

  1. Leg uit wat het project de Clawbot laat doen. Je zult meer moeten uitleggen dan dat er een stopknop ontstaat. Leg uit welke blokken de Clawbot wat laten doen.
  2. Schrijf een samenvatting van één zin die vastlegt wat het project doet.

Het dialoogvenster Projectnaam in VEXcode V5 leest Een stopknop maken. Aan de linkerkant is sleuf 1 geselecteerd en aan de rechterkant leest de werkbalk Opgeslagen.

  • Test om te zien of je voorspelling van wat het project de Clawbot laat doen correct is.
  • Sla het project op en download het alsMaak een stopknopaan voor sleuf 1 op de Clawbot en voer het vervolgens uit.
  • Voor hulp bij het downloaden van een project, zie de tutorial in VEXcode V5 waarin wordt uitgelegd hoeeendownloadt en uitvoert.
  • Controleer uw uitleg van het project en voeg opmerkingen toe om ze indien nodig te corrigeren.

Icoon Toolbox voor docenten Toolbox voor leraren - antwoorden

Het maken van een Stop-knopproject wordt weergegeven met labels voor de functionaliteit van elk blok in de stapel. Het Forever-blok is gelabeld als "Forever drives and checks". De If-tak van het If then-blok heeft het label "Controleert of de voorwaarde Waar is - het scherm is ingedrukt." Het blok Stop rijden heeft het label 'Voert dit blok uit als dit waar is - stop dan met rijden omdat dit waar is'. Het wachten tot er niet op het scherm wordt gedrukt, wordt aangeduid met bedieningselementen voor de verwerkingssnelheid.

  • Bij dit project rijdt de robot continu vooruit, maar stopt als er op het scherm wordt gedrukt. Dit gebeurt door gebruik te maken van een [Forever] blok dat continu rijdt en controleert. Als het scherm wordt ingedrukt (WAAR), stopt de Clawbot met rijden.

    Er wordt niet van studenten verwacht dat ze begrijpen waarom het blok [Wachten tot] wordt gebruikt. Leg uit dat het [Wachten tot]-blok noodzakelijk is vanwege de snelheid van de programmastroom van de robot. Als dat niet zo was, zouden de motoren van Clawbot zich gedragen alsof de gebruiker steeds opnieuw op het scherm drukt terwijl het project wordt herhaald. In plaats daarvan stopt het blok [Wachten tot] de programmastroom en zorgt het ervoor dat het project de [Forever]-lus niet opnieuw start totdat de gebruiker stopt met het aanraken van het scherm.
  • De pseudocode zou er zo simpel uit kunnen zien: Rijd vooruit totdat het scherm wordt ingedrukt.

De technische notitieboekjes van studenten kunnen individueel (Google Doc / .docx / .pdf) of als team (Google Doc / .docx / .pdf) worden bijgehouden en beoordeeld. De voorgaande links bieden een andere rubriek voor elke aanpak. Wanneer een rubriek wordt opgenomen in de onderwijsplanning, is het een goed idee om de rubriek uit te leggen of in ieder geval kopieën aan de studenten te geven voordat de activiteit begint.

Stap 3: Inzicht in het wachten tot het blokkeren

Merk op dat als het scherm van de hersenen wordt ingedrukt, de stroom van het project zo snel beweegt dat het project naar het volgende blok gaat, het blok [Stop driving].

Daarom heeft het project een [Wachten tot]-blok nodig dat de robot vertelt om gestopt te blijven totdat het scherm van de Brain wordt losgelaten. Anders zou het [Forever]-blok ervoor zorgen dat het project opnieuw begint met het [Drive]-blok.

Wacht tot het blok een geneste toestand heeft. Het scherm ingedrukte blok is genest in de NOT-operator, zodat het hele blok wacht totdat het scherm niet wordt ingedrukt.

Het blok [Wachten tot] is noodzakelijk vanwege de snelheid van de projectstroom. Als het er niet was, zou het project naar het volgende blok gaan voordat de robot ooit tijd had om te reageren

 

Stap 4: Wijzig het project

De volgende stap is het veranderen van het [If then]-blok naar een [If then else]-blok.

Naast elkaar VEXcode-blokken - aan de linkerkant staat het project Een stopknop maken. Aan de rechterkant staat een If then else-blok uit de Toolbox.

  • Begin met het opslaan vanMaak een Stopknopals het nieuwe project,StopOrDrive.
  • Als u hulp nodig hebt bij het opslaan van een project, raadpleegt u de handleiding Uw project benoemen en opslaan in VEXcode V5.
  • Bouw vervolgens het onderstaandeStopOrDriveproject.

VEXcode V5-project begint met een wanneer gestart blok met een voor altijd-blok bevestigd. In het forever block zit een if then else block. De if-tak leest als het scherm is ingedrukt, stop dan met rijden, wacht tot het scherm niet is ingedrukt. De else branch bevat een drive forward blok.

Icoon Toolbox voor docenten Toolbox voor leraren - antwoord

Wat betreft het gedrag van de roboterverschil zijn tussen de projectenStopknop makenenStopOrDrive.

De twee projecten laten de Clawbot zich op dezelfde manier gedragen. Het enige verschil is het gebruik van het [If then else]-blok in het projectStopOrDrive.

Met het blok [If then else] kunt u extra knoppen toevoegen aan het scherm bij toekomstige activiteiten.

Breid uw leerproces uit-pictogram Breid uw leerproces uit

Tijdens dit STEM-lab ontwikkelen studenten projecten waarmee het scherm van de Clawbot als gebruikersinterface kan functioneren. Ter voorbereiding kunt u uw leerlingen uitdagen om een gekleurde rechthoek op het scherm te tekenen die als een knop functioneert. Omdat momenteel het indrukken van een willekeurige plek op het scherm de voorwaarde is, moet de knop het hele scherm in beslag nemen. Studenten moeten het project een gebeurtenis laten uitzenden om de knop te tekenen wanneer het wordt gestart.
Laat studenten de Help-functie in VEXcode V5 gebruiken voor informatie over Gebeurtenissen- en Looks-blokken. Laat de leerlingen eerst leren hoe het scherm van de hersenen is georganiseerd in een coördinatensysteem in de informatie van het blok [Rechthoek tekenen]. Ze moeten dit begrijpen om parameters in dat blok te kunnen instellen. De gebruikte coördinaten komen overeen met het aantal pixels, niet met het nummer van de kolom of rij. Dit is de schermindeling:

Het pixelraster van het V5 Brain-scherm toont 12 genummerde rijen aan de linkerkant, waarbij de bovenste rij Rij 1 heet en de onderste Rij 12. Bovenaan staan 48 genummerde kolommen, waarbij kolom 1 helemaal links staat en kolom 48 helemaal rechts. De totale pixelafmetingen zijn 480 px breed en 240 px hoog.

Studenten moeten deze wijzigingen in het project plannen, testen en verfijnen en deze vervolgens documenteren in hun technische notitieboekjes. Voor de individuele technische notitieboekrubriek klikt u op een van deze links (Google Doc / .docx / .pdf), of klikt u op een van de volgende links voor teamnotitieboeken (Google Doc / .docx / .pdf).

Hier is een voorbeeldoplossing:

VEXcode V5-project om te tekenen op het Brain-scherm. Er zijn twee stapels blokken. De stapel aan de linkerkant begint met een When started-blok, gevolgd door een broadcast Draw Button-blok. Hierna volgt een Forever-blok met daarin een if-then-else-blok om de robot vooruit te laten rijden totdat het scherm wordt ingedrukt. Rechts is een stapel te zien die begint met een blok met de tekst 'Wanneer ik Teken', met daaraan twee blokken met de tekst 'Stel de vulkleur in op rood op Brain' en 'Teken rechthoek 0, 0, 480, 240 op Brain'.

Zoals u kunt zien, is de knop zo getekend dat deze het hele scherm in beslag neemt, beginnend bij de oorsprong (0, 0) en alle 480 horizontale (x-as) pixels en 240 verticale (y-as) pixels vult.