Skip to main content

Lehrer-Toolbox-Symbol Lehrer-Toolbox - Aktivitätsübersicht

  • Diese Erkundung führt die Schüler in die Programmierung sich wiederholender Verhaltensweisen ein, indem sie Wiederholungsschleifen oder Endlosschleifen verwenden.

  • Wenn die Schüler lernen, mit wiederholten und ewigen Schleifen zu programmieren, können sie Zeit sparen, wenn sie ein Projekt erstellen, das dieselben wiederholten Aktionen verwendet. Weitere Informationen zu den Anweisungen, die in einem Textprojekt verwendet werden, finden Sie in den  Hilfeinformationen.

Der Clawbot V5 ist einsatzbereit!

Diese Erkundung gibt Ihnen die Werkzeuge an die Hand, um mit der Erstellung einiger cooler Projekte zu beginnen, die Loops verwenden.

  • VEXcode V5 Python-Anweisungen, die in dieser Erkundung verwendet werden:
    • drivetrain.drive_for(VORWÄRTS, 300, MM)
    • drivetrain.turn_for(RECHTS, 90, GRAD)
    • klaue_motor.spin_for(RÜCKWÄRTS, 70, GRAD)
    • arm_motor.spin_for(VORWÄRTS, 360, GRAD)
    • bumper_b.pressing()
    • während True: 
    • für repeat_count im Bereich(4): 
    • warten(5, SEKUNDEN)

Sie können die Hilfeinformationen in VEXcode V5 verwenden, um mehr über einzelne Python-Befehle zu erfahren. 

Bild, das den VEXcode V5-Arbeitsbereich mit den Hilfehinweisen für den geöffneten Drive-Befehl zeigt

Lehrer-Tipps-Symbol Lehrertipps

Wenn der Schüler zum ersten Mal VEXcode V5 verwendet, kann er eine Vielzahl von Artikeln in der VEX-BIBLIOTHEK lesen.

Bild des VEXcode V5-Abschnitts der VEX-Bibliothek

Lehrer-Tipps-Symbol Lehrertipps - Verwenden der automatischen Vervollständigung

Die automatische Vervollständigung ist eine Funktion in VEXcode V5, die den Rest des Befehls vorhersagt, den Sie eingeben. Während die Schüler in VEXcode V5 arbeiten, ermutigen Sie sie, die Autovervollständigungsfunktion zu verwenden, um bei der Python-Syntax zu helfen. Möglicherweise bemerken Sie eine Autovervollständigungsfunktion, wenn Sie mit der Eingabe der Anweisung beginnen. Verwenden Sie die Tasten "Auf" und "Ab", um den gewünschten Namen auszuwählen, und drücken Sie dann "Tab" oder (Enter/Return) auf Ihrer Tastatur, um die Auswahl zu treffen. Weitere Informationen zur Verwendung der automatischen Vervollständigung finden Sie im Python-Artikel.

Bild der Autovervollständigungsfunktion in einem Python-Projekt

Stellen Sie sicher, dass Sie die erforderliche Hardware, Ihr technisches Notizbuch und VEXcode V5 heruntergeladen und 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-Vorlage (Antrieb 2-Motor, kein Kreisel) Beispielprojekt

Schritt 1:  Beginnen wir mit der Programmierung mit Schleifen

  • Bevor Sie mit Ihrem Projekt beginnen, wählen Sie das richtige Vorlagenprojekt aus. Das Beispielprojekt Clawbot Template (Drivetrain 2-motor, No Gyro) enthält die Motorkonfiguration des Clawbots. Wenn die Vorlage nicht verwendet wird, führt Ihr Roboter das Projekt nicht korrekt aus.
  • Wählen Sie Datei und Öffnen Sie Beispiele.

    Bild, das das in VEXcode V5 geöffnete Dateimenü zeigt, das die Option Beispiele öffnen zeigt

     

  • Blättern Sie durch die verschiedenen  Beispielprojekte. Diese Projekte zeigen eine Vielzahl von Aktionen, die Ihr Clawbot ausführen kann. Wählen Sie das Beispielprojekt Clawbot Template (Drivetrain 2-motor, No Gyro) aus und öffnen Sie es.

    Bild zeigt die Beispielprojekte mit einem roten Kästchen um das Speedbot (Drivetrain 2-motor, No Gyro) Template Project

     

  • Benennen Sie das Projekt RepeatingActions.

    Bild mit dem Projektnamen für sich wiederholende Aktionen in VEXcode V5

  • Geben Sie den folgenden Code ein:

    # Library import
    from vex import *
    
    # Begin project code
    # Drives forward 300mm turns 90 degrees for 4 iterations
    
    for repeat_count in range(4):
        drivetrain.drive_for(FORWARD, 300, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)
        wait(5, SECONDS)

Sehen Sie sich das Projekt an und führen Sie dann die folgenden Schritte in Ihrem technischen Notizbuch durch.

  1. Sagen Sie voraus, was der Clawbot für das Projekt tun wird. Erklären Sie mehr als die Tatsache, dass sich das Projekt wiederholt.

    Was wiederholt sich? Was macht der Clawbot?

  2. Schreiben Sie Ihre Vorhersage, aber teilen Sie das kurze Projekt nicht in mehr als zwei Teile.

Lehrer-Toolbox-Symbol Lehrer-Toolbox - Antworten

  1. Dieses Projekt wird den Roboter haben: 300 Millimeter vorwärts fahren, 90 Grad nach rechts drehen und dann 4 Mal 5 Sekunden warten, um ein Quadrat zu vervollständigen. Anstatt die gleichen 3 Anweisungen 4 Mal zu verwenden, reduziert die  Wiederholungsanweisung die Menge auf nur ein Mal. Die  Wiederholungsanweisung wiederholt die Aktionen des Vorwärtsfahrens und dann des Drehens.

  2. Die Vorhersage könnte einfach lauten: "Der Clawbot bewegt sich in einem Quadrat." Dies wäre eine prägnante Möglichkeit, die wiederholten Bewegungen des Klauenbots einzufangen, ohne dass es an Kontext mangelt.

Die technischen Notizbücher der Schüler können einzeln oder im Team gepflegt und bewertetwerden. 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.

  • Speichern, Herunterladen und Ausführen des Projekts Wiederholungsaktionen.

    Screenshot mit dem Projekttitel Wiederholungsaktionen in VEXcode V5

  • Überprüfen Sie Ihre Erläuterungen zum Projekt in Ihrem technischen Notizbuch und fügen Sie Notizen hinzu, um sie bei Bedarf zu korrigieren.

Schritt 2: Führen Sie das Projekt aus und beobachten Sie den Roboter

Ein Vergleich von zwei Python-Code-Snippets für Vex-Roboter. Der obere Ausschnitt verwendet den Sensoreingang, um zu bestimmen, wann er sich drehen soll, wobei eine kleine Schleife überprüft, ob der Stoßfängerschalter gedrückt ist. Wenn er gedrückt wird, dreht sich der Roboter um 90 Grad nach rechts, andernfalls fährt er vorwärts. Der untere Ausschnitt verwendet einen festen Abstand, um zu bestimmen, wann er gedreht werden soll, mit einer for-Schleife, die den Roboter 300 mm vorwärts fährt, um 90 Grad nach rechts dreht und 5 Sekunden wartet, wobei diese Sequenz viermal wiederholt wird

Schauen Sie sich das Projekt Wiederholungsaktionen (das zweite Projekt) noch einmal an. Dieses Projekt wiederholt das Vorwärts- und dann das Wendeverhalten viermal. Eine "Wiederholungs" -Schleifenstruktur (mit einer  for-Schleife) wird verwendet, wenn Sie eine Reihe von Verhaltensweisen eine bestimmte Anzahl von Malen verwenden möchten.

Wenn die Wiederholungsstruktur durch eine while-Schleifenstruktur ersetzt wird , wiederholt der Roboter das Vorwärts- und dann das Wendeverhalten, "während" die Bedingung wahr ist. Sie können die Bedingung auch auf "true" setzen, damit die  while-Schleife für immer fortgesetzt wird.

Im ersten Projekt wird der Eingang eines Sensors verwendet, um zu bestimmen, wann mit dem Drehen begonnen werden soll. Das Projekt auf der rechten Seite verwendet einen festen Antriebsstrangabstand, um zu bestimmen, wann mit dem Abbiegen begonnen werden soll.

Um die Eingabe eines Sensors kontinuierlich zu überprüfen, wird eine if else -Anweisung zusammen mit einer while -Schleife verwendet. Im Projekt links dreht der Roboter nach rechts, wenn der Sensor „bumper_b“ gedrückt wird, ansonsten fährt der Roboter für immer vorwärts, wenn der Sensor „bumper_b“ nicht gedrückt wird. Um den Wert des Bumper_b-Sensors kontinuierlich zu überprüfen, liegt die if-Anweisung innerhalb einer  while-Schleife.

Das erste Projekt ist ein praktischer Anwendungsfall einer Struktur, die sich für immer wiederholt – unter Verwendung von  while-Schleifen und  if-Anweisungen zusammen. Stellen Sie sich eine selbstfahrende Kehrmaschine vor, die weiter vorwärts fährt, bis sie gegen eine Wand oder ein Objekt läuft, und sich dann dreht, bevor sie weiterfährt.

Erweitern Sie Ihr Lernsymbol Erweitern Sie Ihr Lernen

Um weiter zu erforschen, wie Sie Schleifen mit Bedingungen verwenden können, lassen Sie die Schüler ein Floor Sweeper-Projekt in VEXcode V5 erstellen.

  • Beginnen Sie damit, dass die Schüler die Stoßstangenschalter montieren und verkabeln.
  • Bitten Sie die Schüler, das Beispielprojekt Clawbot Template (Drivetrain 2-motor, No Gyro) zu öffnen.

     

  • Lassen Sie die Schüler den 3-Draht-Stoßfängerschalter in VEXcode V5 konfigurieren, wählen Sie das 3-Draht-Gerät aus, das Sie für den STOSSFÄNGER verwenden, und wählen Sie den Anschluss für B aus.Abbildung der Gerätekonfiguration in VEXcode V5 mit hervorgehobener Bumper-OptionAbbildung der Gerätekonfiguration für den Stoßfängerschalter mit markiertem Port B
     
  • Lassen Sie die Schüler das Projekt Bodenkehrer nennen.

  • Bitten Sie die Schüler, das folgende Projekt zu erstellen.

    # Library import
    from vex import *
    
    import random
    
    # Begin project code
    while True:
        while (not bumper_b.pressing ()):
            drivetrain.drive (FORWARD)
            wait(5, MSEC)
        
        drivetrain.stop ()
    
        #The random.randomint () method returns a random integer number between the specified range
        #Pass the min and max values of the range to the parameters
        drivetrain.turn_for (RIGHT, (90+random.randint (0, 90)),DEGREES)
        wait(5, MSEC)

Wenn die Schüler Hilfe bei einer der Anweisungen benötigen, verweisen Sie sie auf die  Hilfeinformationen.

Bitten Sie die Schüler, das Projekt herunterzuladen und auszuführen , um zu beobachten, wie sich der Roboter bewegt. Beginnen Sie dann eine Unterrichtsdiskussion und bitten Sie die Schüler zu erklären, warum die Forever-Struktur anstelle einer  Wiederholungsstruktur verwendet wurde.

Die Schüler sollten beachten, dass eine  Forever-Struktur verwendet wird, da bei diesem Projekt kontinuierlich überprüft wird, ob der Stoßfängerschalter gedrückt wird.

Schritt 3: Die Squared Loops-Herausforderung!

Ein Diagramm, das einen grünen quadratischen Weg mit Pfeilen zeigt, die die Bewegungsrichtung um das Quadrat anzeigen. Zusätzliche orangefarbene Pfeile außerhalb des Quadrats zeigen in verschiedene Richtungen, entsprechend den Drehungen und Bewegungen, die erforderlich sind, um dem Pfad zu folgen

  • Lassen Sie Ihren Clawbot in einem Quadrat fahren.
  • Vor jeder Umdrehung muss die Klaue geöffnet und geschlossen und der Arm angehoben und abgesenkt werden.
  • Der Clawbot kann nicht mehr als einmal entlang einer Seite des Platzes fahren.
  • Sie können das RepeatingActions-Projekt von oben als Ausgangspunkt verwenden, aber als SquaredLoops speichern , bevor Sie Änderungen vornehmen.

Bild mit dem Projektnamen Squared Loops in der Symbolleiste in VEXcode V5

Planen Sie in Ihrem technischen Notizbuch Folgendes:

  • Planen Sie Ihre Lösung und sagen Sie voraus, was der Clawbot für jede Anweisung in Ihrem Projekt tun wird.
  • Laden Sie Ihr Projekt herunter und führen Sie es aus, um es zu testen, bevor Sie es einreichen.
  • Nehmen Sie bei Bedarf Änderungen am Projekt vor und notieren Sie sich, was während des Tests geändert wurde.

Lehrer-Toolbox-Symbol Lehrer-Toolbox - Lösung

Das Folgende ist eine mögliche Lösung für die Squared Loops Challenge:

# Library import
from vex import *

# Begin project code
for repeat_count in range(4):
    drivetrain.drive_for(FORWARD, 300, MM)
    claw_motor.spin_for(REVERSE, 70, DEGREES)
    arm_motor.spin_for(FORWARD, 360, DEGREES)
    claw_motor.spin_for(FORWARD, 70, DEGREES)
    arm_motor.spin_for(REVERSE, 360, DEGREES)
    drivetrain.turn_for(RIGHT, 90, DEGREES)
    wait(5, MSEC)

Sie können den Studierenden eine Programmierrubrik  zur Bewertung ihrer Projekte zur Verfügung stellen. Die technischen Notizbücher der
Schüler können einzeln oder im Team gepflegt und bewertetwerden.