Dieser Sensor ist ein Schalter. Es teilt dem Roboter mit, ob sein Stoßfänger gedrückt (Sensorwert 1) oder losgelassen (Sensorwert 0) ist.
Funktionsweise des Stoßfängerschalters: Schließen des Stromkreises
Der VEX IQ Bumper Switch basiert auf dem wahrscheinlich am häufigsten verwendeten elektrischen Gerät: dem Schalter. Ein Schalter besteht aus zwei Anschlüssen (Anschlüssen für einen Draht) und einer Drahtbrücke, um die Verbindung herzustellen, wenn der Schalter gedrückt wird. Wie in dieser Animation gezeigt, schließen Sie den Stromkreis, wenn Sie auf das Verbindungskabel drücken, und das Robotergehirn registriert dies in Ihrem Programm!
Grundsätzlich ist der Stoßstangenschalter Teil eines Stromkreises, der nicht angeschlossen oder unterbrochen ist. Wenn Sie den Stoßstangenschalter drücken, wird die Verbindung hergestellt und der Strom kann fließen.
Häufige Verwendungen des Stoßfängerschalters
- Dieser Sensor kann beim Drücken oder Loslassen eine Roboteraktion auslösen.
- Dieser Sensor kann als Umschalter verwendet werden, um Motoren durch Drücken ein- und auszuschalten, wie in der Animation unten gezeigt.
- Dieser Sensor kann Wände oder Objekte erkennen, wenn der Stoßfänger dagegen fährt, wie in der Animation unten gezeigt.
- Der Sensor kann andere Teile des Roboters erkennen, beispielsweise einen Arm, wenn dieser auf den Stoßfänger drückt.
Verwendung des Stoßfängerschalters an einem Wettkampfroboter
- Im autonomen Modus kann ein Stoßschalter verwendet werden, sodass Ihr Roboter mit der Ausführung einer bestimmten Aktion wartet, bis er von einem Gegenstand gedrückt wird.
- Der Bumper Switch kann erkennen, wenn er mit einer Oberfläche wie einer Außenwand oder einem Objekt wie einer Spielfigur in Kontakt kommt.
- Es können zwei Bumper Switches verwendet werden, beispielsweise an der Vorderseite und an der Seite des Roboters, damit sich der Roboter in einer Ecke positionieren kann. Dann kann der Roboter von dieser Ecke aus genauer zu anderen Positionen auf dem Wettkampffeld navigieren.
- Mithilfe eines Stoßfängerschalters können Sie Ihren Roboter erkennen lassen, wenn ein Teil von ihm, beispielsweise sein Arm, mit einem anderen Teil, beispielsweise seinem Chassis, in Kontakt kommt.
Verwenden des Stoßfängerschalters in VEXcode IQ
Hinzufügen des Stoßfängerschalters als Gerät in VEXcode IQ
Um den Bumper-Schalter in einem VEXcode IQ zu codieren, müssen Sie zunächst den Bumper-Schalter konfigurieren. Sehen Sie sich diesen Artikel an, um mehr über die Konfiguration eines Sensors in VEXcode IQ zu erfahren.
Sobald der Bumper Switch konfiguriert ist, werden in der Toolbox Befehle angezeigt, die Sie in Ihrem Projekt verwenden können.
Kodierung des Stoßfängerschalters in Blöcken
Der <Pressing bumper> Block ist ein boolescher Reporterblock, der eine Bedingung entweder als wahr oder falsch meldet. Boolesche Blöcke wie der <Pressing bumper> Block passen in Blöcke mit hexagonalen (sechsseitigen) Eingängen für andere Blöcke.
Der boolesche Block <Pressing bumper> meldet „wahr“, wenn der Stoßfänger gedrückt wird, und „falsch“, wenn der Stoßfänger losgelassen oder nicht gedrückt wird. Um mehr über boolesche Blöcke zu erfahren, besuchen Sie den Artikel Hilfe oder Blockformen und Bedeutung.
In diesem Beispiel wird der <Pressing bumper> -Block mit einem [Warten bis]-Block verwendet, um den Roboter vorwärts fahren zu lassen, bis der Stoßfängerschalter gedrückt wird, wie in den Videos oben gezeigt.
Codierung des Bumper-Schalters in Python
Hinweis:Um einen VEX IQ (1. Generation) Bumper Switch in Python zu programmieren, muss er mit einem VEX IQ (2. Generation) Brain verbunden werden. Das VEX IQ (1. Generation) Brain unterstützt Python nicht.
Bumper_1.pressing()
Der Befehl Bumper.pressingmeldet einen booleschen Wert von „true“ oder „false“ über den Bumper-Schalter.
Der Befehl Bumper.pressing meldet „true“, wenn der Bumper gedrückt wird, und „false“, wenn der Bumper losgelassen oder nicht gedrückt wird.
Hinweis:Der im Befehl angezeigte Name des Bumper Switch entspricht dem Namen, der ihm in der Konfiguration zugewiesen wurde.
drivetrain.drive(FORWARD)
während nicht Bumper_1.pressing():
wait(20, MSEC)
drivetrain.stop()
In diesem Beispiel wird eineWhile Schleife mit einer nicht Bedingung mit dem Bumper verwendet. Durch Drücken des Befehlsfährt der Roboter vorwärts, bis der Bumper-Schalter gedrückt wird, wie in den Videos oben gezeigt .