Skip to main content

Lehrer-Toolbox-Symbol Lehrer-Toolbox - Der Zweck dieser Aktivität

Jetzt, da die Schüler Erfahrung darin haben, den Bildschirm des Gehirns wie eine große Taste zu behandeln, können sie den Bildschirm in zwei Tasten verwandeln. Diese Aktivität führt die Teilnehmer in die Verwendung verschachtelter [Wenn dann sonst] -Blöcke ein, um bedingte Aussagen und die zugrunde liegende Logik besser zu verwalten. Die Schüler werden zunächst durch den Bau des Projekts geführt, bei dem die Siebdrucke den Roboter nach links oder rechts drehen. Aber sie werden dann gebeten, die Tasten zu wechseln, so dass das, was den Roboter nach links gedreht hat, ihn jetzt nach rechts dreht und umgekehrt.

Weitere Informationen zu [If then] - und [If then else] -Blöcken oder anderen in dieser Aktivität verwendeten Blöcken finden Sie in den Hilfeinformationen in VEXcode V5. Weitere Informationen zu diesem integrierten Hilfetool finden Sie hier.

Im Folgenden finden Sie einen Überblick darüber, was Ihre Schüler in dieser Aktivität tun werden:

  • Überprüfung des StopOrDrive-Projekts und des Layouts des Bildschirms des Gehirns in Pixeln.

  • Aufbau eines neuen LeftOrRight-Projekts, während Sie durch die Argumentation der Programmierung geführt werden.

  • Überarbeitung des Projekts, so dass die Schaltflächen auf dem Bildschirm entgegengesetzt funktionieren.

  • Erweitern Sie Ihr Lernen: Teilen Sie den Bildschirm in zwei Tasten auf, die den Roboter beim Drücken nach links oder rechts drehen.

Erforderliches Material:
Menge Benötigtes Material
1

VEX V5 Classroom Starter Kit (mit aktueller Firmware)

1

VEXcode V5 (neueste Version, Windows, macOS, Chromebook)

1

Technisches Notizbuch

1

StopOrDrive-Projekt von der vorherigen Play-Seite

Lehrer-Toolbox-Symbol Lehrer-Toolbox

Vorschläge zu Unterrichtsstrategien für diesen Abschnitt finden Sie in der Spalte Lieferung im Schrittmacherleitfaden To Do or Not to Do! (Google Doc / .docx / .pdf)

Der Bildschirm des Gehirns kann mehr als eine Taste haben.

Mit dieser Aktivität können Sie den Roboter so programmieren, dass er vorwärts fährt und sich nach links oder rechts dreht, je nachdem, welche Seite des Bildschirms des Gehirns gedrückt wird.

Die drei zusätzlichen Arten von Blöcken, die Sie während dieser Aktivität benötigen, sind die folgenden:

VEXcode V5 Blöcke aus der Toolbox - ein Drehblock nach rechts gesetzt; ein kleiner als Bediener; und eine Bildschirmposition auf x eingestellt.

Sie können die Hilfeinformationen in VEXcode V5 verwenden, um mehr über die Blöcke zu erfahren. Eine Anleitung zur Verwendung der Hilfefunktion finden Sie im Tutorial Verwenden der Hilfe.

VEXcode V5-Symbolleiste mit einem roten Pfeil, der auf das Tutorials-Symbol zeigt. Die Tutorials befinden sich ganz rechts nach dem V5-Logo, einem Globus-Symbol und FIle.

 

Schritt 1: Beginnen wir mit der Überprüfung des StopOrDrive-Projekts.

Das StopOrDrive-Projekt ließ den Clawbot anhalten, wenn der Bildschirm gedrückt wurde, oder er fuhr vorwärts.
Der gesamte Bildschirm war eine große Schaltfläche, aber in diesem nächsten Projekt möchten wir, dass die Hälfte des Bildschirms eine Schaltfläche und die andere Hälfte die andere ist.

Projekt aus der vorherigen Lektion stoppen oder vorantreiben. Das Projekt beginnt mit einem Block beim Start mit einem angehängten Forever-Block. Innerhalb des forever-Blocks befindet sich ein if then else-Block, der anzeigt, ob der Bildschirm gedrückt ist, und dann aufhört zu fahren. Warten Sie, bis der Bildschirm nicht gedrückt ist. Andernfalls fahren Sie vorwärts.

Um den Bildschirm in zwei Schaltflächen aufzuteilen, müssen wir mehr über das Layout des Bildschirms verstehen.

Das Pixelraster des V5-Gehirnbildschirms zeigt 12 nummerierte Zeilen auf der linken Seite, wobei die obere Zeile mit Zeile 1 und die untere Zeile mit Zeile 12 bezeichnet ist. Ganz oben befinden sich 48 nummerierte Spalten, wobei Spalte 1 ganz links und Spalte 48 ganz rechts beschriftet ist. Die gesamten Pixelmaße sind 480px breit und 240px hoch.

  • Beachten Sie, dass die Anzahl der Spalten von links nach rechts zunimmt. Die Anzahl der Spalten beträgt 48 und der Bildschirm ist 480 Pixel breit.
  • Notieren Sie in Ihrem technischen Notizbuch, dass der x-Wert auf dem Bildschirm gleich der Anzahl der von links nach rechts gemessenen Pixel ist.
  • Wie hoch ist der x-Wert der Bildschirmmitte? Für diese Aktivität können Sie sich allein auf die x-Achse konzentrieren, da Sie nur eine linke und rechte Taste benötigen.

Lehrer-Toolbox-Symbol Lehrer-Toolbox - Antwort

Der x-Wert in der Mitte des Bildschirms entspricht der Hälfte der Breite des Bildschirms in Pixeln. Der x-Wert des Mittelpunkts beträgt also 240. Die Schüler benötigen diese Nummer, um die Bedingung zu programmieren, ob der Bildschirm links oder rechts gedrückt wird. Stellen Sie also sicher, dass sie alle den richtigen Wert haben.

Mit Blick auf die Zukunft erfordert die Herausforderung der Benutzeroberfläche im Abschnitt Umdenken, dass die Schüler das Gelernte anwenden, um vier Schaltflächen auf dem Bildschirm zu erstellen. Dafür benötigen sie also sowohl den x- als auch den y-Wert.

Lehrer-Tipps-Symbol Lehrertipps

Die Anweisungen leiten die Schüler bei Bedarf zu den Tutorials in VEXcode V5. Weitere Hilfe finden Sie in der VEX-Bibliothek für zusätzliche Hilfeartikel.

Schritt 2: Programmierung für zwei Tasten

  • Speichern Sie StopOrDrive als LeftOrRight-Projekt.
  • Denken Sie daran, wenn Sie Hilfe beim Öffnen, Benennen oder Speichern von Projekten benötigen, sehen Sie sich die Tutorials in VEXcode V5 an.

Das Dialogfeld Projektname in der VEXcode V5-Symbolleiste lautet Links oder Rechts. Slot 3 wird auf der linken Seite ausgewählt und die Symbolleiste liest auf der rechten Seite Gespeichert.

  • Bauen Sie das Projekt unten auf. Der Clawbot dreht sich nach links oder rechts, wenn der Bildschirm gedrückt wird, je nachdem, auf welcher Seite er gedrückt wird.

Ein VEXcode V5-Projekt beginnt mit einem when started -Block mit einem forever -Block. Innerhalb der forever -Schleife sind verschachtelt, wenn dann else -Blöcke. Der If-Zweig des ersten if then else-Blocks liest If-Bildschirm gedrückt. Der Block if then else ist in der Verzweigung If verschachtelt Wenn der Bildschirm x Position weniger als 240 lautet, dann biegen Sie nach links ab und warten Sie, bis der Bildschirm nicht gedrückt wird. Andernfalls biegen Sie nach rechts ab und warten Sie, bis der Bildschirm nicht gedrückt wird. Der äußere ELES-Zweig enthält einen Drive-Forward-Block.

Lehrer-Toolbox-Symbol Lehrer-Toolbox - Warum verschachtelt, wenn sonst Blöcke?

Das Skelett des Projekts (nur Kontrollblöcke) enthält verschachtelte Blöcke: und [If then else] Block innerhalb eines [If then else] Blocks innerhalb einer [Forever] Schleife. Dies mag komplizierter erscheinen, als es sein muss, da Sie stattdessen sequentielle [Wenn dann] -Blöcke verwenden könnten. Die Verwendung sequentieller [Wenn dann] -Blöcke ist jedoch keine gute Programmierpraxis.

Von links nach rechts sind drei Codierstrukturen dargestellt. Die Struktur auf der linken Seite hat ein rotes X darüber, was auf das Problem mit einer Reihe von verschachtelten wenn dann Blöcken hinweist. In der Mitte befindet sich eine Struktur aus leeren C-Blöcken, die verschachtelte, wenn überhaupt, Blöcke zeigen. Rechts wird die Struktur ausgefüllt, um zu zeigen, dass die gleichen Verhaltensweisen in einer einfacheren Form ausgeführt werden können.

Das abgelehnte Projekt auf der linken Seite ist die sequentiell bedingte Version unseres LeftOrRight-Projekts. Wenn der Bildschirm gedrückt wird und der x-Wert kleiner als 240 ist, dreht sich der Clawbot nach links. Wenn der Bildschirm gedrückt wird und der x-Wert größer als 240 ist, dreht sich der Clawbot nach rechts. Das Problem bei diesem Projekt ist, dass es das Risiko birgt, dass beide Bedingungen erfüllt sind. Jedes Mal, wenn Sie sequentielle [Wenn dann] -Blöcke verwenden, riskieren Sie, Fehler innerhalb eines Projekts zu erstellen, da es mehr als eine bedingte Aussage geben kann, die wahr ist. Fehler führen zu Unvorhersehbarkeit.

In der Mitte befindet sich das Skelett des LeftOrRight-Projekts, und rechts wird das Projekt mit einigen der bedingten Anweisungen und eingefügten Antriebsstrangblöcken angezeigt. Die Logik in dieser Version des Projekts ist etwas anders. Wenn/wenn der Bildschirm gedrückt wird, ist der x-Wert entweder kleiner als 240 (links abbiegen) oder nicht kleiner als 240 (rechts abbiegen). Wir brauchen dort keine weitere bedingte Aussage. Sobald der Bildschirm gedrückt wird, ist er entweder kleiner als 240 oder er ist es nicht. Wir haben nur zwei Knöpfe, um die wir uns kümmern müssen. Beachten Sie, dass das Projekt auf der rechten Seite noch unvollständig ist.

Die Schüler müssen die Unterschiede zwischen diesen beiden Ansätzen für das Projekt verstehen. Das Verständnis der Unterschiede in der zugrunde liegenden Logik wird den sich entwickelnden Programmierern sehr zugute kommen.

Das linke oder rechte Projekt wird mit der Funktionalität der Blöcke im beschrifteten Projekt aufgeschlüsselt. Der Zweig für immer und außen, wenn der Bildschirm gedrückt wird, trägt die Bezeichnung Keeps (Überprüft, ob der Bildschirm gedrückt wird). Der innere, wenn Zweig beim Drücken des Bildschirms beschriftet wird, prüft, ob links oder rechts. Der nächste Block nach links ist mit Wenn die Presse links war (weniger als 240), biegen Sie links ab. Das Warten, bis der Block markiert ist, wartet, bis der Bildschirm nicht mehr gedrückt wird, bevor Sie fortfahren. Der Block rechts abbiegen ist beschriftet, wenn die Presse nicht links war (weniger als 240), rechts abbiegt. Die nächste Wartezeit, bis der Block markiert ist, wartet, bis der Bildschirm nicht mehr gedrückt wird, bevor Sie fortfahren. Der äußere Else Zweig mit dem Drive Forward Block ist beschriftet Wenn der Bildschirm nicht gedrückt wird, fährt er vorwärts.

  • Sehen wir uns an, was dieses Projekt leistet.

    Es wird weiterhin überprüft, ob der Bildschirm gedrückt wird. Wenn der Bildschirm nicht gedrückt wird, fährt er vorwärts, aber wenn er es ist, überprüft er, wo der Bildschirm gedrückt wird.

    Wenn die Presse auf der linken Seite war (weniger als 240), dreht sie nach links. Ansonsten biegt er nach rechts ab. Wir brauchen keine weitere Bedingung, wenn der x-Wert größer als 240 ist, denn wenn er nicht kleiner als 240 ist (links abbiegen), muss er größer sein (rechts abbiegen). Wir haben nur zwei Knöpfe, um die wir uns Sorgen machen

    müssen. Warten Sie, bis die Steuerung nach jedem Zug blockiert. Lassen Sie das Projekt warten, bis der Bildschirm nicht mehr gedrückt wird, bevor Sie fortfahren.

Symbolleiste in VEXcode V5 mit einem roten Kästchen um die Download-Schaltfläche. Die Symbole lesen, von links nach rechts, Controller, Gehirn, Herunterladen, Ausführen, Stoppen und Freigeben.

  • Jetzt, da das Projekt abgeschlossen ist, laden Sie es herunter und führen Sie es aus, um zu testen, wie es funktioniert.
  • Wenn Sie Hilfe benötigen, sehen Sie sich das Tutorial-Video zum Herunterladen und Ausführen eines Projekts in VEXcode V5 an.
  • Notieren Sie sich in Ihrem technischen Notizbuch, wie die Tasten die Bewegungen des Clawbot steuern.

Lehrer-Tipps-Symbol Lehrertipps

Während des Testens sollten die Schüler erkennen, dass die Benutzeroberfläche, wenn sie hinter dem Clawbot verwendet wird, umgekehrt zu funktionieren scheint. Aus der Sicht des Benutzers wendet sich der Clawbot von der Seite ab, die vom Benutzer gedrückt wird. Das ist keine optimale User Experience.

Wenn Sie die Tasten des Bildschirms hinter dem Clawbot drücken, während er vorwärts fährt, drücken Sie auf der rechten Seite des Bildschirms, um links abzubiegen, und auf der linken Seite des Bildschirms, um rechts abzubiegen. Das ist keine gute User Experience. Eine Benutzererfahrung ist, wie gut ein Benutzer mit einer Benutzeroberfläche interagieren kann, um ein Computersystem zu steuern. Weitere Informationen zu Benutzeroberflächen finden Sie im Abschnitt Anwenden dieses Labors.

In diesem Fall müssen wir die Benutzeroberfläche verbessern, um die Benutzererfahrung zu verbessern.

Linkes oder rechtes VEXcode V5-Projekt. Ein VEXcode V5-Projekt beginnt mit einem when started -Block mit einem forever -Block. Innerhalb der forever -Schleife sind verschachtelt, wenn dann else -Blöcke. Der If-Zweig des ersten if then else-Blocks liest If-Bildschirm gedrückt. Der Block if then else ist in der Verzweigung If verschachtelt Wenn der Bildschirm x Position weniger als 240 lautet, dann biegen Sie nach links ab und warten Sie, bis der Bildschirm nicht gedrückt wird. Andernfalls biegen Sie nach rechts ab und warten Sie, bis der Bildschirm nicht gedrückt wird. Der äußere ELES-Zweig enthält einen Drive-Forward-Block.

  • Überprüfen Sie das LeftOrRight-Projekt und überarbeiten Sie es so, dass der Roboter, wenn der Benutzer die Tasten hinter dem Clawbot drückt, sich nach rechts dreht, wenn der Benutzer die linke Seite des Bildschirms drückt. Andernfalls biegt der Clawbot nach links ab.
  • Planen, testen und wiederholen Sie dieses Projekt in Ihrem technischen Notizbuch, sodass sich der Clawbot durch das Projekt in Richtung der Seite des Bildschirms dreht, die der Benutzer hinter dem Clawbot drückt.

Lehrer-Toolbox-Symbol Lehrer-Toolbox

Die Schüler sollten diese Änderungen am Projekt planen, testen und verfeinern, während sie es in ihren technischen Notizbüchern dokumentieren. Klicken Sie für die einzelne Engineering-Notizbuch-Rubrik auf einen der folgenden Links (Google Doc / .docx / .pdf) oder klicken Sie für Team-Notizbücher (Google Doc / .docx / .pdf) auf einen der folgenden Links. Denken Sie daran, den Schülern die Punktzahl zu erklären, bevor sie mit der Arbeit beginnen.

Lehrer-Toolbox-Symbol Lehrer-Toolbox - Lösungen

Es gibt zwei Möglichkeiten, das oben gestellte Problem zu lösen. Der erste Weg ist der in die Anleitung geschriebene: Überprüfen Sie das LeftOrRight-Projekt und überarbeiten Sie es so, dass der Roboter, wenn der Benutzer die Tasten hinter dem Clawbot drückt, sich nach rechts dreht, wenn der Benutzer die linke Seite des Bildschirms drückt. Ansonsten biegt der Clawbot nach links ab.

Die VEXcode V5-Probelösung beginnt mit einem When started-Block mit einem angehängten Forever-Block. Innerhalb des Forever-Blocks sind verschachtelt If then else-Blöcke. Der äußere if then else-Block liest, wenn der Bildschirm gedrückt wird; ansonsten fahren Sie vorwärts. Im Zweig If liest ein if then else-Block if screen x position less than 240 then turn right, else turn left.

Die andere Lösung besteht darin, den Operator-Block so zu schalten, dass der Clawbot nach links dreht, wenn der x-Wert größer als 240 ist.

Die VEXcode V5-Probelösung beginnt mit einem When started-Block mit einem angehängten Forever-Block. Innerhalb des Forever-Blocks sind verschachtelt If then else-Blöcke. Der äußere if then else-Block liest, wenn der Bildschirm gedrückt wird; ansonsten fahren Sie vorwärts. Im Zweig If liest ein if then else-Block if screen x position greater than 240 then turn left, else turn right.

Motivations-Diskussionssymbol Diskussion motivieren

Sie mussten Koordinaten aus einer Koordinatenebene verwenden, wenn Sie die bedingte Anweisung programmierten, wenn der x-Wert kleiner als 240 war (linke Seite des Bildschirms). Damit der Bildschirm des Gehirns visuelle Schaltflächen zeichnet, müssten Sie auch Koordinaten verwenden.
Kehren Sie zu Schritt 2 zurück, wo Ihnen die Koordinaten für den Bildschirm des V5-Roboterhirns angezeigt wurden.

Das Pixelraster des V5-Gehirnbildschirms zeigt 12 nummerierte Zeilen auf der linken Seite, wobei die obere Zeile mit Zeile 1 und die untere Zeile mit Zeile 12 bezeichnet ist. Ganz oben befinden sich 48 nummerierte Spalten, wobei Spalte 1 ganz links und Spalte 48 ganz rechts beschriftet ist. Die gesamten Pixelmaße sind 480px breit und 240px hoch.

F: Was ist der x-Wert am rechten Bildschirmrand?
A: Der x-Wert steigt von 0 am linken Rand auf 480 am rechten Rand.

F: Der Bereich des x-Wertes ist also 480 (0 bis 480). Was ist der Bereich des y-Wertes?
A: Der Bereich des y-Wertes ist 240 (0 bis 240).

F: Wo ist der Ursprung (0, 0) dieser Koordinatenebene?
A: Der Ursprung liegt oben links.

F: Sie befinden sich am oberen Rand des Bildschirms, wenn der y-Wert gleich 0 ist. Warum ist das ungewöhnlich?
A: Normalerweise erhöht sich der y-Wert, wenn Sie sich nach oben bewegen, aber auf dem V5-Bildschirm erhöht sich der y-Wert, wenn Sie sich nach unten bewegen. Aber Sie können sich vorstellen, dass der y-Wert zunimmt, wenn Sie sich vom Ursprung (0, 0) oben links auf dem Bildschirm entfernen.

Erweitern Sie Ihr Lernsymbol Erweitern Sie Ihr Lernen

In der Rethink Section's User Interface Challenge werden die Schüler gebeten, ein Projekt zu entwickeln, das vier Schaltflächen auf dem Bildschirm erstellt, um die Klaue und den Arm des Klauenbots zu steuern. Für diese Herausforderung werden sie auch gebeten, diese vier Schaltflächen auf dem Bildschirm anzeigen zu lassen. Dies erweitert Ihr Lernen, wie auf der vorherigen Seite, wird dazu beitragen, sie auf diese Herausforderung vorzubereiten, da die Herausforderung vier Schaltflächen zum Programmieren hat und diese nur zwei.

Bitten Sie die Schüler, dem Programm ein Ereignis hinzuzufügen, damit auf dem Bildschirm zwei sichtbare Schaltflächen angezeigt werden, wenn das Projekt ausgeführt wird. Schlagen Sie vor, dass die Schüler die Hilfe-Funktion in VEXcode V5 verwenden, um Informationen über Ereignisse und Looks-Blöcke zu erhalten, insbesondere die Informationen des Blocks [Rechteck zeichnen]. Weisen Sie die Schüler an, zu überprüfen, wie der Bildschirm des Gehirns in ein Koordinatensystem organisiert ist, das auf der Anzahl der Pixel basiert, wenn er im Block [Rechteck zeichnen] verwendet wird. Sie müssen das verstehen, um Parameter innerhalb dieses Blocks festzulegen. Darüber hinaus müssen sie verstehen, wie man Ereignisse überträgt. In diesem Fall handelt es sich bei dem Ereignis um Zeichenschaltflächen.

Die Schüler sollten diese Änderungen am Projekt planen, testen und verfeinern, während sie es in ihren technischen Notizbüchern dokumentieren. Klicken Sie für die einzelne Engineering-Notizbuch-Rubrik auf einen der folgenden Links (Google Doc / .docx / .pdf) oder klicken Sie für Team-Notizbücher (Google Doc / .docx / .pdf) auf einen der folgenden Links.

Hier ist eine beispielhafte Lösung:

VEXcode V5 Musterlösung mit zwei Stapeln von Blöcken nebeneinander. Der Stapel auf der linken Seite beginnt mit einem Block beim Start und zeigt einen Schaltflächenblock Broadcast Draw, der oben im linken oder rechten Projekt zwischen dem Block beim Start und der Endlosschleife hinzugefügt wird. Der Stapel auf der rechten Seite beginnt mit einem Wenn ich einen Draw-Button-Event-Block erhalte, gefolgt von vier Looks-Blöcken, die auf Brain die Füllfarbe auf Grün setzen; auf Brain das Rechteck 0, 0, 240, 240 zeichnen; auf Brain die Füllfarbe auf Lila setzen; und auf Brain das Rechteck 240, 0, 480, 240 zeichnen.

Für eine zusätzliche professionell realistische Erfahrung bitten Sie die Schüler, ihre Klassenkameraden um Feedback zu ihrer Zweifarbenauswahl zu bitten.
Machen die gewählten Farben Lust auf die Benutzeroberfläche oder welche Farben würden sie als Benutzer bevorzugen?
Ein Teil der Entwicklung einer großartigen Benutzeroberfläche ist das Sammeln von Daten über die Benutzererfahrung, sogar ästhetische Vorlieben.