Diese Seite auf Github Pages bei https://mkleinsb.github.io/pxt-columbuseye/ öffnen
Mit dem TCS34725 Sensor kann man die Rot-, Grün- und Blauanteile des Lichts messen. Erweiterungen für den Calliope mini verfügen über eine LED zur Beleuchtung, manche auch über einen Kunststoffring oder sogar einer Linse. Varianten mit Kunststoffring sind zu empfehlen, da dort der Abstand zum Objekt immer gleich groß ist und es zu weniger Fremdlichteinstreuung kommt. Die vorliegende Erweiterung entstand für http://columbuseye.rub.de/. Dort gibt es auch die zugehörigen Arbeitsblätter für den Unterricht unter http://columbuseye.rub.de/unterricht/#Arbeitsbl%C3%A4tter
Die Farben sind nach den Farben des Pelikan Wasserfarbkastens benannt, da dieser in jeder Klasse vorhanden sein sollte.
Dank an Niels Dedring für den netten Kontakt und die Rückmeldungen.
Originalcode der Erweiterung https://github.com/samnied/pxt-tcs34725 TCS34725 extension von Samuel Niederer. Danke!
Grove RGB-Sensor | TCS34725 Sensor Breakout |
Initialisiert den TCS34725 RGB-Sensor. Muss immer zu Beginn aufgerufen werden.
TCS34725.start()
Speichert die Farbdaten in die angegebene Farbe um diese dann später wiederzuerkennen. Theoretisch muss nicht schwarz in schwarz gespeichert werden, ist aber zum Wiedererkennen besser. Außerdem leuchtet die LED in der entsprechenden Farbe. Die Speicherung der jeweiligen Farbe muss mit dem Knopf "A" bestätigt werden. Wenn keine Farbdaten eingelernt werden wird auf Standardwerte zurückgegriffen.
TCS34725.LernFarbe(Wasserfarben.Schwarz)
Liest die Farbanteile (Jeweils 0-255) der aktuellen Farbe aus. Jeweils Für Rot, Grün und Blau.
TCS34725.getSensorData(RGB.RED)
Zeichnet eine Säule auf dem Calliope mini Display. Die Werte werden an die Displayhöhe von 5 roten LEDs angepasst, es können bis zu 5 Spalten angegeben werden. 0 ist die linke Spalte, 2 die mittlere und 4 die rechte. So kann man bequem die drei mit Farbdaten ausgelesenen RGB-Werte darstellen.
TCS34725.zeichneSaule(0, Spalten.col0)
Liest den Farbsensor aus und vergleicht die Werte mit den eingelernten Daten. Um ungleichmäßigen Farbauftrag auszugleichen haben alle RGB-Werte eine voreingestellte Toleranz von +-30. Diese kann über den Block "Toleranz bei Farberkennung" angepasst werden.
TCS34725.Wasserfarbe(Wasserfarben.Schwarz)
Färbt die RGB-LED des Calliope mini in der entsprechenden Farbe (Brauntöne und Schwarz lassen sich schlecht darstellen)
TCS34725.SetLedColor(Wasserfarben.Magenta)
Hiermit kann die Toleranz der Farberkennung verschärft oder erweitert werde. Voreinstellt ist +-30, d.h. jeder einzelne RGB-Wert kann um 30 nach oben oder unten abweichen. Den Wert sollte man verringern wenn die Farben nicht unterschieden werden können.
TCS34725.Toleranzf(30)
Liest den Farbsensor aus und vergleicht die Werte mit den angegebenen RGB Werten. Um ungleichmäßigen Farbauftrag auszugleichen haben alle RGB-Werte eine voreingestellte Toleranz von +-30. Diese kann über den Toleranzblock angepasst werden.
TCS34725.Farberkennung(0, 0, 0)
Merke Dir die Reihenfolge der Farben beim Farbmemoryspiel
TCS34725.Farbmemory