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.

VEX IQ (1. Generation) Abstandssensorteil.


So funktioniert der Distanzsensor: Auf Distanz achten

Diagramm des Distanzsensors, der Ultraschall aussendet, um auf einen grünen Würfel zu treffen, und dann den reflektierten Schall empfängt.

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:

VEXcode IQ-Objekt gefunden-Block mit der Aufschrift „Entfernung“: Ein Objekt gefunden?

Zwei Diagramme. Oben zeigt der Distanzsensor auf einen nahegelegenen grünen Würfel und ist mit einem Häkchen gekennzeichnet. Unten zeigt der Abstandssensor auf nichts in der Nähe und ist mit einem X-Symbol gekennzeichnet.

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

VEXcode IQ-Abstand vom Block, der den Abstand in mm anzeigt.

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

  • Mithilfe dieses Sensors kann ein Roboter eine bestimmte Distanz von einem Objekt wegfahren. Sehen Sie sich die Animation unten an, um zu sehen, wie sich der Abstandswert ändert, während der Roboter fährt, bis der Abstand unter 160 mm liegt.

  • Mithilfe dieses Sensors kann ein Roboter an ein Objekt heranfahren, ohne es zu berühren. Sehen Sie sich diese Animation an, um zwei Roboter zu sehen, die Abstandssensoren verwenden, um ihr Fahren zu koordinieren.

  • 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. Sehen Sie sich diese Animation an, um zu sehen, wie sich ein Roboter an den Abstand zu einer Wand anpasst.


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

VEXcode IQ-Gerätemenü, nachdem die Schaltfläche „Gerät hinzufügen“ ausgewählt wurde. Die Option „Entfernung (1. Generation)“ ist hervorgehoben.

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

VEXcode IQ-Objekt gefunden-Block mit der Aufschrift „Distance7“: Ein Objekt gefunden?

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.

 

VEXcode IQ-Blockprojekt, das mithilfe eines Abstandssensors vorwärts fährt, bis es ein Objekt findet. Das Projekt lautet: „Beim Start vorwärts fahren, warten, bis Distance7 ein Objekt gefunden hat, und dann die Fahrt abbrechen.“

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. 

VEXcode IQ-Abstand vom Block, der den Abstand Distance7 in mm anzeigt.

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.

 

VEXcode IQ-Blockprojekt, das einen Abstandssensor verwendet, um vorwärts zu fahren, bis der Abstand weniger als 50 mm beträgt. Das Projekt lautet: „Beim Start vorwärts fahren, Distanz 7 in mm auf Brain drucken, warten, bis Distanz 7 in mm kleiner als 50 ist, und dann die Fahrt beenden.“

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.

distance_7.is_object_detected()

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. 

Antriebsstrang.Fahren(VORWÄRTS)
solange nicht distance_7.is_object_detected()
warte(20, MSEC)
Antriebsstrang.Stopp()
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 obigen Python-Code gezeigt.
Abstand_7.Abstand(MM)

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 Zoll gemeldet.

Antriebsstrang.Fahren(VORWÄRTS)
Gehirn.Bildschirm.Drucken(Distanz_7.Distanz(MM)
solange nicht Distanz_7.Distanz(MM) < 50:
warten(20, MSEC)
Antriebsstrang.Stoppen()

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: