Die Herausforderung der Benutzeroberfläche
In der User Interface Challenge programmieren Sie den Clawbot so, dass ein Benutzer den Bildschirm des Gehirns drücken kann, um die Arm- und Klauenmotoren zu steuern. Dann werden die vier Tasten auf dem Bildschirm verwendet, um eine Vielzahl von zehn Objekten aufzunehmen und zu ersetzen. Diese Herausforderung erfordert nicht, dass der Clawbot fährt oder sich dreht. Die Gegenstände werden aufgenommen und dann an der gleichen Stelle auf dem Tisch oder Boden ersetzt.
Regeln:
- Jede der vier Tasten darf nur eine der vier Aktionen ausführen: Öffnen Sie die Klaue, schließen Sie die Klaue, heben Sie den Arm an oder senken Sie den Arm ab.
- Die Verwendung des Controllers ist nicht zulässig.
- Jeder Clawbot muss so viele Objekte wie möglich innerhalb einer Minute anheben und ersetzen, ohne sie fallen zu lassen. Es wird empfohlen, jeweils einen Gegenstand anzuheben und zu ersetzen.
- Die einminütige Runde endet an der 1-Minuten-Marke oder wenn ein Gegenstand fallen gelassen wird - auch wenn die Runde nur wenige Sekunden dauert. Das Fallenlassen eines Objekts disqualifiziert das Team von der vollen Minute der Runde, aber alle Punkte, die vor dem Fallenlassen verdient wurden, werden gezählt.
- Wenn alle bereitgestellten Objekte vor Ablauf der einminütigen Runde angehoben wurden, können Objekte bis zum Aufruf der Zeit wiederverwendet werden.
- Das Objekt muss höher als der Motor des Arms angehoben werden, bevor es auf den Tisch gelegt wird.
- Jedes Objekt, das erfolgreich gegriffen und angehoben, dann nach unten gehoben und ersetzt wurde, ist einen Punkt wert.
- Zwischen den Runden können die Rollen geändert werden, aber nur ein Benutzer pro Clawbot kann jede Runde spielen.
- Die Gruppe mit den meisten Punkten am Ende aller Runden gewinnt!
Rollen in der Herausforderung:
- Es sollte nur einen Benutzer (den Heber) geben, der die Objekte während jeder Runde anhebt, aber Gruppen können Benutzer zwischen den Runden wechseln.
- Es sollte einen bestimmten Scorekeeper geben , der zählt, wie viele Objekte jeder Clawbot erfolgreich heben kann. Jedes erfolgreich ersetzte Objekt ist einen Punkt wert. Nachdem ein Objekt fallen gelassen wurde, ist der Clawbot am Zug. Es können mehrere Runden gespielt werden. Eine Bewertungstabelle ist hier enthalten, aber Zeilen können für zusätzliche Gruppen und Runden hinzugefügt werden. Jede Gruppe kann ihre eigene Bewertungstabelle verwenden oder jeder kann in der gleichen Tabelle aufzeichnen. Wenn mehrere Gruppen dieselbe Bewertungstabelle verwenden, schreiben Sie die Clawbot-ID oder den Gruppennamen jeder Gruppe in die zweite Spalte. Außerdem sollte der Scorekeeper die Punkte aus jeder Runde am Ende der User Interface Challenge kombinieren, um eine Gesamtpunktzahl zu erhalten.
- Es sollte eine Person vorhanden sein, die Objekte aus der Tabelle schaltet: der Switcher. Da sich der Clawbot nicht dreht oder fährt, muss das angehobene Objekt nach jedem Versuch entfernt und durch ein neues Objekt ersetzt werden.
- Es sollte eine Person geben, die den Überblick über die Zeit behält: der Zeitnehmer. Jede Runde dauert eine Minute.
- Der Lehrer sollte die für diese Herausforderung genehmigten Objekte vor Beginn zur Verfügung stellen.
Lehrertipps
- Erinnere die Schüler daran, dass sie nur den Bildschirm des Klauenbots berühren dürfen.
- Stellen Sie nur Gegenstände zur Verfügung, die für ein mögliches Herunterfallen sicher sind: eine leere Dose oder Wasserflasche, einen Vex-Würfel, ein unbenutztes Stück aus dem Vex-Kit oder alles andere, das durch einen Sturz oder ein Springen nicht dauerhaft beschädigt wird.
- Lassen Sie die Schüler beobachten, wie der Bildschirm jedes Klauenbots aussieht. Die Rechtecke sollten gleich sein, aber die Farben der einzelnen Klauenbots werden sich wahrscheinlich unterscheiden.
- Diskutieren Sie die Meinungen der Schüler über die beste Farbauswahl während oder nach der Herausforderung.
Lehrer-Toolbox
Nachfolgend finden Sie eine beispielhafte Programmierlösung für diese Herausforderung sowie eine Programmierrubrik, eine individuelle Engineering-Notizbuchrubrik und eine Team-Engineering-Notizbuchrubrik.
- Beispiel für eine Programmierlösung
# Begin project code
screen_buttons = Event()
def has_screen_buttons()
: brain.screen.set_fill_color (
Color.GREEN) brain.screen.draw_rectangle (0, 0, 240,
120) brain.screen.set_fill_color (
Color.PURPLE) brain.screen.draw_rectangle (240, 0, 480
, 120) brain.screen.set_fill_color
(Color.ORANGE) brain.screen.draw_rectangle (0, 120,
240, 240)
brain.screen.set_fill_color (Color.CYAN) brain.screen.draw_rectangle (240, 120, 480, 240)
wait
(1, SECONDS) screen_buttons (has_screen
_buttons)
while True: screen_buttons.broadcast ()
if brain.screen.pressing ():
if brain.screen.x_position ( < 240
:
if brain.screen.y_position () < 120: claw_motor.spin (FORWARD)
while brain.screen.pressing ():
wait (5, MSEC)
else: claw_motor.spin (REVERSE)
while brain.screening
():
wait (5, MSEC
)
else: brain.screen.spin ( < 120: brain.screen.spin
(FORWARD): claw_motor.spin (forward)
while brain.screen.spin ()
while brain.screen.pressing ():
wait(5, MSEC
) else:
claw_motor.spin (
REVERSE) while brain.screen.spin ()
- Programmier-Rubrik - Google Doc / .docx / .pdf
- Technische Notizbuch-Rubrik (individuell) - Google Doc / .docx / .pdf
- Technische Notizbuch-Rubrik (Team) - Google Doc / .docx / .pdf