====== 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 [[https://pybricks.com/ev3-micropython/ev3devices.html#color-sensor|Docs>Color Sensor]]. ==== Versuchsaufbau ==== {{:sensoren:pasted:20231103-221215.png?direct}} ==== Display-Anzeige ==== Ein Braunton einer Tischblatte im O-119 erscheint auf dem Display beispielsweise so: \\ {{:sensoren:pasted:20231113-160215.png?direct}}