Skip to main content

Lektion 3: Fahren Sie zur Nummer ‘31’

In dieser Lektion fährt der VR-Roboter zur Nummer ‘31‘ und dann zurück zur Nummer ‘1‘ auf dem Number Grid Map Playground!

Eine Top-down-Ansicht des Number Grid Map-Spielplatzes, wobei die Zahl 31 durch ein rotes Kästchen hervorgehoben wird. Der VR-Roboter startet auf Nummer 1, und die Nummer 31 Quadrat ist drei Felder darüber.

Beachten Sie, dass der VR-Roboter entlang der Y-Achse fährt, um zur Zahl "31" auf dem Zahlenrasterkarten-Spielplatz zugelangen.

Eine Draufsicht auf den Spielplatz der Zahlenrasterkarte, wobei das Feld mit der Nummer 31 durch ein schwarzes Kästchen hervorgehoben wird. Eine Linie zeigt Messungen über die Y-Achse an, wobei der erste Abstand -900 Millimeter auf der Y-Achse beträgt und der nächste -700 ist, der jedes Mal um 200 zählt. Die Zahl 31 befindet sich an einer Y-Position von -300 Millimetern.

Der VR-Roboter fährt zur Position der Nummer ‘31‘ auf dem Number Grid Map Playground. Bevor der VR-Roboter jedoch zu dieser Nummer navigieren kann, muss dem VR-Roboter mitgeteilt werden, wo sich diese Nummer befindet. Die Koordinaten der Zahl ‘31’ sind (-900, -300).

Eine Draufsicht auf den Spielplatz der Zahlenrasterkarte mit zwei Achsenindikatoren, die die Position des Bereichs mit der Nummer 31 markieren. Der VR-Roboter beginnt bei -900 X und -900 Y, während die Zahl 31 bei -900 X und -300 Y liegt.
  • Ziehen Sie den Block [Drive] non-waiting in den Arbeitsbereich.

    Ein neues VEXcode VR-Blockprojekt, das mit einem "When Started" -Block beginnt, gefolgt von einem "Drive Forward" -Block.
  • Bringen Sie einen [Warten bis] -Block unter dem [Laufwerk] -Block an.

    Eine Fortsetzung des VEXcode VR-Blöcke-Projekts, jetzt mit einem Wartezeit-Block, der nach dem Drive Forward-Block hinzugefügt wurde. Das gesamte Projekt liest sich jetzt When Started, Drive Forward and Wait Until. Der Block Warten bis hat einen leeren booleschen Parameter.
  • Ziehen Sie den <Greater than> Booleschen Reporterblock in den Block [Warten bis].

    Eine Fortsetzung des VEXcode VR-Blöcke-Projekts, jetzt mit einem Greater Than-Block, der in den Wait Until-Block eingefügt wird. Das gesamte Projekt liest sich jetzt Wenn es gestartet wird, fahren Sie vorwärts, gefolgt von einem Warten bis -Block mit einem Größer als -Block darin, der lautet "leer ist größer als 50".
  • Beachten Sie, dass der <Greater than> Block anstelle des <Less than> Blocks verwendet wird, da der VR-Roboter von der Unterseite des Spielplatzes nach oben fährt. Der VR-Roboter startet bei einem Y-Wert von -900 Millimetern (mm). Wenn der VR-Roboter vorwärts fährt, steigen die Y-Werte.

    Die gleiche Top-down-Ansicht des Spielplatzes Nummer Grid Map mit zwei Achsen, die die Position des Platzes Nummer 31 von früher markieren. Der VR-Roboter beginnt bei -900 X und -900 Y, während die Zahl 31 bei -900 X und -300 Y liegt.
  • Ziehen Sie den Block (Position des Roboters) in den <Greater than> Block.

    Eine Fortsetzung des VEXcode VR-Blöcke-Projekts, jetzt mit einer Position des Roboterblocks, der in den Größer-als-Block eingefügt wird. Das gesamte Projekt liest sich nun When Started, Drive Forward and Wait Until X Position of Robot in millimeters is Greater Than 50.
  • Setzen Sie den Parameter des Blocks (Position des Roboters) auf "Y" und den Parameter des <Greater than> Blocks auf -300.

    Eine Fortsetzung des VEXcode VR-Blöcke-Projekts, bei dem nun die Achse des Roboterblocks von X auf Y geändert wurde und der zweite Parameter des Größer-als-Blocks von 50 auf -300 geändert wurde. Das gesamte Projekt liest jetzt When Started, Drive Forward and Wait Until Y Position of Robot in millimeters is Greater Than -300.
  • Ziehen Sie einen [Stop driving] -Block ein und fügen Sie ihn dem Projekt hinzu.

    Eine Fortsetzung des VEXcode VR Blocks Projekts, jetzt mit einem Stop Driving Block unterhalb des Wait Until Blocks. Das gesamte Projekt liest jetzt When Started, Drive Forward and Wait Until Y Position of Robot in millimeters is Greater Than -300. Zu guter Letzt: Hören Sie auf zu fahren.
  • Starten Sie den Number Grid Map Playground , wenn er noch nicht geöffnet ist, und führen Sie das Projekt aus.
  • Beobachten Sie, wie der VR-Roboter auf dem Number Grid Map Playground zur Nummer ‘31’ fährt.

    Eine Draufsicht auf den Spielplatz Number Grid Map mit dem VR-Roboter, der sich auf dem Platz mit der Nummer 31 ausruht.
  • In diesem Projekt fährt der VR-Roboter zur Nummer ‘31‘ auf dem Number Grid Map Playground. Da die Y-Werte steigen, wenn der VR-Roboter auf die Zahl ‘31‘ fährt, verwendet das Projekt einen <Greater than> Block.
  • Der VR-Roboter stoppt, sobald sein Y-Wert größer als der Y-Wert der Koordinate ist, auf der die angegebene Zahl steht. Da der Y-Wert der Zahl ‘31‘ -300 ist, hört der VR-Roboter auf zu fahren, sobald der Y-Wert größer als -300 ist.
Ein Diagramm, das den Ablauf der Logik im Projekt VEXcode VR Blocks visualisiert. Das Projekt beginnt mit einem "When Started" -Block und beginnt dann vorwärts zu fahren und hält diesen Befehl, bis die Y-Position des Robotersensors in Millimetern größer als -300 ist. Danach beendet ein "Stop Driving" -Block den "Drive Forward" -Befehl.

Verwenden von Schalterblöcken 

In dieser Lektion haben Sie gelernt, wie Sie den Block VEXcode [Warten bis] mit einer booleschen Bedingung verwenden, um dem Roboter zu befehlen, zu warten, bis der Roboter eine Position von mehr als -300 auf der Y-Achse erreicht, bevor Sie zum nächsten Verhalten übergehen.

Die folgende Abbildung zeigt den VEXcode-Block neben dem Switch-Block, der den Python-Befehl für die gleichen Verhaltensweisen enthält. 

Ein Vergleich eines VEXcode VR Wait Until-Blocks und seines entsprechenden Switch-Blocks. Der VR-Block lautet: "Warten Sie, bis die Y-Position des Roboters in Millimetern größer als -300 ist". Der Python-Code des Switch-Blocks lautet 'while not location.position (Y, MM) > -300: wait(5, MS)'. Der Wait-Befehl ist unter dem while not eingerückt.Innerhalb des Schalterblocks, obwohl nicht location.position (Y, MM) > -300: ist der erste Python-Befehl, der überprüft, ob die Position des Roboters entlang der X-Achse größer als -300 ist.

Der zweite eingerückte Befehl wait (5, MS) pausiert die Ausführung der bedingten Schleife für 5 Millisekunden.

In VEXcode VR wird immer ein wait-Befehl mit der bedingten 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 bedingte Schleife verwendet wird, oder Ihr Projekt wird möglicherweise nicht wie beabsichtigt ausgeführt. 

In diesem Beispiel prüft das Projekt alle 5 MS, ob die Position des Roboters größer als ein Y-Wert von -300 ist. Diese Codezeile wird unter der ersten Codezeile eingerückt, da dieser Befehl das Verhalten ist, das wiederholt wird, bis die Bedingung (ein Y-Koordinatenwert von größer als -300) erfüllt ist. 

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