Een tweede knop toevoegen aan het scherm van de hersenen - op blokken gebaseerd
Toolbox voor leerkrachten
-
Het doel van deze activiteit
Nu leerlingen ervaring hebben met het omgaan met het scherm in de hersenen als één grote knop, kunnen ze het scherm in twee knoppen veranderen. Met deze activiteit maken leerlingen kennis met het gebruik van geneste [If then else]-blokken om voorwaardelijke statements beter te beheren en de onderliggende logica daarvan. Studenten worden eerst door het bouwen van het project geleid, waarbij het indrukken van het scherm de robot naar links of rechts laat draaien. Vervolgens moeten ze de knoppen omdraaien, zodat de robot naar links gaat en nu naar rechts gaat, en andersom.
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.
Hieronder volgt een overzicht van wat uw leerlingen tijdens deze activiteit zullen doen:
-
Beoordeling van hetStopOrDriveproject en de indeling van het scherm van de hersenen in pixels.
-
Een nieuwLeftOrRightproject bouwen terwijl je door de redenering van het programmeren wordt geleid.
-
Het project aanpassen zodat de knoppen op het scherm omgekeerd werken.
-
Breid uw leerproces uit: verdeel het scherm in twee knoppen. Als u deze knoppen indrukt, draait de robot naar links of rechts.
| 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 |
StopOrDrive-project van de vorige Afspeelpagina |
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)
Het hersenscherm kan meer dan één knop hebben.
Met deze activiteit programmeer je de robot om vooruit te rijden en naar links of rechts te draaien, afhankelijk van welke kant van het hersenscherm wordt ingedrukt.
De drie extra soorten blokken die je tijdens deze activiteit nodig hebt, zijn de volgende:
U kunt de Help-informatie in VEXcode V5 gebruiken om meer te weten te komen over de blokken. Voor hulp bij het gebruik van de Help-functie raadpleegt u de tutorial Help gebruiken.
Stap 1: Laten we beginnen met het bekijken van het StopOrDrive-project.
In het StopOrDrive-project stopte Clawbot als het scherm werd ingedrukt, anders reed hij door.
Het hele scherm was één grote knop, maar in het volgende project willen we de helft van het scherm als één knop hebben en de andere helft als de andere knop.
Om het scherm in twee knoppen te splitsen, moeten we meer weten over de lay-out van het scherm.
- Merk op dat de kolommen van links naar rechts in aantal toenemen. Het aantal kolommen is 48 en het scherm is 480 pixels breed.
- Noteer in je engineering notebook dat de x-waarde op het scherm gelijk is aan het aantal pixels gemeten van links naar rechts.
- Wat is de x-waarde van het midden van het scherm? Voor deze activiteit kun je je alleen op de x-as concentreren, omdat je alleen een linker- en rechterknop nodig hebt.
Toolbox voor leraren
-
antwoord
De x-waarde in het midden van het scherm is gelijk aan de helft van de breedte van het scherm in pixels. De x-waarde van het middelpunt is dus 240. Studenten hebben dit nummer nodig om de voorwaarde te programmeren voor het aanwijzen van de linker- of rechterkant van het scherm. Controleer dus of ze allemaal de juiste waarde hebben.
Vooruitkijkend naar de User Interface Challenge in het onderdeel Rethink, moeten leerlingen toepassen wat ze hebben geleerd om vier knoppen op het scherm te maken. Hiervoor hebben ze zowel de x- als de y-waarde nodig.
Tips voor leraren
De instructies verwijzen studenten indien nodig naar de tutorials in VEXcode V5. Voor verdere ondersteuning kunt u deVEX Bibliotheekraadplegen voor aanvullende help-artikelen.
Stap 2: Programmeren voor twee knoppen
- SlaStopOrDriveop als het projectLeftOrRight.
- Vergeet niet dat als je hulp nodig hebt bij het openen, benoemen of opslaan van projecten, je de zelfstudies in VEXcode V5 kunt bekijken.
- Bouw het onderstaande project. Het zal de Clawbot naar links of rechts laten draaien wanneer het scherm wordt ingedrukt, afhankelijk van de kant waarop het wordt ingedrukt.

Toolbox voor docenten
-
Waarom geneste 'als dan anders'-blokken?
Het skelet van het project (alleen besturingsblokken) bevat geneste blokken: en een [If then else]-blok in een [If then else]-blok in een [Forever]-lus. Dit lijkt wellicht ingewikkelder dan nodig is, omdat u in plaats daarvan sequentiële [If then]-blokken kunt gebruiken. Het gebruik van sequentiële [If then]-blokken is echter geen goede programmeerpraktijk.

Het afgewezen project aan de linkerkant is de sequentiële voorwaardelijke versie van ons LeftOrRight-project. Als je op het scherm drukt en de x-waarde is kleiner dan 240, dan draait de Clawbot naar links. Als je op het scherm drukt en de x-waarde is groter dan 240, dan draait de Clawbot naar rechts. Het probleem met dit project is dat het risico bestaat dat aan beide voorwaarden wordt voldaan. Wanneer u sequentiële [If then]-blokken gebruikt, loopt u het risico dat er bugs in een project ontstaan, omdat er mogelijk meer dan één voorwaardelijke verklaring is die waar is. Bugs leiden tot onvoorspelbaarheid.
In het midden ziet u het skelet van het LeftOrRight-project en rechts wordt het project weergegeven met enkele voorwaardelijke statements en ingevoegde Drivetrain-blokken. De logica in deze versie van het project is iets anders. Als/wanneer het scherm wordt ingedrukt, is de x-waarde óf kleiner dan 240 (linksaf) óf niet kleiner dan 240 (rechtsaf). Daar hebben we geen nieuwe voorwaardelijke verklaring voor nodig. Zodra je op het scherm drukt, is het óf minder dan 240, óf niet. We hoeven ons slechts met twee knoppen bezig te houden. Let op, het project aan de rechterkant is nog niet voltooid.
Studenten moeten de verschillen tussen deze twee benaderingen van het project begrijpen. Het begrijpen van de verschillen in de onderliggende logica zal een groot voordeel zijn voor beginnende programmeurs.
- Laten we eens kijken wat dit project doet.
Het blijft controleren of het scherm is ingedrukt. Als het scherm niet is ingedrukt, rijdt de auto vooruit. Als dat wel het geval is, controleert de auto waar het scherm is ingedrukt.
Als de druk aan de linkerkant was (minder dan 240), dan draait de auto naar links. Anders draait het naar rechts. We hebben geen andere voorwaarde nodig voor wanneer de x-waarde groter is dan 240, want als deze niet minder is dan 240 (linksaf), moet deze groter zijn (rechtsaf). We hoeven ons maar met twee knoppen bezig te houden.
Dewacht totDe besturingsblokken zorgen er na elke beurt voor dat het project wacht tot het scherm niet meer wordt ingedrukt voordat het verdergaat.
- Nu het project is voltooid, download en voer het uit om te testen hoe het werkt.
- Bekijk voor hulp de zelfstudievideo Een project downloaden en uitvoeren in VEXcode V5.
- Maak aantekeningen in je technische notitieboekje over hoe de knoppen de bewegingen van de Clawbot regelen.
Tips voor leraren
Tijdens het testen moeten de studenten beseffen dat de gebruikersinterface, wanneer ze deze achter de Clawbot bedienen, omgekeerd lijkt te werken. Vanuit het perspectief van de gebruiker draait de Clawbot weg van de zijde die door de gebruiker wordt ingedrukt. Dat is geen optimale gebruikerservaring.
Bij het indrukken van de knoppen van het scherm van achter de Clawbot terwijl deze vooruit reed, drukte je aan de rechterkant van het scherm om naar links te draaien en aan de linkerkant van het scherm om naar rechts te draaien. Dat is geen goede User Experience. Een gebruikerservaring is hoe goed een gebruiker kan communiceren met een gebruikersinterface om een computersysteem te bedienen. Meer informatie over gebruikersinterfaces vindt u in het gedeelte Toepassen van dit lab.
In dit geval moeten we de gebruikersinterface verbeteren om de gebruikerservaring te verbeteren.
- Bekijk het LeftOrRight-project en herzie het zodat wanneer de gebruiker de knoppen van achter de Clawbot indrukt, de robot naar rechts draait wanneer de gebruiker op de linkerkant van het scherm drukt. Of anders draait de Clawbot linksaf.
- Plan, test en herhaal dit project in je technische notitieblok, zodat het project de Clawbot naar de zijkant van het scherm laat draaien waar de gebruiker achter de Clawbot op drukt.
Toolbox voor leraren
Studenten moeten deze wijzigingen in het project plannen, testen en verfijnen en deze vervolgens documenteren in hun technische notitieboekjes. Voor de individuele rubriek voor technische notitieboeken klikt u op een van de volgende links (Google Doc / .docx / .pdf), of klikt u op een van de volgende links voor teamnotitieboeken (Google Doc / .docx / .pdf). Vergeet niet de beoordeling aan de leerlingen uit te leggen voordat ze aan de slag gaan.
Teacher Toolbox
-
Oplossingen
Er zijn twee mogelijke manieren om het hierboven gestelde probleem op te lossen. De eerste manier staat beschreven in de instructie: Bekijk het LeftOrRight-project en pas het zo aan dat wanneer de gebruiker op de knoppen achter de Clawbot drukt, de robot naar rechts draait als de gebruiker op de linkerkant van het scherm drukt. Anders gaat de Clawbot naar links.

De andere oplossing is om het Operator-blok zo te schakelen dat wanneer de x-waarde groter is dan 240, de Clawbot naar links draait.

Motiveer discussie
U moest coördinaten uit een coördinatenvlak gebruiken toen u de voorwaardelijke instructie programmeerde voor situaties waarin de x-waarde kleiner was dan 240 (linkerkant van het scherm). Om het scherm van de hersenen visuele knoppen te laten tekenen, moet u ook coördinaten gebruiken.
Ga terug naar stap 2, waar u de coördinaten voor het scherm van de V5 Robot Brain te zien kreeg.

V:Wat is de x-waarde aan de rechterkant van het scherm?
A:De x-waarde loopt op van 0 aan de linkerkant tot 480 aan de rechterkant.
V:Het bereik van de x-waarde is dus 480 (0 tot 480). Wat is het bereik van de y-waarde?
A:Het bereik van de y-waarde is 240 (0 tot 240).
V:Waar ligt de oorsprong (0, 0) van dit coördinatenvlak?
A:De oorsprong bevindt zich linksboven.
V:U bevindt zich bovenaan het scherm als de y-waarde gelijk is aan 0. Waarom is dit ongebruikelijk?
A:Normaal gesproken neemt de y-waarde toe als u omhoog gaat, maar op het V5-scherm neemt de y-waarde toe als u omlaag gaat. Maar je kunt het je voorstellen als de y-waarde die toeneemt naarmate je verder weg beweegt van de oorsprong (0, 0) linksboven in het scherm.
Breid uw leerproces uit
In de User Interface Challenge van het onderdeel Rethink krijgen leerlingen de opdracht een project te ontwikkelen waarmee ze vier knoppen op het scherm kunnen maken om de klauw en arm van de Clawbot te bedienen. Voor die uitdaging moeten ze ook die vier knoppen op het scherm laten zien. Deze Extend Your Learning-opdracht zal, net als de vorige pagina's, helpen om je leerlingen voor te bereiden op de uitdaging. De opdracht heeft namelijk vier knoppen die geprogrammeerd moeten worden, terwijl deze opdracht er maar twee heeft.
Laat je leerlingen een gebeurtenis aan het programma toevoegen, zodat er twee zichtbare knoppen op het scherm verschijnen wanneer het project wordt uitgevoerd. Stel voor dat studenten de Help-functie in VEXcode V5 gebruiken voor informatie over Gebeurtenissen- en Uiterlijk-blokken, met name de informatie over het blok [Rechthoek tekenen]. Laat de leerlingen bekijken hoe het scherm van de hersenen is georganiseerd in een coördinatensysteem op basis van het aantal pixels wanneer dit wordt gebruikt in het blok [Rechthoek tekenen]. Ze moeten dit begrijpen om parameters in dat blok te kunnen instellen. Bovendien moeten ze weten hoe ze evenementen moeten uitzenden. In dit geval is de gebeurtenis het tekenen van knoppen.
Studenten moeten deze wijzigingen aan het project plannen, testen en verfijnen en deze vervolgens documenteren in hun technische notitieboekjes. Voor de individuele technische notitieboekrubriek klikt u op een van de volgende links (Google Doc / .docx / .pdf), of klikt u op een van de volgende links voor teamnotitieboeken (Google Doc / .docx / .pdf).
Hier is een voorbeeldoplossing:

Voor een extra professioneel realistische ervaring, laat leerlingen hun klasgenoten om feedback vragen over hun twee kleurkeuzes.
Wekken de gekozen kleuren interesse in het gebruik van de interface, of welke kleuren zouden zij als gebruikers het liefst gebruiken?
Onderdeel van het ontwikkelen van een geweldige gebruikersinterface is het verzamelen van gegevens over de gebruikerservaring, en zelfs esthetische voorkeuren.