Robotics

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.

Versuchsaufbau

Display-Anzeige

Ein Braunton einer Tischblatte im O-119 erscheint auf dem Display beispielsweise so:

Previous Next

Robotics

Table of Contents

Inhaltsverzeichnis

  • Sensoren
    • Farbsensor
      • Beispiel: Ausgabe aller Messswerte auf dem Display des EV-Bricks
      • Farbe abfragen
      • Beispielprogramm
      • Versuchsaufbau
      • Display-Anzeige

Basics

  • Einrichten
  • Programm erstellen
  • Programm ausführen
  • Bestehendes Programm öffnen

Projekt 1 - Robo-Loop

  • Beep
  • Touch/Beep 1
  • Touch/Beep 2
  • Touch/Beep 3
  • Schnelle Schleife
  • Gebremste Schleife

Projekt 2 - Motor ansteuern

  • Motor starten
  • Motor stoppen
  • Start und Stopp

Sensoren

  • Tasten
  • Distanzsensor
  • Farbsensor
  • Lagesensor

Aktoren

  • Beep
  • Motoren

LEGO-Bauanleitungen

  • Anheben
  • Bewegung übertragen
  • Greifen
  • Schalter

Ein paar Tipps und Tricks

  • FAQ