Verwendung des Abstandssensors VEX IQ (1. Generation).

Beschreibung

Dieser Sensor meldet den Abstand zwischen ihm und dem nächsten festen Objekt (50 mm – 1 m Reichweite). Es berechnet die Entfernung anhand der Zeit, die Ultraschallwellen benötigen, um von einem Objekt abzuprallen und zum Sensor zurückzukehren.


So funktioniert der Distanzsensor: Auf Distanz achten

Der Abstandssensor verwendet zur Schallmessung die gleichen Prinzipien wie Sonargeräte. Es sendet mit seinem Sender auf einer Seite des Sensors einen winzigen Ultraschallimpuls aus und misst dann, wie lange es dauert, bis der Schall vom Empfänger auf der anderen Seite des Sensors zurückreflektiert wird. Der Sensor berechnet die Entfernung anhand der Zeit, die der Schallimpuls für den Hin- und Rückweg benötigt hat. Der Abstandssensor führt dann eine Berechnung auf Grundlage der Schallgeschwindigkeit durch, um dem Robotergehirn mitzuteilen, wie weit das nächste Objekt entfernt ist. 

Wenn die Oberfläche nicht flach ist wie eine gekrümmte Wand oder eine Kugel, wird die Ultraschallwelle nicht von allen Teilen gleichmäßig oder gleichzeitig reflektiert. Die nächstgelegene Oberfläche, die groß genug ist, um eine erkennbare Menge der Welle zurückzureflektieren, bestimmt die erkannte Entfernung des Objekts.


Häufige Verwendungszwecke des Abstandssensors:

Dieser Sensor kann erkennen, ob sich ein Objekt vor ihm befindet.

Dieser Sensor kann den Abstand zwischen ihm und einem Objekt messen.

  • Mithilfe dieses Sensors kann ein Roboter eine bestimmte Distanz von einem Objekt wegfahren.

  • Mithilfe dieses Sensors kann ein Roboter an ein Objekt heranfahren, ohne es zu berühren.

  • Mithilfe der von diesem Sensor bereitgestellten Werte kann die Geschwindigkeit des Roboters angepasst werden, je nachdem, ob er sich in der Nähe oder in der Ferne von einem Objekt oder einer Oberfläche befindet.

Verwendung des Abstandssensors an einem Wettbewerbsroboter

  • Der Roboter kann mithilfe des Abstandssensors eine Abfolge von Verhaltensweisen einleiten, wenn er sich an der richtigen Stelle dafür befindet. Der Roboter kann beispielsweise vorwärts fahren, bis er erkennt, dass er 150 mm von einer Wand entfernt ist, sich dann um 90 Grad drehen und ein Objekt in eine Wertungszone abgeben.  
  • Der Distanzsensor kann verwendet werden, um Roboteraktionen auszulösen, beispielsweise das Aufnehmen einer Spielfigur, wenn ein Objekt in Reichweite erkannt wird.
  • Mithilfe des Distanzsensors kann der Roboter auf ein Objekt oder eine Oberfläche zufahren, bis diese sich innerhalb einer bestimmten Entfernung befindet, ohne diese zu berühren. Dadurch kann sichergestellt werden, dass der Roboter keine Spielsteine ​​umwirft.
  • Mithilfe des Distanzsensors kann ein Roboter so lange von einem Objekt oder einer Oberfläche wegfahren, bis er eine bestimmte Distanz erreicht hat. Dadurch können Kollisionen mit anderen Robotern auf dem Feld vermieden werden.

Verwendung des Abstandssensors in VEXcode IQ

Hinzufügen des Abstandssensors als Gerät in VEXcode IQ

Screen_Shot_2023-03-01_at_10.40.38_AM.png

Um den Distanzsensor in VEXcode IQ zu codieren, müssen Sie zunächst den Distanzsensor konfigurieren. Sehen Sie sich diesen Artikel an, um mehr über die Konfiguration eines Sensors in VEXcode IQ zu erfahren.

Sobald der Sensor konfiguriert ist, erscheinen in der Toolbox Befehle, die Sie in Ihrem Projekt verwenden können.

Kodierung des Abstandssensors in Blöcken

Screen_Shot_2023-03-01_at_10.43.09_AM.png

Der <Object found> Block ist ein boolescher Reporterblock, der eine Bedingung entweder als wahr oder falsch meldet. Boolesche Blöcke wie der <Object found> Block passen in Blöcke mit hexagonalen (sechsseitigen) Eingängen für andere Blöcke.

Der boolesche Block <Object found> meldet „wahr“, wenn der Sensor ein Objekt erkennt, und „falsch“, wenn der Sensor dies nicht tut. Um mehr über boolesche Blöcke zu erfahren, besuchen Sie den Artikel Hilfe oder Blockformen und Bedeutung.

 

Screenshot_2023-02-28_at_1.07.13_PM.png

In diesem Beispiel wird der <Object found> -Block mit einem [Warten bis]-Block verwendet, um den Roboter vorwärts fahren zu lassen, bis der Abstandssensor ein Objekt erkennt. Wenn der Sensor ein Objekt erkennt, stoppt der Roboter die Fahrt, wie im Bild oben gezeigt. 

Screen_Shot_2023-03-01_at_11.03.40_AM.png

Der Block (Entfernung von) meldet die Entfernung des nächstgelegenen Objekts vom Entfernungssensor. Es wird ein Bereich von24 mm bis 1000 mm oder 1 Zoll bis 40 Zollgemeldet. Der (Distance from)-Block ist ein Reporterblock, der innerhalb von Blöcken mit kreisförmigen Leerzeichen verwendet wird.

 

Screen_Shot_2023-03-01_at_11.13.38_AM.png

In diesem Beispiel wird der (Abstand von)-Block mit einem [Drucken]-Block verwendet, um auf dem Brain-Bildschirm den Abstand zwischen dem Abstandssensor und einem Objekt anzuzeigen. Der (Abstand von)-Block wird auch innerhalb eines <Less than> Blocks angezeigt, der sich wiederum innerhalb eines {Wait until} Blocks befindet. Dadurch fährt der Roboter, bis der Abstandssensor ein Objekt erkennt, das weniger als 50 Millimeter entfernt ist, und stoppt dann die Fahrt. Dies wird im ersten Video oben gezeigt.

Codierung des Abstandssensors in Python

Hinweis:Um einen VEX IQ-Abstandssensor (1. Generation) in Python zu codieren, muss er mit einem VEX IQ-Gehirn (2. Generation) verbunden sein. Das VEX IQ (1. Generation) Brain unterstützt Python nicht.

Screen_Shot_2023-03-01_at_11.31.30_AM.png

Der Befehl meldet einen booleschen Wert von entweder „true“ oder „false“ für den Bumper-Schalter. 

Der Befehl distance.is_object_detected meldet „true“, wenn ein Objekt erkannt wurde, und „false“, wenn kein Objekt erkannt wurde.

Hinweis:Der im Befehl angezeigte Name des Abstandssensors entspricht dem Namen, der ihm in der Konfiguration zugewiesen wurde. 

 

Screen_Shot_2023-03-01_at_11.52.29_AM.png

In diesem Beispiel wird eineWhile Schleife mit einer nicht Bedingung mit dem Befehl distance.is_object_detected verwendet, um den Roboter vorwärts fahren zu lassen, bis der Abstandssensor ein Objekt erkennt. Wenn der Sensor ein Objekt erkennt, stoppt der Roboter die Fahrt, wie im Bild oben gezeigt.

Screen_Shot_2023-03-01_at_11.56.14_AM.png

Der Befehl distance.distance meldet die Entfernung des nächstgelegenen Objekts vom Entfernungssensor. Es wird ein Bereich von24 mm bis 1000 mm oder 1 Zoll bis 40 Zollgemeldet.

Screen_Shot_2023-03-01_at_12.03.41_PM.png

In diesem Beispiel wird eine While Schleife mit einer nicht Bedingung mit dem Befehl distance.is_object_detected verwendet, um den Roboter vorwärts fahren zu lassen, bis der Abstandssensor ein Objekt erkennt. Wenn der Sensor ein Objekt erkennt, stoppt der Roboter die Fahrt.

In diesem Beispiel wird der Befehl distance.distance mit einem Befehl brain.screen.print verwendet, um auf dem Brain-Bildschirm den Abstand zwischen dem Abstandssensor und einem Objekt anzuzeigen. Der Befehl distance.distance wird auch innerhalb einer While Schleife mit einer und nicht -Bedingung angezeigt. Dadurch fährt der Roboter, bis der Abstandssensor ein Objekt erkennt, das weniger als 50 Millimeter entfernt ist, und stoppt dann die Fahrt. Dies wird im ersten Video oben gezeigt.

Weitere Informationen zum Codieren eines Abstandssensors in Python finden Sie in Einheit 5 des Kurses „Informatik Level 1 – Python“. 

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: