Der Farbsensor nutzt reflektiertes Licht, um die Farbe, den Farbtonwert, den Graustufenwert, die Helligkeit und die Nähe eines Objekts zu erkennen.
Der VEX IQ Farbsensor ist im VEX IQ Super Kit enthalten und kann auch werden.
Einsatz eines VEX IQ-Roboters der 2. Generation? Eine Übersicht über die Sensoren der 2. Generation finden Sie hier, Informationen zum optischen Sensor , der Version der 2. Generation des Farbsensors, finden Sie hier.
Beschreibung des Farbsensors
Der VEX IQ Farbsensor verfügt über mehrere Modi, die es ihm ermöglichen, verschiedene Arten von Informationen aus seiner Umgebung zu erfassen. Die gesammelten Informationen werden sowohl von den Lichtverhältnissen der Umgebung als auch vom Abstand zwischen dem Sensor und dem Objekt oder der Oberfläche, die er erfasst, beeinflusst.
So funktioniert der Farbsensor
Der Farbsensor kann sowohl Farbe als auch Nähe erkennen.
Farben erkennen
Im Helligkeitsmodus wird der Farbsensor verwendet, um die Intensität des gesamten Lichts in der Umgebung des Roboters zu erfassen. Je mehr Licht den Farbsensor erreicht, während er aktiv ist, desto höher ist der Prozentwert, der an das Robotergehirn gesendet wird.
Wenn der erkannte Helligkeitsprozentsatz niedrig oder unzuverlässig ist, kann die Lampe des Farbsensors eingeschaltet oder der Helligkeitsprozentsatz der Lampe erhöht werden, indem die folgende Lichteinstellung zum Blockieren verwendet wird:
Der Farbsensor kann die Farbe, die er sieht, entweder als Farbwert oder als Farbtonwert melden.
Farbwerte.Es sind 14 Farben aufgeführt, die der Farbsensor erkennen kann. Die im Bild des Blocks fehlenden Farben sind Rot, Grün, Blau, Weiß und Gelb.
Farbtonwerte.Farbtonwerte sind wie Farbwerte, aber numerisch. Der Farbtonwert reicht von 0 bis 360, also Grad. Die oben aufgeführten Farbwerte haben ihre eigenen äquivalenten Farbtonwertbereiche.
Für die Erkennung von Farben und Farbtönen ist es wichtig, dass der Farbsensor über ausreichend Licht verfügt. Testen Sie unbedingt Ihren Farbsensor bei unterschiedlichen Lichtstärken und mit unterschiedlich eingestellter Lampe, auch bekannt als Kalibrierung, um die zuverlässigste Einstellung für den Farbsensor Ihres Roboters zu ermitteln.
Nähe erkennen
Der Farbsensor beinhaltet einen Infrarot-Sensor-Emitter. Der Infrarotstrahler sendet ein unsichtbares Licht aus und detektiert anschließend dessen Reflexion. Wenn der größte Teil des Infrarotlichts zum Sensor zurückgeworfen wird, signalisiert dies dem Robotergehirn, dass sich ein Objekt in der Nähe befindet.
Allgemeine Verwendungszwecke des Farbsensors
Farbsensoren werden in vielen Technologieanwendungen eingesetzt, bei denen die Darstellung bestimmter Farben auf Displays oder Produkten wichtig ist.
Einige gängige Anwendungsgebiete im Alltag sind:
- Farbkalibrierungstools prüfen, ob ein digitaler Bildschirm korrekte Farben anzeigt, und passen dann die Anzeigeeinstellungen nach Bedarf an. Für Grafiker und jeden Designer, der mit Farben auf einem digitalen Bildschirm arbeitet, ist es wichtig, genau die richtige Farbe sehen zu können. Wenn die Farben nicht stimmen, kommt es zu Missverständnissen und Ressourcenverschwendung.
- Kameras und Camcorder verwenden Farbsensoren, um die Einstellungen entsprechend den Lichtverhältnissen anzupassen, um ihre Fotos und Videos durch Maximierung der Lichtverhältnisse und Verstärkung ansonsten stumpfer Farben zu verbessern. Diese Sensoren ermöglichen es einem Fotografen auch, sich auf bestimmte Farben in seinen Fotos zu konzentrieren.
- Farbsensoren werden manchmal in der Fertigung eingesetzt, um schnell zu prüfen, ob ein Produkt die richtige Farbe hat, bevor es an einen Kunden versendet wird. Beispielsweise können Früchte und Gemüse, die ihre Farbe ändern, wenn sie reif oder zum Verzehr bereit sind, gescannt werden, um sicherzustellen, dass sie die richtige Farbe haben, um sie auf den Markt zu bringen.
Zu den gängigen Einsatzgebieten eines VEX IQ-Roboters gehören:
- Mit diesem Sensor kann die Farbe eines Objekts erkannt werden. Sehen Sie sich diese Animation an, um zu sehen, wie ein Roboter vorwärts fährt, bis der Farbsensor einen grünen Würfel erkennt.
- Mit diesem Sensor kann eine Linie erkannt und/oder verfolgt werden. Sehen Sie sich diese Animation an, um einen Roboter zu sehen, der den Farbsensor verwendet, um entlang einer markierten Linie zu fahren.
- Dieser Sensor kann erkennen, ob sich ein Objekt in der Nähe befindet.
Farbsensoren an einem Wettbewerbsroboter
Denken Sie daran: Für die Erkennung von Farben und Farbtönen ist es wichtig, dass der Farbsensor über ausreichend Licht verfügt. Testen Sie Ihren Farbsensor unbedingt jedes Mal, wenn Sie an einem neuen Wettkampfort ankommen, auch bekannt als Kalibrieren, da unterschiedliche Lichtverhältnisse die Leistung Ihres Farbsensors beeinflussen können. Testen Sie Ihr Projekt mit der Lampe in verschiedenen Helligkeitsstufen, um die zuverlässigste Einstellung für den Farbsensor Ihres Roboters zu ermitteln.
Die vom Farbsensor erfassten Informationen sind nützlich, um einen Wettkampfroboter so zu programmieren, dass er auf verschiedene Bedingungen reagiert. Der Farbsensor kann einen Wettbewerbsroboter auf folgende Weise verbessern:
- Dadurch kann der Roboter die Farbe eines Objekts in der Nähe des Sensors erkennen. Dies ist nützlich, wenn Sie möchten, dass der Roboter verschiedenfarbige Objekte sortiert, zu einem bestimmten farbigen Objekt fährt oder die Farbe von Objekten erkennt, wenn sie am Sensor vorbeikommen.
- Dadurch erkennt der Roboter, wie viel Licht zurück in den Sensor reflektiert wird. Dadurch kann Ihr Roboter fahren, bis er eine Linie auf einer Oberfläche erreicht, oder sogar einer Linie folgen.
- Dadurch erkennt der Roboter, ob sich ein Objekt oder eine Oberfläche in der Nähe befindet. Dies ist hilfreich bei der Bestimmung, ob es sich bei einer erkannten Farbe um einen Messwert eines nahegelegenen Objekts oder möglicherweise um einen anormalen Messwert einer entfernten Oberfläche oder eines entfernten Lichts handelt.
Codierung des Farbsensors in Blöcken
Der <Found an object> Block ist ein boolescher Reporterblock, der eine Bedingung entweder als wahr oder falsch meldet. Boolesche Blöcke wie der <Found an object> Block passen in Blöcke mit hexagonalen (sechsseitigen) Eingängen für andere Blöcke.
Der boolesche Block <Found an object> meldet „wahr“, wenn der Farbsensor ein Objekt erkennt, und „falsch“, wenn der Sensor dies nicht erkennt. Um mehr über boolesche Blöcke zu erfahren, besuchen Sie den Artikel Hilfe oder Blockformen und Bedeutung.
In diesem Beispiel wird der <Found an object> Block zusammen mit einem [Warten bis]-Block zur Näherungserkennung verwendet, um den Roboter vorwärts fahren zu lassen, bis ein Objekt erkannt wird.
Der <Color detects> Block ist auch ein boolescher Reporterblock, der eine Bedingung entweder als wahr oder falsch meldet. Der <Color detects> -Block meldet „wahr“, wenn der Farbsensor die ausgewählte Farbe erkennt, und „falsch“, wenn der Sensor eine andere Farbe erkennt. Um mehr über boolesche Blöcke zu erfahren, besuchen Sie den Artikel Hilfe oder Blockformen und Bedeutung.
In diesem Beispiel wird der <Color detects> -Block zusammen mit einem [Warten bis]-Block verwendet, um den Roboter zu veranlassen, vorwärts zu fahren, bis der Farbsensor ein grünes Objekt erkennt. Der Roboter hört dann auf zu fahren. Dies wird im ersten Video oben veranschaulicht.
Der Block (Helligkeit von) gibt die vom Farbsensor erkannte Lichtmenge an. Es handelt sich um einen Reporterblock, der innerhalb anderer Blöcke mit kreisförmigen Leerzeichen verwendet wird.
Der Block (Helligkeit von) meldet einen Bereich von % bis 100 %.
In diesem Beispiel wird der Block (Helligkeit von) verwendet, damit der Roboter eine Linie erkennt und ihr folgt, wie im zweiten Video oben gezeigt.
Der Block (Farbton) gibt den Farbton der vom Farbsensor erkannten Farbe an. Es handelt sich um einen Reporterblock, der innerhalb anderer Blöcke mit kreisförmigen Leerzeichen verwendet wird.
Der Block (Helligkeit von) meldet einen Bereich von 0 bis 360.
In diesem Beispiel wird der Block (Farbton von) verwendet, damit der Roboter einen Bereich von Farbtonwerten prüft, die der Farbe Rot entsprechen, und sich um 90 Grad nach rechts dreht, wenn diese Werte vom Sensor erkannt werden. Wenn andere Farbtonwerte erkannt werden, dreht sich der Roboter um 90 Grad nach links.
Der Block (Farbton) kann nützlich sein, wenn der Roboter bestimmte Farben erkennen muss, wenn die Umgebungslichtbedingungen möglicherweise inkonsistent sind.
Codierung des Farbsensors in Python
:einen VEX IQ (1. Generation) Bumper Switch in Python zu programmieren, muss dieser mit einem VEX IQ (2. Generation) Brain verbunden sein. Das VEX IQ (1. Generation) Gehirn unterstützt kein Python.
color_3.is_near_object()Der Befehl color.is_near_object meldet True , wenn ein Farbsensor ein Objekt oder eine Oberfläche nahe der Vorderseite des Sensors erkennt, und False , wenn ein Farbsensor nicht ein Objekt oder eine Oberfläche nahe der Vorderseite des Sensors erkennt Sensor.
Hinweis:Der im Befehl angezeigte Name des Farbsensors entspricht dem Namen, der ihm in der Konfiguration zugewiesen wurde.
|
| In diesem Beispiel wird eine mit einer verwendetzusammen mitRoboter vorwärts fahren lassenbis der Farbsensor ein Objekt in der Nähe der Vorderseite des Sensors erkennt. |
color_3.color()Der Befehl color.color gibt die Farbe aus, die aktuell vom Farbsensor erfasst wird.
|
| In diesem Beispieleine mit Bedingung verwendetum den Robotervorwärts fahren lassenbis der Farbsensor ein grünes erkennt. Der Roboter wird dann anhalten. Dies wird im ersten Video oben veranschaulicht. |
color_3.brightness()Der Befehl color.brightness meldet die vom Farbsensor erfasste Lichtmenge. Es werden Werte zwischen 0 % und 100 % angezeigt.
|
| In diesem Beispiel wird der Befehl color.brightness verwendet, damit der Roboter eine Linie erkennt und ihr folgt, wie im zweiten Video oben gezeigt. |
color_3.hue()Der Befehl color.hue meldet den Farbton der vom Farbsensor erkannten Farbe. Es meldet einen Bereich von Farbtonwerten von 0 bis 360.
|
|
In diesem Beispiel wird der Befehl color.hue verwendet, damit der Roboter einen Bereich von Farbtonwerten überprüft, die der Farbe Rot entsprechen, und um 90 Grad nach rechts dreht, wenn diese Werte vom Sensor erkannt werden. Wenn andere Farbtonwerte erkannt werden, dreht sich der Roboter um 90 Grad nach links. Der Befehl color.hue kann nützlich sein, wenn der Roboter bestimmte Farben erkennen muss, wenn die Umgebungslichtbedingungen möglicherweise inkonsistent sind. |