Lehrer-Toolbox
-
Der Zweck dieser Aktivität
Diese Aktivität führt die Teilnehmer in die Verwendung von while- und if-Anweisungen ein, damit der Roboter vorwärts fährt, es sei denn, der Bildschirm wird gedrückt.
- Diese Aktivität führt die Teilnehmer in die Bedingungen und Anweisungen ein, mit denen der Roboter vorwärts fährt, es sei denn, der Bildschirm wird gedrückt.
- Weitere Informationen zu if- und if-else-Anweisungen oder anderen in dieser Aktivität verwendeten Aussagen finden Sie in den Hilfeinformationen in VEXcode V5. Weitere Informationen zu diesem integrierten Hilfetool finden Sie im Artikel über die Hilfe in Python.
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 Clawbot ist bereit, Entscheidungen zu treffen!
Diese Erkundung gibt Ihnen die Werkzeuge, um mit der Erstellung einiger cooler Projekte zu beginnen, die if-else-Anweisungen verwenden .
- VEXcode V5 Python-Befehle, die in dieser Erkundung verwendet werden:
- drivetrain.drive_for(VORWÄRTS)
- brain.screen.pressing()
- drivetrain.stop()
- wenn Bedingung:
- else:
- während True:
- warten(5, SEKUNDEN)
Sie können die Hilfe-Informationen in VEXcode V5 verwenden, um mehr über die Python-Befehle zu erfahren.

Stellen Sie sicher, dass Sie die erforderliche Hardware, Ihr technisches Notizbuch und VEXcode V5 bereit haben.
| Menge | Benötigtes Material |
|---|---|
| 1 |
VEX V5 Classroom Starter Kit (mit aktueller Firmware) |
| 1 |
VEXcode V5 (neueste Version, Windows, macOS) |
| 1 |
Technisches Notizbuch |
| 1 |
Clawbot (Antrieb 2-Motor, kein Kreisel) Vorlage |
Lehrertipps
Wenn der Schüler VEXcode V5 zum ersten Mal verwendet, kann er während dieser Erkundung jederzeit auf die Tutorials verweisen. Die Tutorials befinden sich in der Symbolleiste.

Schritt 1: Beginnen wir mit dem Verständnis von bedingten Aussagen
Bevor Sie mit der Programmierung mit Conditionals beginnen, lesen Sie den Artikel, in dem die if-else-Anweisungen erläutert werden. Den Artikel finden Sie hier (Google Doc / .docx / .pdf).
Eine Liste der in den if-else-Anweisungen zu verwendenden Operatoren finden Sie im Artikel Boolesche Werte erläutern. Diesen Artikel finden Sie hier (Google Doc/.docx/.pdf).
Schritt 2: Beginnen wir mit der Programmierung mit bedingten Anweisungen.
-
Öffnen Sie das Beispielprojekt Clawbot (Drivetrain 2-motor, No Gyro).

- Bauen Sie das Projekt unten auf.
# Start project code
while True:
drivetrain.drive(FORWARD)
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MS)
wait(5, MS)Gehen Sie in Ihrem technischen Notizbuch wie folgt vor:
- Erklären Sie, was der Clawbot für das Projekt tun soll. Sie müssen mehr erklären als die Tatsache, dass es eine Stopptaste erzeugt. Erklären Sie, welche Anweisungen den Clawbot dazu bringen, was zu tun.
- Schreiben Sie eine Zusammenfassung mit einem Satz, die erfasst, was das Projekt leistet.
- Testen Sie, ob Ihre Vorhersage, was der Clawbot für das Projekt tun soll, korrekt ist.
- Benennen Sie das Projekt CreatingAStopButton. Laden Sie das Projekt herunter und führen Sie es auf dem Clawbot aus.
- Überprüfen Sie Ihre Erläuterungen zum Projekt und fügen Sie Notizen hinzu, um sie bei Bedarf zu korrigieren.
Lehrer-Toolbox
-
Antworten
Bei diesem Projekt fährt der Roboter kontinuierlich vorwärts, stoppt jedoch, wenn der Bildschirm gedrückt wird. Dies geschieht durch die Verwendung einer "Forever" -Anweisung (während True), um kontinuierlich zu fahren und zu überprüfen. Wenn der Bildschirm gedrückt wird (True), stoppt der Clawbot die Fahrt.
Von den Schülern wird nicht erwartet, dass sie verstehen, warum die Befehle while brain.screen.pressing (): und wait(5, MS) verwendet werden. Erklären Sie, dass diese Befehle aufgrund der Geschwindigkeit des Programmablaufs des Roboters erforderlich sind. Wenn es nicht da wäre, würden sich die Motoren des Clawbot so verhalten, als würde der Benutzer den Bildschirm immer wieder drücken, während er das Projekt durchläuft. Stattdessen stoppen diese Anweisungen den Programmablauf und lassen das Projekt die Schleife nicht erneut starten, bis der Benutzer aufhört, den Bildschirm zu drücken.
Die Zeile des Pseudocodes könnte so einfach sein wie: Fahren Sie vorwärts, bis der Bildschirm gedrückt wird.
Die Engineering-Notizbücher der Studierenden können einzeln (Google Doc / .docx / .pdf) oder im Team (Google Doc / .docx / .pdf) gepflegt und bewertet werden. Die vorherigen Links bieten für jeden Ansatz eine andere Rubrik. Wann immer eine Rubrik in die Bildungsplanung aufgenommen wird, ist es empfehlenswert, die Rubrik zu erklären oder den Schülern zumindest Kopien zu geben, bevor die Aktivität beginnt.
Schritt 3: Verstehen der while- und wait() -Anweisungen.
Beachten Sie, dass, wenn der Bildschirm des Gehirns gedrückt wird, sich der Ablauf des Projekts schnell bewegt und das Projekt zur nächsten Anweisung wechselt, dem Befehldrivetrain.stop ().
Daher benötigt das Projekt die Befehle while und wait, die dem Roboter mitteilen, dass er angehalten bleiben soll, bis der Bildschirm des Gehirns freigegeben wird. Andernfalls würde die Forever-Anweisung dazu führen, dass das Projekt erneut beginnt.
während brain.screen.pressing():
wait(5, MS)Die Befehle while und wait sind aufgrund der Geschwindigkeit des Projektflusses erforderlich. Wenn sie nicht da wären, würde das Projekt zur nächsten Anweisung übergehen, bevor der Roboter überhaupt Zeit hatte zu reagieren.
Schritt 4: Ändern Sie das Projekt.
Unser nächster Schritt besteht darin, die if-Anweisung in eine if-else-Anweisung umzuwandeln.
- Speichern Sie zunächst CreatingAStopButton als neues Projekt, StopOrDrive.
- Wenn Sie Hilfe beim Speichern eines Projekts benötigen, lesen Sie diese Artikel.
- Erstellen Sie dann das unten gezeigte StopOrDrive-Projekt.
# Start project code
while True:
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MS)
else:
drivetrain.drive(FORWARD)
wait(5, MS)- Laden Sie StopOrDrive auf Slot 2 auf Ihren Clawbot herunter.
- Hilfe zum Herunterladen und Ausführen eines Projekts finden Sie in diesem Artikel.
- Testen Sie den CreateAStopButton (Slot 1) und testen Sie dann StopOrDrive (Slot 2) und vergleichen Sie sie, um festzustellen, ob es einen Unterschied im Verhalten des Roboters gibt. Notieren Sie alle Unterschiede in Ihrem technischen Notizbuch
Lehrer-Toolbox
-
Antwort
In Bezug auf das Verhalten des Roboters sollte es keinen Unterschied zwischen den Projekten CreatingAStopButton und StopOrDrive geben.
Wenn die Schüler weitere Hilfe beim Verständnis von if-else-Anweisungen benötigen, lesen Sie diesen Artikel (Google Doc / .docx / .pdf).
Bei beiden Projekten verhält sich der Clawbot gleich. Der einzige Unterschied ist die Verwendung der if-else-Anweisung im StopOrDrive-Projekt.
Mit der if-else-Anweisung können Sie dem Bildschirm in anstehenden Aktivitäten zusätzliche Schaltflächen hinzufügen.
Erweitern Sie Ihr Lernen
Im Laufe dieses STEM-Labors werden die Schüler Projekte entwickeln, die es dem Bildschirm des Clawbots ermöglichen, als Benutzeroberfläche zu fungieren. Fordern Sie die Schüler in Vorbereitung darauf auf, herauszufinden, wie sie ein farbiges Rechteck auf dem Bildschirm zeichnen können, das wie eine Schaltfläche funktioniert. Da das Drücken an einer beliebigen Stelle auf dem Bildschirm derzeit die Bedingung ist, sollte die Taste den gesamten Bildschirm einnehmen. Die Schüler sollten das Projekt ein Ereignis übertragen lassen, um die Schaltfläche beim Start zu zeichnen.
Weisen Sie die Schüler an, zuerst zu lernen, wie der Bildschirm des Gehirns in ein Koordinatensystem organisiert ist. Sie müssen dies verstehen, um Parameter innerhalb der Befehle festzulegen, die sie verwenden werden. Die verwendeten Koordinaten entsprechen der Anzahl der Pixel und nicht der Anzahl der Spalte oder Zeile. Hier ist das Layout des Bildschirms:
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:
# Begin project code
draw = Event()
def draw_button():
brain.screen.set_fill_color (Color.RED)
brain.screen.draw_rectangle (0, 0, 480, 240)
wait(1, SECONDS)
draw(draw_button)
while True:
draw.broadcast ()
drivetrain.drive (FORWARD)
if brain.screen.pressing ():
drivetrain.stop ()
while brain.screen.pressing ():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)Wie Sie sehen können, ist die Schaltfläche so gezeichnet, dass sie den gesamten Bildschirm ab dem (0, 0) -Ursprung einnimmt und alle 480 horizontalen (x-Achse) und 240 vertikalen (y-Achse) Pixel ausfüllt.
