Arduino UNO R4 - TCS3200D/TCS230 Farbsensor
Diese Anleitung zeigt Ihnen, wie Sie Arduino UNO R4 und das TCS3200D/TCS230 Farberkennungs-Sensormodul verwenden, um RGB-Werte von Objekten zu kalibrieren und abzulesen und Farben zu erkennen.
- Wie Sie den TCS3200D/TCS230 Farbsensor an Arduino UNO R4 anschließen
- Wie Sie den Sensor für Ihre Umgebung kalibrieren
- Wie Sie einen Code für Arduino UNO R4 schreiben, um RGB-Werte vom Sensor zu lesen

Hardware Erforderlich
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables STEM V4 IoT Starter-Kit (Arduino enthalten) | |
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den TCS3200D/TCS230 Farbsensor
Der TCS3200D/TCS230 ist ein Farberkennungs-Sensormodul, das ein 8x8-Array von Photodioden verwendet. Sechzehn Photodioden haben rote Filter, 16 haben grüne Filter, 16 haben blaue Filter und 16 sind klar (kein Filter). Das Modul wandelt Lichtintensität in ein Rechteckwellen-Frequenzsignal um. Durch das Umschalten der Farbfilter und die Messung der Ausgangsfrequenz (oder Pulsbreite) können wir die RGB-Werte eines Objekts ermitteln.
Viele Module enthalten weiße LEDs zur Beleuchtung des Ziels. Das macht die Messungen konsistenter und hilft dem Sensor, Farben zuverlässig zu erkennen, auch bei schwachem Licht.
Pinbelegung
Das TCS3200D/TCS230 Farbsensormodul hat typischerweise diese Pins:
- VCC Pin: Verbinden Sie diesen Pin mit VCC (5V).
- GND Pin: Verbinden Sie diesen Pin mit GND (0V).
- S0, S1 Pins: Auswahl der Ausgangsfrequenzskalierung.
- S2, S3 Pins: Auswahl des Farbfilters.
- OUT Pin: Rechteckwellen-Frequenzausgang.
- OE Pin: Output Enable (aktiv LOW). Die meisten Module verbinden diesen Pin bereits intern mit GND, daher müssen Sie ihn nicht verkabeln. Falls Ihres das nicht tut, verbinden Sie ihn mit GND.

Funktionsweise
Der Sensor muss über zwei Dinge informiert werden: welchen Farbkanal er messen soll und wie stark das Ausgangssignal sein soll. Zwei Paare von Steuer-Pins handhaben dies:
- S0 und S1 steuern die Ausgangsfrequenzskalierung:
- S0 = LOW, S1 = LOW: Ausschalten
- S0 = LOW, S1 = HIGH: 2% Skalierung
- S0 = HIGH, S1 = LOW: 20% Skalierung
- S0 = HIGH, S1 = HIGH: 100% Skalierung
- S2 und S3 wählen den Farbfilter:
- S2 = LOW, S3 = LOW: Rotfilter
- S2 = LOW, S3 = HIGH: Blaufilter
- S2 = HIGH, S3 = LOW: Klar (kein Filter)
- S2 = HIGH, S3 = HIGH: Grünfilter
Der OUT Pin gibt eine Rechteckwelle aus (typischerweise 2 Hz bis 500 kHz). Die Frequenz ist proportional zur Intensität der gewählten Farbe, während die Pulsbreite umgekehrt proportional ist. Wir können die Pulsbreite mit pulseIn() messen und sie dann nach der Kalibrierung in RGB-Werte umwandeln.
Tipps für stabile Messungen
- Platzieren Sie den Sensor 1-3 cm vom Objekt entfernt und halten Sie den Winkel konstant.
- Verwenden Sie die integrierten weißen LEDs für stabile Beleuchtung.
- Schirmen Sie den Sensor vor Änderungen des Umgebungslichts ab für genauere Ergebnisse.
Schaltplan
Dieses Bild zeigt, wie Sie den TCS3200 Farbsensor an Arduino UNO R4 anschließen:
| TCS3200 Farbsensor | Arduino UNO R4 |
|---|---|
| VCC | 5V |
| GND | GND |
| S0 | Pin 4 |
| S1 | Pin 3 |
| S2 | Pin 6 |
| S3 | Pin 5 |
| OUT | Pin 7 |

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.
Arduino UNO R4 Code - Kalibrierung (Pulsbreite)
Eine Kalibrierung ist erforderlich, da die rohen Messwerte des Sensors von der Umgebung beeinflusst werden. Faktoren wie LED-Helligkeit, Entfernung, Oberflächenreflexion und Umgebungslicht verändern die gemessenen Werte. Sie können sich diese Einflüsse als "Rauschen" vorstellen. Der erste Kalibrierungsschritt hilft Ihnen, diesen Rauschbereich zu messen (Minimum und Maximum für jede Farbe), damit Sie dessen Einfluss subtrahieren und die Messungen auf korrekte 0–255 RGB-Werte für Ihr Setup abbilden können.
Schnelle Schritte
Befolgen Sie diese Anweisungen Schritt für Schritt:
- Falls Sie zum ersten Mal Arduino Uno R4 WiFi/Minima verwenden, lesen Sie das Tutorial über die Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
- Verbinden Sie das Arduino Uno R4 Board mit dem Farbsensor gemäß dem bereitgestellten Diagramm.
- Verbinden Sie das Arduino Uno R4 Board mit Ihrem Computer über ein USB-Kabel.
- Starten Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das entsprechende Arduino Uno R4 Board (z.B. Arduino Uno R4 WiFi) und COM-Port aus.
- Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
- Klicken Sie auf die Upload Schaltfläche in der Arduino IDE, um den Code auf Arduino UNO R4 hochzuladen.
- Öffnen Sie den Serial Monitor. Sie werden kontinuierliche Messungen zusammen mit Min- und Max-Werten sehen.
- Bewegen Sie den Sensor über verschiedene Objekte: ein weißes Objekt (wie Papier), ein schwarzes Objekt und optional einige farbige Objekte.
- Beobachten Sie, wie sich die Min- und Max-Zeilen automatisch aktualisieren, während der Sensor die Extreme verfolgt.
- Wenn die Min- und Max-Werte aufhören sich zu ändern (normalerweise nach 10-20 Sekunden), sind das Ihre Kalibrierungswerte - notieren Sie sie sich.
Zum Beispiel, aus der obigen Ausgabe wären Ihre Kalibrierungswerte:
- RedMin = 42, redMax = 210
- GreenMin = 55, greenMax = 185
- BlueMin = 60, blueMax = 172
Arduino UNO R4 Code - RGB-Werte lesen
Schnelle Schritte
- Finden Sie im obigen Code diese Zeilen am Anfang:
- Ersetzen Sie ALLE sechs 0-Werte mit Ihren Kalibrierungszahlen aus dem vorherigen Schritt. Wenn Ihre Kalibrierung beispielsweise redMin = 42, redMax = 210, greenMin = 55, greenMax = 185, blueMin = 60, blueMax = 172 ergeben hat, ändern Sie die Zeilen zu:
- Laden Sie den Code auf Arduino UNO R4 hoch.
- Platzieren Sie ein farbiges Objekt vor den Sensor.
- Überprüfen Sie das Ergebnis im Serial Monitor.
Die RGB-Werte sind jetzt auf den Standard-Bereich von 0-255 abgebildet. Niedrigere Pulsbreiten (mehr Licht) erzeugen höhere RGB-Werte, und höhere Pulsbreiten (weniger Licht) erzeugen niedrigere RGB-Werte.
Anwendungen
Jetzt, da Sie RGB-Werte lesen können, können Sie Projekte wie diese erstellen:
- Farbsortierer: Sortieren Sie Objekte nach Farbe (rot, grün, blau)
- Farbzuordnungsspiel: Prüfen Sie, ob zwei Objekte die gleiche Farbe haben
- Linienfolger-Roboter: Folgen Sie farbigen Linien auf dem Boden
- Qualitätskontrolle: Erkennen Sie defekte Produkte anhand der Farbe
- Farbaktivierter Alarm: Lösen Sie einen Buzzer oder eine LED aus, wenn eine bestimmte Farbe erkannt wird
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.