Ereignisbasierte Programmierung: Kommunikation zwischen Anweisungen – Python
Lehrer-Toolbox
-
Der Zweck dieses Abschnitts
Das Ziel des Abschnitts „Überdenken“ besteht darin, dass die Schüler mithilfe ereignisbasierter Programmierung Tasten auf dem Controller verwenden.
Dieser Abschnitt umfasst:
-
Übersicht über ereignisbasierte Programmierung
-
Beispielprojekt Download Anleitung & Übersicht
-
Remix-Aktivitäten:
-
Schnapp dir einen Gegenstand!
-
Farbige Edelsteine
-
Staffellauf!
-
-
Remix-Fragen
Tipps für Lehrer
- Um Zeit zu sparen, kann der Controller vor dem Unterricht mit dem Robot Brain gekoppelt werden. Entscheiden Sie, ob Sie diesen Schritt selbst durchführen möchten oder ob dies von den Studierenden durchgeführt werden soll. Befolgen Sie die Schritte hier. Sie können diesen Artikel für die Schüler ausdrucken, wenn Sie möchten, dass sie den Controller mit dem Brain koppeln.
- Durch ereignisbasierte Programmierung kann der Clawbot Ereignisse auslösen oder auf Auslöser reagieren. Diese Art der Programmierung ermöglicht es einem Befehl, mit anderen Befehlen zu kommunizieren.
-
Mit anderen Worten: Der Clawbot reagiert auf die Bewegungen der Joysticks des Controllers. Die Bewegung des Joysticks ist der Auslöser und der Clawbot reagiert entsprechend.
# Library imports from vex import * # Begin project code # Create callback functions for each controller button event def controller_L1_Pressed(): arm_motor.spin(FORWARD) while controller_1.buttonL1.pressing(): wait(5, MSEC) arm_motor.stop() # Create Controller callback events - 15 msec delay to ensure events get registered controller_1.buttonL1.pressed(controller_L1_Pressed) wait(15, MSEC)Im obigen Beispiel ist das Drücken der Taste L1 der Auslöser, der den Armmotor hochdreht.
Weitere Informationen zu den Anweisungen finden Sie in den Python Hilfeinformationen.

Ereignisbasierte Programmierung
Wenn Ihr Hund Ihnen seine Leine bringt oder an der Tür sitzt, zeigt er Ihnen, dass er raus muss. Wenn Ihr Lehrer in der Schule eine Frage stellt und sieht, dass Sie die Hand heben, geht er davon aus, dass Sie die Antwort kennen und die Frage gern beantworten würden. Diese Verhaltensweisen werden auch als „Auslöser“ bezeichnet.
Ihr Hund weiß, dass er Ihnen signalisiert, dass er raus muss, wenn er Ihnen die Leine bringt oder an der Tür sitzt. Wenn Sie ihn also mit seiner Leine an der Tür sitzen sehen, reagieren Sie auf den Auslöser, indem Sie mit ihm nach draußen gehen. Durch das Heben der Hand signalisieren Sie dem Lehrer, dass Sie die Frage beantworten möchten. Der Lehrer reagiert dann auf den Auslöser, indem er Sie aufruft.
Bei der ereignisbasierten Programmierung in der Robotik werden bestimmte Verhaltensweisen des Roboters dazu veranlasst, bestimmte Dinge zu tun oder auf bestimmte Auslöser zu reagieren.
Lehrer-Toolbox
-
Überprüfung der Anweisungen
- Öffnen Sie das Beispielprojekt „Clawbot-Controller mit Ereignissen“ in VEXcode V5.

- Gehen Sie die Programmieranweisungen gemeinsam mit den Schülern als Aktivität für die gesamte Klasse durch. Erklären Sie den Schülern, dass im Projekt „Clawbot-Controller mit Ereignissen“ mehrere Ereignisse gleichzeitig ausgelöst werden können, sodass sie die Fahrbewegung des Clawbots sowie die Bewegung des Arms und der Klaue des Clawbots steuern können.
Steuerung: Clawbot-Steuerung
Jetzt können Sie das Beispielprojekt „Clawbot-Controller mit Ereignissen“ erkunden und mit dem Controller den Clawbot, seinen Arm und seine Klaue gleichzeitig steuern!

Stellen Sie sicher, dass Sie über die erforderliche Hardware und Ihr Engineering-Notizbuch verfügen. Öffnen Sie VEXcode V5.
| Menge | Benötigte Materialien |
|---|---|
| 1 |
Klauenbot |
| 1 |
Aufgeladener Roboterakku |
| 1 |
VEX V5 Radio |
| 1 |
Regler |
| 1 |
Haltekabel |
| 1 |
VEXcode V5 |
| 1 |
USB-Kabel (bei Verwendung eines Computers) |
| 1 |
Technisches Notizbuch |
Bevor Sie mit der Aktivität beginnen...
Haben Sie alle diese Artikel bereit? Der Erbauer sollte jedes der folgenden Elemente überprüfen:
-
Sind alle Motoren und Sensoren an den richtigen Port angeschlossen?
-
Sind die Smart Cables bei allen Motoren vollständig eingesteckt?
-
Ist der Akku vollständig geladen?