Raspberry Pi - TCS3200D/TCS230 Farbsensor
Diese umfassende Anleitung zeigt Ihnen, wie Sie den TCS3200D/TCS230 Farbsensor mit dem Raspberry Pi für präzise Farbmessungen und RGB-Wertextraktion verbinden. Meistern Sie Kalibrierungsverfahren und entwickeln Sie Farberkennungsfähigkeiten in Ihren Projekten.
Lernziele:
- Verbindungen zwischen TCS3200D/TCS230 und Raspberry Pi herstellen
- Sensorkalibrierung zur Eliminierung von Umgebungsrauschen durchführen
- Raspberry Pi Programme für RGB-Farbmessungen entwickeln

Benötigte Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den TCS3200D/TCS230 Farbsensor
Der TCS3200D/TCS230 Sensor nutzt eine Photodioden-Matrix in einer 8×8-Anordnung für Farberkennung durch optische Filterung. Innerhalb dieser 64-Element-Anordnung verfügen 16 Photodioden über rote Spektralfilter, weitere 16 verwenden grüne Filter, 16 nutzen blaue Filter, und die verbleibenden 16 arbeiten ohne Filter (klare Reaktion). Die Farbmessung erfolgt durch Aktivierung spezifischer Filtersätze und Analyse des resultierenden frequenzmodulierten Rechtecksignal-Ausgangs.
Eingebaute weiße LED-Arrays auf typischen Modulen liefern konstante Beleuchtung für Ziele, wodurch die Messstabilität unabhängig von externen Lichtveränderungen aufrechterhalten und die Leistung in dunklen Umgebungen verbessert wird.
Pinbelegung
Verfügbare Verbindungen auf der TCS3200D/TCS230 Sensor-Platine:
- VCC-Pin: Versorgungsspannungseingang (+5V).
- GND-Pin: Massebezug (0V).
- S0, S1-Pins: Ausgangsfrequenz-Skalierungswahlschalter.
- S2, S3-Pins: Farbkanal-Filterwahlschalter.
- OUT-Pin: Frequenzmodulierter Rechteckwellen-Ausgang.
- OE-Pin: Ausgangs-Enable-Eingang (aktiviert bei LOW). Standardmodule verdrahten diesen typischerweise intern fest mit GND. Falls nicht verbunden, manuell mit GND verdrahten.

Funktionsweise
Zwei kritische Einstellungen steuern das Sensorverhalten: welcher Farbkanal aktiviert wird und welche Ausgangssignalstärke erzeugt wird. Zwei Paare von Steuereingängen verwalten diese Funktionen:
Frequenzskalierung-Steuerung (S0 und S1 Pins):
- S0=LOW, S1=LOW: Stromsparzustand
- S0=LOW, S1=HIGH: 2% Skalierungsfaktor
- S0=HIGH, S1=LOW: 20% Skalierungsfaktor
- S0=HIGH, S1=HIGH: 100% Skalierungsfaktor (volle Geschwindigkeit)
Farbkanal-Auswahl (S2 und S3 Pins):
- S2=LOW, S3=LOW: Rote Photodioden aktiv
- S2=LOW, S3=HIGH: Blaue Photodioden aktiv
- S2=HIGH, S3=LOW: Klare Photodioden aktiv (keine Filterung)
- S2=HIGH, S3=HIGH: Grüne Photodioden aktiv
Der OUT-Pin liefert Rechteckwellen-Frequenzen im Bereich von etwa 2 Hz bis 500 kHz. Die Frequenz steigt mit der Lichtintensität—hellere Beleuchtung erzeugt höhere Frequenzausgänge. Durch Messung der Impulsdauer (die umgekehrt korreliert—kürzere Dauern zeigen stärkeres Licht an) können wir diese Messungen durch Kalibrierung in das konventionelle 0-255 RGB-Format übersetzen.
Optimale Präzision erreichen
- Halten Sie den Sensor 1-3 cm vom Messziel entfernt mit stabiler Winkelausrichtung.
- Nutzen Sie die integrierte weiße LED-Beleuchtung für wiederholbare Beleuchtung.
- Schirmen Sie den Sensor vor variablem Umgebungslicht ab, um die Messkonsistenz zu verbessern.
Schaltplan
TCS3200 Farbsensor zu Raspberry Pi Verkabelungskonfiguration:
| TCS3200 Farbsensor | Raspberry Pi |
|---|---|
| VCC | 5V |
| GND | GND |
| OUT | GPIO23 |
| S0 | GPIO8 |
| S1 | GPIO7 |
| S2 | GPIO24 |
| S3 | GPIO25 |

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Code - Pulsbreiten-Kalibrierung
Die Kalibrierung eliminiert Umgebungsinterferenzen von Rohmessungen. Variablen einschließlich LED-Ausgangsstärke, Zielabstand, Materialreflektivität und Raumbeleuchtung beeinflussen alle Messwerte. Betrachten Sie diese als systematische Fehler, die eine Messung erfordern. Die Kalibrierungsroutine identifiziert minimale und maximale Pulsbreiten über alle Farbkanäle hinweg und stellt Referenzgrenzen für die Umwandlung von Rohdaten in genaue 0–255 RGB-Werte ein, die an Ihre Einsatzumgebung angepasst sind.
Schnelle Schritte
- Kopieren Sie den Code und speichern Sie ihn in einer Datei, zum Beispiel tcs3200_calibration.py
- Führen Sie das Script aus:
- Setzen Sie den Sensor verschiedenen Oberflächen aus: weißen Materialien (Druckerpapier), schwarzen Objekten, plus mehrfarbigen Gegenständen
- Beobachten Sie, wie sich die Min/Max-Grenzen automatisch aktualisieren, wenn Extreme erkannt werden
- Sobald sich die Werte stabilisieren (normalerweise 10-20 Sekunden), drücken Sie Ctrl+C zum Stoppen
- Dokumentieren Sie alle sechs angezeigten Kalibrierungsparameter
Beispiel-Kalibrierungsparameter aus obiger Ausgabe extrahiert:
- RedMin = 42, redMax = 210
- GreenMin = 55, greenMax = 185
- BlueMin = 60, blueMax = 172
Raspberry Pi Code - RGB-Wert Messung
Schnelle Schritte
- Identifizieren Sie die Kalibrierungsvariablen am Code-Anfang:
- Ersetzen Sie alle sechs Null-Platzhalter mit gemessenen Kalibrierungsdaten. Beispiel mit den Werten redMin = 42, redMax = 210, greenMin = 55, greenMax = 185, blueMin = 60, blueMax = 172:
- Speichern Sie den aktualisierten Code in einer Datei, zum Beispiel tcs3200_sensor.py
- Führen Sie das Script aus:
- Platzieren Sie eine farbige Probe vor dem Sensor
- Überprüfen Sie die RGB-Ausgabe im Terminal
Angezeigte RGB-Werte entsprechen der Standard-0-255-Skalierung. Reduzierte Pulsbreiten (die hellere Reflexionen anzeigen) erzeugen höhere RGB-Ausgaben; verlängerte Pulsbreiten (schwächere Reflexionen) ergeben niedrigere Werte.
Projektanwendungen
Mit funktionsfähiger RGB-Messung können Sie entwickeln:
- Chromatisches Sortiersystem: Objekte nach Farbe kategorisieren (Rot/Grün/Blau-Differenzierung)
- Farbverifikationsgerät: Farbkonsistenz zwischen Proben bestätigen
- Farbiger Pfadfolger: Roboter, die entlang chromatischer Markierungen navigieren
- Visuelle Qualitätsinspektion: Produktionsdefekte durch Farbanalyse erkennen
- Farbgesteuerte Automatisierung: Aktionen ausführen, wenn spezifische Farbtöne erkannt werden
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.