Skip to main content

Lehrer-Toolbox-Symbol 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-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 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.

VEXcode V5 mit einem Laufwerk für Befehl in den Arbeitsbereich auf der linken Seite eingegeben, und die Hilfe-Informationen öffnen sich auf der rechten Seite. Die Hilfe zeigt eine Definition des Befehls und Informationen darüber, wie er verwendet wird.

Stellen Sie sicher, dass Sie die erforderliche Hardware, Ihr technisches Notizbuch und VEXcode V5 bereit haben.

Erforderliches Material:
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

Lehrer-Tipps-Symbol 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.

VEXcode V5-Symbolleiste mit Tutorials, die in einem roten Feld hervorgehoben sind. Die Symbolleiste zeigt von links nach rechts das V5-Logo, ein Globussymbol, Datei und Tutorials. Rechts neben Tutorials befinden sich zusätzliche Symbole und Funktionen.

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).
Screenshot of the linked article titled Using If else statements in VEXcode V5 Python.
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).

Screenshot des verlinkten Artikels mit dem Titel Using Booleans in VEXcode V5 Python.

Schritt 2: Beginnen wir mit der Programmierung mit bedingten Anweisungen.

  • Öffnen Sie das Beispielprojekt Clawbot (Drivetrain 2-motor, No Gyro).

    Beispielprojekte in VEXcode V5 mit dem Vorlagenfilter und dem Clawbot Drivetrain 2-Motor kein Gyrosymbol mit einem roten Kästchen markiert, das angibt, welches Projekt geöffnet werden soll.

     

  • 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.
    Das Dialogfeld Projektname in der VEXcode V5-Symbolleiste lautet Erstellen einer Stoppschaltfläche und zeigt an, dass Steckplatz 1 ausgewählt ist.
  • Überprüfen Sie Ihre Erläuterungen zum Projekt und fügen Sie Notizen hinzu, um sie bei Bedarf zu korrigieren.

Lehrer-Toolbox-Symbol 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.Die Funktion der Befehle im Projekt Stop oder Drive sind beschriftet. Die if-Anweisung wird als Checks (Prüft, ob die Bedingung wahr ist) bezeichnet - prüft, ob der Bildschirm gedrückt wird. Die darunter eingerückten Blöcke sind beschriftet. Wenn die Bedingung wahr ist, wird der Codeblock ausgeführt. Der Befehl zum Drücken des Gehirnbildschirms ist mit gekennzeichnet und steuert die Verarbeitungsgeschwindigkeit.

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.Das Dialogfeld Projektname in der VEXcode V5-Symbolleiste liest Stop oder Drive und zeigt an, dass Steckplatz 1 ausgewählt ist.
  • 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.

Das Fenster Slotauswahl wird in der VEXcode V5-Symbolleiste geöffnet und Slot 2 wird ausgewählt und mit einem roten Kästchen hervorgehoben.

  • 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-Symbol 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 Lernsymbol 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: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.

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.