Der Controller als Benutzeroberfläche
![VEXcode IQ Projekt mit 3 Hutblöcken. Auf der linken Seite, die am Block Wenn gestartet befestigt ist, werden zuerst die Blöcke zum Einstellen des Armmotors und des Klauenmotors angehalten, um eine eingestellte Klauenmotorgeschwindigkeit auf 60 % und eine eingestellte Armmotorgeschwindigkeit auf 30 % zu halten. Dann enthält eine Forever-Schleife einen if then else-Block. Der if-Block liest If Controller R Up (Wenn Controller R nach oben gedrückt), dann drehen Sie den Klauenmotor zu. Der else-Zweig enthält einen If then else-Block, der lautet: If Controller R Down press then spin claw motor open, else stop clawmotor. Rechts a Wenn der Event-Block des Reglers L nach oben gedrückt wird und der Motor des Schleuderarms nach oben gedreht wird, warten Sie, bis der Regler L nach oben gedrückt wird, und stoppen Sie die angebrachten Motorblöcke. Darunter, dass ein Wenn Controller L Abwärts-Taste gedrückt Event-Block hat einen Spin Arm Motor nach unten, warten, bis nicht Controller L Abwärts gedrückt, Stopp Arm Motor angebracht.](/stemlabs/sites/default/files/inline-images/Controller%20Buttons.png)
Fernsteuerung des Roboters
Meistens verwenden wir Fernbedienungen, um mit unseren Fernsehern zu interagieren. Wir drücken Tasten, die das Fernsehbild zu einem Kanal oder Informations-/Zugriffsbildschirm machen, den wir wollen. Technisch gesehen ist die Fernbedienung Ihres Fernsehers eine Benutzeroberfläche. Es ist jedoch eine viel weniger anspruchsvolle Benutzeroberfläche als die, die Ihr Smartphone verwendet.
Die Programmierung Ihres IQ-Controllers ist viel ausgefeilter. Während der fahrerkontrollierten Spiele eines Wettbewerbs möchten Sie, dass Ihr Fahrer/Team so viele Vorteile wie möglich hat. Sie können die Tasten und Joysticks so programmieren, dass sie mehr als ein einfaches Verhalten ausführen, und Sie können sie so programmieren, dass sie komplexe Verhaltensweisen ausführen, wenn Tasten/Joysticks in Kombination verwendet werden - ähnlich wie bei einigen Gaming-Controllern. Als Programmierer Ihres Controllers überlegen Sie, welche Tasten Sie in Kombination verwenden sollten, indem Sie herausfinden, wie Ihre Finger und Hände platziert werden müssen, um alle beteiligten Tasten zu erreichen.
Das Bild oben zeigt das Projekt aus dem Controller Buttons-Beispielprojekt von VEXcode IQ. Siehst du, wie in der [Forever] -Schleife zwei [If then else] -Blöcke verschachtelt sind? Es lässt das Projekt überprüfen, ob die R Up- oder R Down-Tasten gedrückt sind, und der Roboter dreht den Klauenmotor geschlossen oder geöffnet, je nachdem, ob einer gedrückt wird. Diese [Forever] -Schleife ist sehr wichtig. Es lässt Ihren IQ-Controller wiederholt überprüfen, welche Taste(n) gedrückt wird/werden, damit der Roboter das/die entsprechende (n) Verhalten(e) ausführt.
Bedenken Sie, dass Sie zwei <Controller Pressed> Erfassungsblöcke in <and> einen Bedienerblock einfügen könnten. Das würde das Projekt prüfen lassen, wenn zwei Tasten gedrückt würden. Sie können auch einen <and> Block in einen anderen <and> Block einfügen und drei Bedingungen überprüfen lassen, bevor ein Verhalten ausgeführt wird. Auf diese Weise können Sie Verhaltensabläufe programmieren, die einfach durch Drücken von Tasten auf Ihrem Controller gestartet werden können.
Überlegen Sie, wie viele weitere Kombinationen von Bedingungszeichen Sie mit allen Schaltflächen und deren Kombinationen auf dem Controller erstellen könnten. Wenn Sie komplexere Verhaltensweisen in die Funktionsweise des Controllers programmieren, kommt das Projekt natürlich der Autonomie des Roboters näher. Ein Wettbewerbsteam muss herausfinden, welche Verhaltensweisen am besten als komplexe Sequenzen in seine Controller programmiert werden und welche Verhaltensweisen am besten in mehrere Teile zerlegt werden, damit der Controller dem Fahrer (Benutzer) mehr Kontrolle über die Geschwindigkeit und Genauigkeit des Verhaltens gibt.
Lehrertipps
-
Modellierung
Modellieren Sie, wie man <and> Blöcke für Schüler kombiniert, wenn sie Schwierigkeiten haben, sich vorzustellen, <and> Blöcke so zu kombinieren, dass sie mehr als eine Bedingung enthalten. Hier ist ein Beispiel:
Dieses Beispiel zeigt nur den ersten Befehlsblock und die Hälfte des nächsten, aber es könnte eine ganze Reihe von Verhaltensweisen geben, die der Roboter ausführen muss, wenn diese drei Tasten (E Down, F Up und F Down) alle gedrückt werden.
Diskussion motivieren
Jedes Jahr fordert VEX seine Benutzer mit einem neuen Spiel heraus. Teams treten in Spielen an, die aus einer einminütigen (60 Sekunden) autonomen Phase (ohne Controller) bestehen, gefolgt von einer einminütigen (60 Sekunden) fahrergesteuerten Phase (Controller). Einige Schüler haben möglicherweise schon einmal an Robotik-Wettbewerben teilgenommen, entweder als Teil eines Vereins oder eines Teams. Die folgenden Fragen bitten die Schüler, ihre Erfahrungen und/oder Interessen an Wettbewerben mitzuteilen.
F: Hat jemand hier oder jemand, den Sie kennen, an einem Robotik-Wettbewerb teilgenommen?
A: Ermutigen Sie die Schüler, die sich beworben haben, ihre Erfahrungen zu teilen. Führe weitere Fragen wie „Welchen Roboter hast du verwendet?“ und/oder „Was war dein Lieblingsteil der Entdeckung?“ durch.
F: Ist jemand daran interessiert, mehr über den diesjährigen VEX-Wettbewerb/das diesjährige VEX-Spiel ZU erfahren?
A: Wenn die Schüler mit Ja antworten, können Sie sie auf die Website des VEX-Wettbewerbs verweisen und das Video der diesjährigen Herausforderung zeigen.