Skip to main content

Lektion 2: Fahren Sie zu grünen und dann zu blauen Festplatten

Auf grüne und dann auf blaue Festplatten fahren

  • Im vorherigen Projekt muss der VR-Roboter nach rechts abbiegen, wenn der Front Eye Sensor eine grüne Scheibe erkennt. Bauen Sie nun ein Projekt auf, bei dem der VR-Roboter auf vier Festplatten auf dem Disk Maze Playground läuft.
  • Das Ziel ist es, ein konsistentes Muster zu erstellen, bei dem sich der VR-Roboter nach rechts dreht, wenn der Front Eye Sensor eine grüne Scheibe erkennt, und nach links, wenn der Front Eye Sensor eine blaue Scheibe erkennt.

    Eine Draufsicht auf den Disc Maze-Spielplatz, mit einem Pfeil, der den beabsichtigten Weg des VR-Roboters anzeigt. Der Roboter sollte von der Startplattform vorwärts fahren, um die erste grüne Scheibe zu erreichen, und nach rechts abbiegen, bevor er an zwei blauen Scheiben nach links abbiegt.
  • Fügen Sie dem bestehenden Projekt den folgenden Block hinzu, um den VR-Roboter anzuweisen, nach dem Rechtsabbiegen vorwärts zu fahren.

    Die VEXcode VR blockiert das Projekt von früher, mit zusätzlichen Kommentar- und Drive-Forward-Blöcken. Das gesamte Projekt liest jetzt When Started, gefolgt von einem Kommentar "Drive to first disk (green), then turn right" (Laufwerk auf erste Festplatte (grün), dann rechts abbiegen). Fahren Sie als Nächstes vorwärts,  warten Sie, bis das vordere Auge grün erkennt, und biegen Sie dann um 90 Grad rechts ab. Als nächstes folgt ein Kommentarblock mit der Aufschrift "Laufwerk zur nächsten Festplatte (blau), dann links abbiegen". Fahren Sie schließlich vorwärts.
  • Fügen Sie eine weitere [Warten bis] hinzu, <Color sensing> wobei der Block so eingestellt ist, dass er "blau" erkennt, da die nächste Festplatte, auf die der VR-Roboter trifft, blau ist.

    Der VEXcode VR blockiert das Projekt von früher, wobei nach dem letzten Drive Forward-Block ein Wait Until-Block hinzugefügt wird. Das gesamte Projekt liest jetzt When Started, gefolgt von einem Kommentar "Drive to first disk (green), then turn right" (Laufwerk auf erste Festplatte (grün), dann rechts abbiegen). Fahren Sie als Nächstes vorwärts,  warten Sie, bis das vordere Auge grün erkennt, und biegen Sie dann um 90 Grad rechts ab. Als nächstes folgt ein Kommentarblock mit der Aufschrift "Laufwerk zur nächsten Festplatte (blau), dann links abbiegen". Fahren Sie schließlich vorwärts und warten Sie, bis das vordere Auge Blau erkennt.
  • Fügen Sie einen [Turn for] -Block hinzu und setzen Sie den Parameter auf "links".

    Der VEXcode VR blockiert das Projekt von früher, wobei nach dem letzten Wartezeit-Block ein 90-Grad-Block hinzugefügt wird. Das gesamte Projekt liest jetzt When Started, gefolgt von einem Kommentar mit der Aufschrift "Drive to first disk (green), then turn right" (Laufwerk auf erste Festplatte (grün), dann rechts abbiegen). Fahren Sie als Nächstes vorwärts,  warten Sie, bis das vordere Auge grün erkennt, und biegen Sie dann um 90 Grad rechts ab. Als nächstes folgt ein Kommentarblock mit der Aufschrift "Laufwerk zur nächsten Festplatte (blau), dann links abbiegen". Als nächstes fahren Sie vorwärts und warten, bis das vordere Auge blau erkennt, bevor Sie um 90 Grad nach links drehen.
  • Führen Sie das Projekt aus, um zu sehen, wie sich der VR-Roboter durch den Disk Maze Playground bewegt.

    Eine Draufsicht auf den Disc Maze-Spielplatz, mit einem Pfeil, der den beabsichtigten Weg des VR-Roboters anzeigt. Der Roboter sollte von der Startplattform vorwärts fahren, um die erste grüne Scheibe zu erreichen, und nach rechts abbiegen, bevor er an der ersten blauen Scheibe nach links abbiegt.
  • Beachten Sie, dass sich der VR-Roboter nach rechts dreht, wenn der Front Eye Sensor eine grüne Scheibe erkennt, und sich nach links dreht, wenn der Front Eye Sensor eine blaue Scheibe erkennt.
  • Bauen Sie dieses Projekt weiter auf, um den VR-Roboter mithilfe des Front Eye Sensors zu zwei weiteren Festplatten auf dem Disk Maze Playground zu steuern. Fügen Sie die folgenden Blöcke hinzu, um den VR-Roboter zu den nächsten beiden Festplatten zu navigieren und dann anzuhalten:

    VEXcode VR blockiert das Snippet, um es zum Ende unseres Projekts hinzuzufügen, um die blaue dritte und vierte Festplatte zu erreichen. Um zur dritten Festplatte zu fahren, fahren Sie vorwärts, warten Sie, bis das vordere Auge blau erkennt, und biegen Sie um 90 Grad nach links ab. Fahren Sie neben der vierten Festplatte vorwärts, warten Sie, bis das vordere Auge blau erkennt, und biegen Sie dann um 90 Grad nach links ab. Zu guter Letzt: Hören Sie auf zu fahren.
    Das VEXcode-Blöcke-Snippet, um die dritte und vierte Festplatte zu erreichen, wird nun am unteren Rand unseres Projekts hinzugefügt. Das gesamte Projekt erreicht nun vier Scheiben, zuerst eine grüne Scheibe und dann drei blaue Scheiben. Verwenden Sie den folgenden Codeabschnitt für jede Festplatte: Vorwärts fahren, Wartet, bis das vordere Auge die Farbe der Festplatte erkennt, dann drehen Sie sich um 90 Grad nach rechts, wenn grün, und drehen Sie sich um 90 Grad nach links, wenn blau. Wenn wir diesen Drei-Block-Abschnitt viermal wiederholen, können wir vier Scheiben erreichen, zuerst eine grüne Scheibe, indem wir nach rechts drehen, und dann drei Blautöne, indem wir nach links drehen. Nach diesen 12 Blöcken und zusätzlichen Kommentaren, die jeden Abschnitt markieren, hören Sie auf zu fahren.
  • Beachten Sie, dass es ein Muster gibt. Es gibt eine Reihe von Blöcken, die im Projekt dreimal wiederholt werden. Dieser Codeabschnitt kann mit einem [Repeat] -Block komprimiert werden.

    Jetzt werden wir einen Repeat-Block verwenden, um unseren Code zu vereinfachen und zu verkürzen. Ein rotes Feld hebt die drei Abschnitte hervor, die verwendet werden, um blaue Datenträger zu erreichen. Da dies dreimal derselbe Code ist, können wir ihn zu einem Wiederholungsblock hinzufügen, der stattdessen dreimal wiederholt wird. Jetzt liest das Projekt When Started, Drive Forward und Wait Until Front Eye erkennt grün, bevor es um 90 Grad nach rechts abbiegt. Wiederholen Sie den Code dreimal, um eine blaue Scheibe zu erreichen: Fahren Sie vorwärts, warten Sie, bis das vordere Auge blau erkennt, und biegen Sie dann um 90 Grad nach links ab. Nachdem Sie die Wiederholungsschleife geschlossen haben, hören Sie auf zu fahren.
  • Öffnen Sie den Disk Maze Playground , wenn er noch nicht geöffnet ist, und führen Sie das Projekt aus.
  • Beobachten Sie, wie der VR-Roboter auf dem Disk Maze Playground zu vier Festplatten navigiert.

    Die Draufsicht auf den Disk Maze Playground von früher, mit einem Pfeil, der den beabsichtigten Weg des VR-Roboters anzeigt. Der Roboter sollte von der Startplattform vorwärts fahren, um die erste grüne Scheibe zu erreichen, und nach rechts abbiegen, bevor er an zwei blauen Scheiben nach links abbiegt und an der dritten anhält. Ein rotes Feld zeigt an, dass der Roboter an der dritten blauen Scheibe anhält.
  • In diesem Projekt fährt der VR-Roboter vorwärts, bis der Front Eye Sensor die Farbe Grün erkennt.
    • Der VR-Roboter dreht sich um 90 Grad nach rechts und fährt wieder vorwärts, bis die Farbe Blau erkannt wird.
    • Der VR-Roboter dreht sich dann nach links und fährt vorwärts, bis der Vorderaugensensor Blau erkennt. Sobald die Farbe Blau erkannt wird, dreht sich der VR-Roboter wieder nach links.
    • Schließlich fährt der VR-Roboter vorwärts, bis der Front Eye Sensor Blau erkennt, und stoppt dann.
  • Beachten Sie das Muster, dass sich der VR-Roboter nach rechts dreht, wenn der Front Eye Sensor Grün erkennt. Wenn der Front Eye Sensor blau erkennt, dreht sich der VR-Roboter in diesem Projekt nach links.

Verwenden von Schalterblöcken

Bisher haben Sie ein Projekt erstellt, um auf die grüne Festplatte und dann auf die drei blauen Festplatten zu fahren.

Die folgende Abbildung zeigt das gesamte Projekt unter Verwendung von VEXcode-Blöcken, mit den wiederholten Verhaltensweisen, die verwendet werden, um zu den drei roten blauen Festplatten zu fahren.

Das VEXcode VR blockiert das Projekt, an dem wir gearbeitet haben, wobei der Dreifachblock Wiederholen rot hervorgehoben ist. Das Projekt liest Wenn gestartet, vorwärts fahren und warten, bis das vordere Auge grün erkennt, bevor es um 90 Grad nach rechts abbiegt. Als nächstes wiederholen Sie den Code, um eine blaue Scheibe dreimal mit einem Wiederholungsblock zu erreichen: Fahren Sie vorwärts, warten Sie, bis das vordere Auge blau erkennt, und biegen Sie dann um 90 Grad nach links ab. Nachdem Sie die Wiederholungsschleife geschlossen haben, hören Sie auf zu fahren.

Das folgende Projekt zeigt dieselben VEXcode-Blöcke, die in mehrere Switch-Blöcke umgewandelt wurden.

center-Projekt

Dieses letzte Projekt zeigt die gleichen Switch-Blockbefehle, die in Python-Befehle innerhalb eines Switch-Blocks konvertiert wurden.

Die VEXcode VR-Blöcke werden projektiert, um die ersten vier Festplatten zu erreichen, wobei jedoch die gesamte Repeat-Schleife in Python-Switch-Blöcke konvertiert wird. Das gesamte Projekt liest Wenn Sie beginnen, fahren Sie vorwärts und warten Sie, bis das vordere Auge Grün erkennt, bevor Sie um 90 Grad nach rechts abbiegen. Als nächstes folgt der Schalterblock mit dem folgenden Python-Code: 'for repeat_count in range(3): drivetrain.drive (FORWARD) while not front_eye.detect (BLUE): wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES)'. Jetzt, außerhalb des Schalterblocks, endlich Stop Driving.

For repeat_count im Bereich(3): ist der Python-Befehl, der dem Roboter mitteilt, dass die nächsten eingerückten Codezeilen dreimal wiederholt werden sollten. Beachten Sie, dass Sie nach der for-Schleife einen Doppelpunkt (:) einfügen sollten. 

Die folgenden Codezeilen sind die Verhaltensweisen, die wiederholt werden. Beachten Sie, dass diese Verhaltensweisen bei einer Standardeinstellung von 4 Leerzeichen eingerückt werden. 

Beachten Sie außerdem, dass die Bedingung den Befehl wait (5, MS) enthält. In VEXcode VR wird immer ein wait-Befehl mit der for-Schleife hinzugefügt. Der Zweck des Wait-Befehls besteht darin, sicherzustellen, dass VEXcode VR das Projekt aufgrund der webbasierten Natur der VEXcode VR-Plattform ordnungsgemäß ausführen kann. Der wait -Befehl sollte niemals gelöscht werden, wenn eine for -Schleife verwendet wird, oder Ihr Projekt wird möglicherweise nicht wie beabsichtigt ausgeführt. 

Die Zeile wait (5, MSEC) ist unter dem Befehl while not front_eye.detect(BLUE) eingerückt, da der Front Eye Sensor nach der Farbe Blau sucht und zwischen jeder Prüfung eine Pause von 5 MSEC einlegt.

Wählen Sie die Schaltfläche Weiter um mit dem Rest dieser Lektion fortzufahren.