Lektion 2: Fahren Sie zu den nächsten Festplatten
Laufwerk zu den Blue Disks
Im vorherigen Projekt muss der VR-Roboter nach rechts abbiegen, wenn der Front Eye Sensor eine grüne Scheibe erkennt, die den VR-Roboter durch den ersten Schritt im Labyrinth geführt hat. Jetzt werden wir das Projekt weiter ausbauen, so dass der VR-Roboter auf die ersten vier Festplatten auf dem Disk Maze Playground fährt.
Wenn wir uns ansehen, wohin der VR-Roboter nach dem Abbiegen nach rechts an der grünen Scheibe zeigt, können wir sehen, dass der VR-Roboter vorwärts fahren und an jeder blauen Scheibe nach links abbiegen sollte, um zu den nächsten drei blauen Scheiben zu navigieren. Wir können die gleiche Logik der while-Schleife mit der NICHT-Bedingung verwenden , damit der VR-Roboter weiterhin durch das Labyrinth fährt und nach links abbiegt, wenn er eine blaue Festplatte erkennt.
- Fügen Sie einen weiteren Kommentar unter dem turn_for im bestehenden Projekt hinzu, um die nächsten Verhaltensweisen des VR-Roboters zu beschreiben. Ihr Projekt sollte wie folgt aussehen:
def main():
# Drive to 1st disk (green), turn right
while not front_eye.detect(GREEN):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(RIGHT, 90, DEGREES)
# Drive to 2nd disk (blue), turn left- Fügen Sie unter dem neuen Kommentar eine weitere while-Schleife mit einer NICHT-Bedingung hinzu. Stellen Sie die Bedingung auf den Erkennungsbefehl und stellen Sie die Parameter auf "BLAU", da die nächste Festplatte, auf die der VR-Roboter trifft, blau ist.
# Drive to 2nd disk (blue), turn left
while not front_eye.detect(BLUE):
wait(5, MS)- Ziehen oder tippen Sie den nicht wartenden Laufwerksbefehl in die while-Schleife.
# Drive to 2nd disk (blue), turn left
while not front_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MS)- Ziehen Sie den Befehl turn_for hinein oder geben Sie ihn ein, und legen Sie die Parameter so fest, dass eine 90-Grad-Drehung nach links erfolgt.
# Drive to 2nd disk (blue), turn left
while not front_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(LEFT, 90, DEGREES)- Führen Sie das Projekt aus, um zu sehen, wie sich der VR-Roboter durch den Disk Maze Playground bewegt.
- 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 blauen Scheiben auf dem Disk Maze Playground zu steuern. Fügen Sie dem Projekt Befehle hinzu, navigieren Sie den VR-Roboter zu den nächsten beiden Festplatten und stoppen Sie dann. Ihr gesamtes Projekt sollte nun so aussehen:
def main():
# Drive to 1st disk (green), turn right
while not front_eye.detect (GREEN):
drivetrain.drive (FORWARD)
wait(5, MSEC)
drivetrain.turn_for (RIGHT, 90, DEGREES)
# Drive to 2nd disk (blue), turn left
while not front_eye.detect (BLUE):
drivetrain.drive (FORWARD)
wait(5, MSEC)
drivetrain.turn_for (LEFT, 90, DEGREES)
# Drive to 3rd disk (blue), turn left
while not front_eye.detect (BLUE):
drivetrain.drive (FORWARD)
wait(5, MSEC)
drivetrain.turn_for (LEFT, 90, DEGREES)
# Drive to 4th disk (blue), turn left
while not front_eye.detect (BLUE):
drivetrain.drive (FORWARD)
wait(5, MSEC)
drivetrain.turn_for (LEFT, 90, DEGREES)Identifizieren eines Musters in den Bewegungen des VR-Roboters
Das Ziel der erfolgreichen Navigation im Disk Maze mit dem Front Eye Sensor besteht darin, 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. Das Erkennen solcher Muster kann Ihnen helfen, Ihre Projekte zu vereinfachen, da sie immer komplexer werden.

Zur Kenntnisnahme
Beachten Sie, dass es auch in der Reihenfolge der Befehle im Projekt ein Muster gibt. Es gibt eine Reihe von Befehlen (für die blauen Platten), die im Projekt dreimal wiederholt werden. Dieser Codeabschnitt kann mit einer for -Schleife komprimiert werden. Das hier gezeigte Projekt kombiniert diese drei while Schleifen, die sich auf blaue Scheiben beziehen, zu einer einzigen for -Schleife.
def main():
# Drive to 1st disk (green), turn right
while not front_eye.detect (GREEN):
drivetrain.drive (FORWARD)
wait(5, MSEC)
drivetrain.turn_for (RIGHT, 90, DEGREES)
# Drive to the next 3 disk (blue), turn left
for value in range(3):
while not front_eye.detect (BLUE):
drivetrain.drive (FORWARD)
wait(5, MSEC)
drivetrain.turn_for(LEFT, 90, DEGREES)Die Verwendung einer for-Schleife kann Ihr Projekt einfacher und lesbarer machen, aber die sich wiederholenden Befehle in einer Schleife enthalten.
- Ö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.

- 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.
Wählen Sie die Schaltfläche Weiter um mit dem Rest dieser Lektion fortzufahren.