Skip to main content

Twee knoppen programmeren

Teacher Toolbox-pictogram Teacher Toolbox - Het doel van deze activiteit

Op de vorige pagina programmeerde de student de arm om omhoog te draaien met behulp van de Brain Up-knop. Deze pagina bouwt voort op het vorige project om ook de arm te programmeren om naar beneden te draaien met behulp van de knop Brain Down.

VEXcode IQ Als dan anders blokkeren uit de toolbox

Deze activiteit zal studenten kennis laten maken met programmeren met [If then else] -blokken en met behulp van detectie- en bedieningsblokken om de robot te laten controleren of de Brain Up- of Down-knoppen worden ingedrukt. Als de Brain Up-knop wordt ingedrukt, gaat de arm van de Clawbot omhoog. Als de Brain Down-knop wordt ingedrukt, zal de arm van de Clawbot zakken. Dit bouwt voort op de vorige activiteit en zal ook de basis vormen voor de User Interface Challenge in het gedeelte Rethink.

Voor de User Interface Challenge moeten de leerlingen hun Clawbot programmeren om de arm op te tillen, de arm te laten zakken, de klauw te openen en de klauw te sluiten met behulp van knoppen op de IQ Robot Brain.

Ga voor meer informatie over de [If then], [If <then else]>, Brain-knop ingedrukt of de [Spin] -blokken naar de Help-informatie in VEXcode IQ. Klik hier voor meer informatie over deze ingebouwde help-tool.

Het volgende is een overzicht van wat uw studenten in deze activiteit zullen doen:

  • Gebruik de bestaande ArmUp2 om het geleverde ArmUpDown-project te bouwen en te voorspellen wat het project zal doen.
  • Bekijk een stroomdiagram om de stroom van de blokken in het project uit te leggen.
  • Verfijn hun uitleg van wat  het ArmUpDown-project doet.
  • Bekijk de tutorialvideo If Then Else Blocks.
  • Bewerk hun project met behulp van [If then else] -blokken.
  • Stoppen en bespreken: studenten zullen reflecteren op hun voorspellingen over wat het project de Clawbot zal laten doen in vergelijking met hun werkelijke observaties.
  • Programmeer de klauw met dezelfde projectomtrek als bij het programmeren van de arm.
Benodigde materialen:
Aantal Benodigde materialen
1

VEX IQ Super Kit

1

VEXcode IQ

1

Technisch notitieboekje

1

Clawbot (aandrijflijn) sjabloon

Teacher Toolbox-pictogram Teacher Toolbox

Voor suggesties over onderwijsstrategieën voor dit gedeelte raadpleegt u de kolom Delivery van de To Do, or Not to Do Pacing Guide (Google / .docx / .pdf).

De Clawbot-arm is klaar om op en neer te gaan!

Deze activiteit geeft je de tools om je robot met voorwaardelijk gedrag te programmeren.
Het blok [If then else] is de belangrijkste focus binnen de activiteit, maar er worden ook andere Sensing-, Control- en Operator-blokken gebruikt.

Sample blocks from the VEXcode IQ Toolbox - Brain button pressed, not operator, wait until, if then, and if then else blocks.

U kunt de Help-informatie in VEXcode IQ 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 IQ Toolbar met het pictogram Tutorials in een rood vak, rechts van het menu Bestand.

Stap 1: Programmeren om de arm naar beneden te bewegen.

Op de vorige pagina heb je de arm van de Clawbot geprogrammeerd om te draaien wanneer de Brain Up-knop werd ingedrukt. Maar hoe zit het met het laten zakken van de arm? Laten we eerst het vorige ArmUp2-project opnieuw bekijken.

hoi

Zou het mogelijk zijn om hetzelfde [If then] blok te gebruiken om de arm omhoog te draaien om ook de arm naar beneden te draaien? Laten we het proberen! Bouw het onderstaande project door uw reeds bestaande ArmUp2-project te bewerken.

Arm Up 2-project met een extra If then-blok toegevoegd onder de eerste, binnen de forever-lus. De tweede If then block leest If Brain Down-knop ingedrukt, dan spin arm motor down, wacht tot de Brain Down-knop niet is ingedrukt. Dan bevindt het motorblok van de stoparm zich onder de If then.

  • Sla het project op als ArmUpDown. Als studenten hulp nodig hebben bij het opslaan van het project, raadpleeg dan de handleiding Benoemen en opslaan.

    Dialoogvenster Projectnaam in de VEXcode IQ-werkbalk. Sleuf 3 wordt weergegeven en de projectnaam luidt Arm omhoog naar beneden.

  • Controleer of de projectnaam ArmUpDown nu in het venster in het midden van de werkbalk staat.
  • Voorspel wat het project de Clawbot zal laten doen in je engineering notebook. Leg het gedrag van zowel de gebruiker als de Clawbot uit.
  • Test om te zien of je voorspelling van wat het project de Clawbot laat doen correct is.
    • Download het project naar sleuf 3 op de Clawbot en voer het vervolgens uit.
    • Zie voor hulp bij het downloaden en uitvoeren van een project de zelfstudie in VEXcode IQ waarin wordt uitgelegd hoe u een project kunt downloaden en uitvoeren.
      Het zelfstudiepictogram leest Een project downloaden en uitvoeren met een downloadpictogram en een pijl erboven.
  • Controleer uw uitleg van het project en voeg opmerkingen toe om ze indien nodig te corrigeren.

Teacher Tips-pictogram Tips voor docenten

Als dit de eerste keer is dat de student VEXcode IQ gebruikt, kunnen ze ook de tutorials in de werkbalk zien om andere basisvaardigheden te leren.

VEXcode IQ Toolbar met het pictogram Tutorials in een rood vak, rechts van het menu Bestand.

Teacher Toolbox-pictogram Teacher Toolbox

Het project dat de studenten hierboven bouwen, zal werken. Wanneer de Brain Up-knop wordt ingedrukt, zal de arm omhoog draaien en wanneer de Brain Down-knop wordt ingedrukt, zal de arm omlaag draaien. Hoewel het project werkt zoals het is, is het niet optimaal geschreven. Er kan een geval zijn waarin beide voorwaarden tegelijkertijd waar kunnen zijn. Merk ook op dat aangezien de toestand van de Brain Up-knop eerst wordt ingedrukt, als de Brain Up-knop wordt ingedrukt en vervolgens ook de Brain Down wordt ingedrukt, de arm blijft draaien. Die actie stopt niet totdat de Brain Up-knop wordt losgelaten. Het project zal dus in de volgende stap worden herschreven met een [If then else] -blok om deze potentiële problemen te voorkomen.

Teacher Toolbox-pictogram Teacher Toolbox - Stop en bespreek

Nu de studenten het project hebben getest, kun je ze vragen hoe hun voorspellingen zich verhouden tot hun observaties. Faciliteer de discussie door de volgende vragen te stellen:

  • Was uw voorspelling hetzelfde als uw observatie?

  • Wat lijkt er in het project te gebeuren?

  • Worden de voorwaarden van de knoppen Omhoog en Omlaag slechts één keer gecontroleerd?

  • Denkt u dat het project kan worden gereorganiseerd om efficiënter te werken?

Stap 2: De projectstroom begrijpen.

In de vorige stap bracht het project de arm omhoog en omlaag. Aangezien de toestand van de Brain Up-knop eerst wordt ingedrukt, als de Brain Up-knop wordt ingedrukt en vervolgens ook de Brain Down-knop wordt ingedrukt, blijft de arm draaien, omdat die actie niet stopt totdat de Brain Up-knop wordt losgelaten. Bekijk het volgende stroomdiagram dat de projectstroom uitlegt.

Projectstroombeeld dat laat zien hoe het project wordt uitgevoerd om een beslissing te nemen. De knop Brain Up ingedrukt wordt gelabeld als de voorwaarde, als deze wordt ingedrukt/True, dan zullen de onderstaande blokken in volgorde lopen tot de volgende voorwaarde. Als er niet op/false wordt gedrukt, geeft een rode lijn aan dat de blokken worden overgeslagen en het project beweegt om de tweede voorwaarde te controleren. Dezelfde vertakking treedt op voor de tweede aandoening - als de knop hersenen omlaag wordt ingedrukt.

Zo kan het project de [If then] -blokken vervangen door [If then else] -blokken, zodat er op elk moment slechts één exemplaar waar kan zijn.

Bekijk de volgende instructievideo over [If then else] -blokken:

Begin met het bekijken van de If-Then-Else Tutorial-video in VEXcode IQ.

Het zelfstudiepictogram leest If then else-blokken onderaan en toont de omtrek van blokken bovenaan.

Het gebruik van [If then else] -blokken zal ook de noodzaak van de [Wait until] -blokken wegnemen, omdat de arm blijft draaien totdat de Brain Up-knop wordt losgelaten. Dit gebeurt omdat het "anders" -gedeelte van de [If then else] nooit wordt bereikt totdat de toestand van de Brain Up-knop onwaar is (vrijgegeven).

Met het blok [Forever] kan de eerste voorwaarde continu worden gecontroleerd.

VEXcode IQ-project met een eeuwige lus bevestigd aan het blok Wanneer gestart. In de Forever-lus bevindt zich een if then else-blok. De If branch leest If Brain Up knop ingedrukt, dan spin arm motor omhoog. De else-tak bevat een ander if then else-blok, dat leest of de knop Brain Down is ingedrukt en vervolgens de motor van de spinarm naar beneden draait, anders stopt u de motor van de arm.

Laten we eens kijken hoe we het project kunnen wijzigen door [If then else] -blokken toe te voegen. De armmotor blijft nu draaien totdat de Brain Up-knop niet langer wordt ingedrukt (losgelaten). Vanwege het [Forever] -blok wordt deze voorwaarde verder gecontroleerd totdat deze onwaar is.

Zodra de toestand van de Brain Up-knop onwaar is, gaat het project door naar het volgende blok, dat is om de toestand te controleren als de Brain Down-knop wordt ingedrukt. Als de toestand van de Brain Down-knop die wordt ingedrukt waar is, dan zal de arm omhoog draaien. Nogmaals, vanwege het [Forever] -blok blijft deze voorwaarde gecontroleerd totdat deze onwaar is.

Zodra de toestand van de Brain Up-knop onwaar is, gaat het project door naar het volgende blok, het blok [Stop motor]. De armmotor stopt dus alleen wanneer beide voorwaarden vals zijn (geen van beide knoppen wordt ingedrukt).

Projectstroombeeld dat laat zien hoe het project wordt uitgevoerd om een beslissing te nemen. Eerst wordt de voorwaarde van If Brain up knop ingedrukt gecontroleerd, als het waar is, beweegt het project om de armmotor omhoog te laten draaien en gaat het terug naar het begin. Als de voorwaarde onwaar is, wordt de tweede voorwaarde van de knop Brain down ingedrukt gecontroleerd. Als de knop brain down wordt ingedrukt/true, draait de spinarmmotor omlaag en gaat dan terug naar het begin. Als deze niet vals wordt ingedrukt, loopt het motorblok van de stoparm.

Motiveer discussiepictogram Motiveer discussie

V: Wat is de voortgang van de projectstroom als de toestand van de Brain Up-knop die wordt ingedrukt ONWAAR is (vrijgegeven)?
A: Als de voorwaarde onwaar is, zal de projectstroom doorgaan met het controleren van de toestand van de Brain Down-knop die wordt ingedrukt.

V: Wat is het doel van de [If then else] -blokken in het bovenstaande project?
A: Door de blokken [If then else] te gebruiken, kan slechts één exemplaar tegelijk waar zijn. De Brain Up-knop en de Brain Down-knoppen kunnen dus niet tegelijkertijd waar zijn met behulp van de [If then else] -blokken, omdat de tweede voorwaarde van de Brain Down-knop die wordt ingedrukt niet eens een optie zou zijn, tenzij de eerste voorwaarde van de Brain Up-knop die wordt ingedrukt onwaar was. Het andere doel is om de programmeerefficiëntie te verbeteren.

V: Wat is de voortgang van de projectstroom als beide voorwaarden van de knoppen Omhoog en Omlaag die worden ingedrukt vals zijn?
A: Als beide voorwaarden onwaar zijn, gaat de projectstroom verder naar het blok [Stop motor] voordat deze voor altijd terugkeert naar de bovenkant van de stapel.

Stap 3: Programmeren met [If then else] blokken.

Laten we de blokken [If then else] gebruiken:

  • Voeg de blokken [If then else] toe aan uw ArmUpDown-project, zodat uw project er als volgt uitziet:

    VEXcode IQ-project met een Forever-blok bevestigd aan het When started-blok. In het forever block zit een If then else block. De if-tak leest als de knop hersenen omhoog wordt ingedrukt, draai de motor van de arm omhoog. De else-tak bevat een ander if then else-blok dat leest of de knop brain down is ingedrukt en vervolgens de motor van de spinarm naar beneden draait, anders stopt u de motor van de arm.

  • Sla het project op als ArmUpDown2. Als studenten hulp nodig hebben bij het opslaan van het project, raadpleeg dan de handleiding Benoemen en opslaan.

    Dialoogvenster Projectnaam in de VEXcode IQ-werkbalk. Sleuf 4 is geselecteerd en de projectnaam luidt Arm omhoog naar beneden 2.

  • Download het project naar sleuf 4 op de Clawbot en voer het vervolgens uit.
  • Zie voor hulp bij het downloaden en uitvoeren van een project de zelfstudie in VEXcode IQ waarin wordt uitgelegd hoe u een project kunt downloaden en uitvoeren.
    Het zelfstudiepictogram leest Downloaden en voert een project onderaan uit met een downloadpictogram en een pijl erboven.
  • Test om te zien of de arm nu omhoog zal draaien wanneer de Brain Up-knop wordt ingedrukt en omlaag wanneer de Brain Down-knop wordt ingedrukt.
  • Controleer of de armmotor stopt wanneer de knoppen Brain Up en Down niet worden ingedrukt (losgelaten).
  • Schrijf uw observaties van hoe de Clawbot zich gedroeg voor en na het toevoegen van de if then else-blokken aan uw project in uw technische notitieblok.

Teacher Toolbox-pictogram Teacher Toolbox - Stop en bespreek

Nadat studenten het project voor en en na het toevoegen van het blok [If then else] hebben getest, bespreek je met studenten hoe hierdoor de arm kan blijven draaien totdat de Brain Up-knop wordt losgelaten. Vraag studenten om hun observaties uit hun technische notitieblokken te delen. Faciliteer een discussie door de volgende vragen te stellen:

  • Ziet u dat de Clawbot zich anders gedraagt tussen het gebruik van de [If then else] -blokken in vergelijking met alleen de [If then] -blokken?

  • Waarom denk je dat programma-efficiëntie belangrijk is?

  • Wordt de toestand van de Brain Up-knop slechts één keer in het project gecontroleerd?

De technische notitieblokken van studenten kunnen individueel (Google / .docx / .pdf) of als team (Google / .docx / .pdf) worden onderhouden en gescoord. De vorige links geven voor elke aanpak een andere rubriek. Wanneer een rubriek wordt opgenomen in de onderwijsplanning, is het een goede gewoonte om de rubriek uit te leggen of op zijn minst kopieën aan studenten te geven voordat de activiteit begint.

Teacher Toolbox-pictogram Teacher Toolbox

Studenten zien mogelijk niet veel verschil in hoe hun Clawbot zich gedraagt tussen het gebruik van de [If then else] -blokken in vergelijking met de [If then] -blokken. Als de studenten fysiek niet veel verschil kunnen zien, faciliteer dan een discussie over programmeerefficiëntie en hoe het vereenvoudigen van een project kan leiden tot het gebruik van minder blokken. Het gebruik van minder blokken in een project kan het aantal potentiële fouten verminderen.

Stap 4: Programmeren van de Klauw.

In de vorige stap werd het project geoptimaliseerd om efficiënter te werken door [If then else] -blokken te gebruiken. In het vorige voorbeeld werd de arm gemanipuleerd met de knoppen Brain Up en Down.

Met exact dezelfde projectomtrek kan de Klauw ook worden gemanipuleerd.

  • Bekijk het ArmUpDown2-project en verander de [Spin] -blokken in ClawMotor in plaats van ArmMotor met behulp van het vervolgkeuzemenu.

    Zorg ervoor dat de knop Hersenen omhoog de Klauw "open" draait en dat de knop Hersenen omlaag de Klauw "dicht" draait met behulp van de vervolgkeuzemenu's.

    Arm Up Down 2 project met de rotatiemotorblokken ingesteld op Claw motor. Het stopmotorblok heeft de parameterselectie geopend met de armmotor geselecteerd.

  • Sla het project op als ClawUpDown. Als studenten hulp nodig hebben bij het opslaan van het project, raadpleeg dan de handleiding Benoemen en opslaan.

    Dialoogvenster Projectnaam in de VEXcode IQ-werkbalk. Sleuf 1 is geselecteerd en de projectnaam luidt Claw Up Down.

  • Download het project naar sleuf 1 op de Clawbot en voer het vervolgens uit.
  • Zie voor hulp bij het downloaden en uitvoeren van een project de zelfstudie in VEXcode IQ waarin wordt uitgelegd hoe u een project kunt downloaden en uitvoeren.
    Het zelfstudiepictogram leest Downloaden en voert een project onderaan uit.
  • Test om te zien of de Claw nu open draait wanneer de Brain Up-knop wordt ingedrukt en dicht draait wanneer de Brain Down-knop wordt ingedrukt.
  • Controleer of de klauwmotor stopt wanneer de knoppen Brain Up en Down niet worden ingedrukt (losgelaten).
  • Schrijf uw observaties van hoe de Clawbot zich gedroeg voor en na het toevoegen van de if then else-blokken aan uw project in uw technische notitieblok.

Teacher Toolbox-pictogram Teacher Toolbox

Nu studenten de vaardigheden hebben om de arm en klauw te manipuleren met behulp van knoppen, vraag je studenten om te brainstormen over hoe ze alle vier de acties in hetzelfde project kunnen uitvoeren (arm omhoog, arm omlaag, klauw open en klauw dicht).
Studenten zullen een ander [if then else] blok gebruiken in het gedeelte heroverwegen om hun robot alle vier acties te laten uitvoeren.

Uw leerpictogram uitbreiden Breid je leerproces uit - stel een motorstoppingsblok in

Als leerlingen hun robot programmeren om de arm omhoog en omlaag te brengen, kan het gewicht van de Klauw ervoor zorgen dat de arm naar beneden drijft.
In dit geval kan het blok [Set motor stopping] worden gebruikt, zodat de arm niet valt door de zwaartekracht en het gewicht van de klauw. Dit blok kan worden gebruikt aan het begin van het project en zal worden toegepast op alle toekomstige motorblokken voor de rest van het project.

Begin van de Help-informatie voor het ingestelde motorstopblok. Het blok wordt weergegeven met parameters ingesteld op Klauwmotor en stoppen ingesteld op remmen. De tekst leest Stelt het gedrag van de VEX IQ Smart Motor in zodra deze stopt met bewegen.

Het ingestelde motorstopblok heeft drie standen:

  • De rem zorgt ervoor dat de motor onmiddellijk tot stilstand komt.
  • Coast laat de Motor geleidelijk tot stilstand komen.
  • Hold zorgt ervoor dat de motor onmiddellijk stopt en terugkeert naar de stoppositie als deze wordt verplaatst.