i

Einsatzfelder von Licht- und Farbsensor

EV3-Farbsensor

Der EV3-Farbsensor arbeitet in vier verschiedenen Modi, die Verarbeitung der Sensordaten ist im Vergleich zum NXT komplexer geworden, weshalb für jeden Modus ein eigenes Funktionstest-Beispiel bereitgestellt wird. Es ist wichtig zu wissen, in welchem Modus man arbeiten will, da die Sensordaten unterschiedliche Werte zurückliefen:

  • Color ID mode: Der Sensor unterscheidet acht Farben (Farb-IDs 0-7) Schwarz, Blau, Grün, Gelb, Rot, Weiß, Braun und "keine".
  • RGB mode: Der Sensor misst die (normalisierten) Werte der Farbkanäle RGB (Rot, Grün, Blau) auf einmal, also aus welchen RGB-Farbwerten sich die gemessene Farbe zusammensetzt.
  • Red mode: Das rote LED des Sensors leuchtet, die reflektierte Helligkeit wird davon gemessen. Die gemessene Stärke des reflektierten Lichts eignet sich, um z.B. einer schwarzen Linie zu folgen.
  • Ambient mode: Hier wird das Umgebungslicht gemessen, externe Lichtquellen wie die Sonne oder eine Taschenlampe

NXT-Lichtsensor: Leuchten und Helligkeit messen

Der Lichtsensor (lejos.nxt.LightSensor) verfügt über ein sogenanntes Flutlicht (eher: Taschenlampe) und eine Komponente zur Helligkeitsmessung. Das Flutlicht kann man mit setFloodlight(true) ein- oder entsprechend ausschalten, es existiert keine Dimmfunktion. Dies hat eine Auswirkung auf die prozentuale Helligkeitsmessung mit readValue(). Optional kann man diese Komponente auf eine maximale und minimale Helligkeit kalibrieren.

NXT-Farbsensor: Farbig leuchten und Farben messen

Der Farbsensor (lejos.nxt.ColorSensor) verfügt ebenfalls über ein Flutlicht und eine Messkomponente. Im Unterschied zum Lichtsensor wird die Intensität der Grundfarben der additiven Farbmischung RGB (Red|Green|Blue) gemessen. Daraus ergeben sich eine Menge von fest definierten Farben, die mit dem Befehl getColorID() abgefragt werden können, z.B.: (0) schwarz | (3) blau | (4) grün. Ferner kann man die Farbkanäle differenziert in ihrer Intensistät im Interval [0-255] messen, beispielsweise mit getRed(). Das Flutlicht des Farbsensors kann man nicht nur ein- und ausschalten, sondern auch mit setFloodlight(int color)in einer der fest definierten Farben leuchten lassen.

Suche

v
2.6.5.3
www.inf-schule.de/programmierung/robotik/messendarstellen/lichtfarbe

Rückmeldung geben