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-Anweisungen, die bei dieser Erkundung verwendet werden:

    • Drivetrain.driveFor(vorwärts, 300, mm);

    • Drivetrain.turnFor(rechts, 90, Grad);

    • ClawMotor.spinFor(rückwärts, 70, Grad);

    • ArmMotor.spinFor(vorwärts, 360, Grad);

    • while (true) {}

    • wiederholen (4) {}

    • warten(5, Sekunden);

Um auf zusätzliche Informationen zuzugreifen, klicken Sie mit der rechten Maustaste auf einen Befehlsnamen in Ihrem Arbeitsbereich, um Hilfe zu diesem Befehl anzuzeigen.

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. Wenn die Schüler in VEXcode V5 arbeiten, empfehlen Sie ihnen, die Autovervollständigungsfunktion zu verwenden, um bei der Syntax zu helfen.

Der Artikel Autovervollständigung - Tutorials behandelt die Verwendung der Autovervollständigungsfunktion. Weitere Informationen finden Sie in den Tutorial-Videos in VEXcode V5.

Wählen Sie das Tutorial Autovervollständigung.

 

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.

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

     

  • Wählen Sie Datei und Öffnen Sie Beispiele.
  • 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.

     

  • Benennen Sie das Projekt RepeatingActions.

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

  • Geben Sie den folgenden Code ein:

    int main() {
      // Roboterkonfiguration wird initialisiert. NICHT ENTFERNEN!
      vexcodeInit();
    
      //Vorwärtsfahren und Drehen um 90 Grad für 4 Iterationen 
      wiederholen(4){
        Drivetrain.driveFor(forward, 300, mm);
        Drivetrain.turnFor(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.

    Abbildung des Projektnamens für sich wiederholende Aktionen in der Symbolleiste 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 C++ -Codeausschnitten in VEXcode. Der linke Ausschnitt verwendet den Sensoreingang, um zu bestimmen, wann er sich drehen soll, mit einer while-Schleife, die ü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. Das rechte Snippet verwendet einen festen Abstand, um zu bestimmen, wann es gedreht werden soll, mit einer Wiederholungsschleife, 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 (rechts) noch einmal an. Dieses Projekt wiederholt das Vorwärts- und dann das Wendeverhalten viermal. Eine "Wiederholungs" -Schleifenstruktur 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 Projekt auf der linken Seite wird der Eingang eines Sensors verwendet, um zu bestimmen, wann mit dem Abbiegen 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 „BumperB“ gedrückt wird, ansonsten fährt der Roboter für immer vor, wenn der Sensor „BumperB“ nicht gedrückt wird. Um den Wert des BumperB-Sensors kontinuierlich zu überprüfen, befindet sich die "if" -Anweisung innerhalb einer "while true" -Schleife.

Das obige Projekt auf der linken Seite 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, 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 das Projekt Bodenkehrer nennen.

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

    // Include the V5 Library
    #include "vex.h"
      
    // Ermöglicht eine einfachere Verwendung der vex Library
    mit dem Namespace vex;
    
    // Die Funktion pickRandom gibt eine zufällige ganze Zahl zwischen den als Parameter übergebenen Min- und
    // Max-Werten zurück.
    int pickRandom(int min, int max) {
      return min + rand() / (RAND_MAX / (max - min + 1));
    }
    
    int main() {
      // Roboterkonfiguration wird initialisiert. NICHT ENTFERNEN!
      vexcodeInit();
    
      / /Initialisieren Sie den Zufallszahlengenerator.
      srand(randomSeed);
    
      while (true) {
        while (!BumperB.pressing()) {
          Drivetrain.drive(forward);
          wait(5, msec);
        }
        Drivetrain.stop();
        Drivetrain.turnFor((90 + pickRandom(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.

Abbildung des Projektnamens Squared Loops in der VEXcode V5 Toolbar

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:

int main() {
  // Roboterkonfiguration wird initialisiert. NICHT ENTFERNEN!
  vexcodeInit();

  repeat(4){
    Drivetrain.driveFor(vorwärts, 300, mm);
    ClawMotor.spinFor(rückwärts, 70, Grad);
    ArmMotor.spinFor(vorwärts, 360, Grad);
    ClawMotor.spinFor(vorwärts, 70, Grad);
    ArmMotor.spinFor(rückwärts, 360, Grad);
    Drivetrain.turnFor(rechts, 90, Grad);
    wait(5, ms);
  }
}

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.