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.
Lehrertipps
Wenn der Schüler zum ersten Mal VEXcode V5 verwendet, kann er eine Vielzahl von Artikeln in der VEX-BIBLIOTHEK lesen.
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.
Stellen Sie sicher, dass Sie die erforderliche Hardware, Ihr technisches Notizbuch und VEXcode V5 heruntergeladen und 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-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.
-
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.
-
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.
-
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?
- Schreiben Sie Ihre Vorhersage, aber teilen Sie das kurze Projekt nicht in mehr als zwei Teile.
Lehrer-Toolbox
-
Antworten
-
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.
-
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.
- Ü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
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 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.
-
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!
- 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.
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
-
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.