Sensoren
Farbsensor
Der Farbsensor registriert optische Grössen wie Helligkeit, Reflexion oder Farbanteile. Das Programm gibt diese Grössen über das Display des EV3-Bricks wieder aus.
Beispiel: Ausgabe aller Messswerte auf dem Display des EV-Bricks
Die Funktion color() gibt – falls möglich - eine Konstante mit dem Farbwert zurück. Die möglichen Werte lauten
- Color.Black
- Color.Blue
- Color.Green
- Color.Yellow
- Color.Red
- Color.White
Falls keine Farbe erkannt wird, lautet der Wert None.
Farbe abfragen
Sie können mit einen normalen IF nach einer Farbe fragen, z.B.:
if color_sensor.Color() == Color.BLUE:
Die Hintergrundbeleuchtung der EV3-Buttons kann übrigens mit der Funktion light() in den Farben Rot, Grün und Gelb leuchten. Die Funktion rgb() gibt ein 3-Tupel zurück. Das ist vergleichbar mit einer 3-elementigen Liste. Das erste Element entspricht dem Rot-Wert, das zweite dem Grün- und das dritte dem Blau-Wert.
Die Funktionen ambient() und reflection() messen die Helligkeit bzw. die Reflexionseigenschaft und geben diese als Zahl zwischen 0 und 100 zurück.
Beispielprogramm
#!/usr/bin/env pybricks-micropython from pybricks.hubs import EV3Brick from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, InfraredSensor, UltrasonicSensor, GyroSensor) from pybricks.parameters import Port, Stop, Direction, Button, Color from pybricks.tools import wait, StopWatch, DataLog from pybricks.robotics import DriveBase from pybricks.media.ev3dev import SoundFile, ImageFile from pybricks.media.ev3dev import Font ev3 = EV3Brick() color_sensor = ColorSensor(Port.S1) font = Font(size=15) ev3.screen.set_font(font) while True: farbe = color_sensor.color() # Farbe einlesen farbanteile = color_sensor.rgb() # Farbanteile einlesen (3-Tupel) helligkeit = color_sensor.ambient() # Helligkeit einlesen (0-100) reflexion = color_sensor.reflection() # Reflexion einlesen (0-100) ev3.light.on(farbe) # EV3-Button leuchten lassen ev3.screen.clear() ev3.screen.print("Farbe:", farbe) # diverse Angaben anzeigen ev3.screen.print("Rot: " + str(farbanteile[0])) ev3.screen.print("Gruen: " + str(farbanteile[1])) ev3.screen.print("Blau: " + str(farbanteile[2])) ev3.screen.print("Helligkeit: " + str(helligkeit)) ev3.screen.print("Reflexion: " + str(reflexion)) wait(500) # 1/2 Sekunde warten
Weitere Informationen zum Farbsensor findest du unter Docs>Color Sensor.

