Arduino Nano - TCS3200D/TCS230 Farbsensor
Dieser umfassende Leitfaden zeigt Ihnen, wie Sie den TCS3200D/TCS230 Farbsensor mit Arduino Nano für präzise Farbmessung und RGB-Wertextraktion verbinden. Beherrschen Sie Kalibrierungsverfahren und entwickeln Sie Farberkennungsfähigkeiten in Ihren Projekten.
Lernziele:
- Verbindungen zwischen TCS3200D/TCS230 und Arduino Nano herstellen
- Sensorkalibrierung zur Eliminierung von Umweltrauschen durchführen
- Arduino Nano Programme für RGB-Farbmessung 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 verwendet eine Photodioden-Matrix in einem 8×8 Raster 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 Antwort). Die Farbmessung erfolgt durch Aktivierung spezifischer Filtersätze und Analyse des resultierenden frequenzmodulierten Rechteckwellen-Ausgangs.
Integrierte weiße LED-Arrays auf typischen Modulen liefern konstante Beleuchtung an Ziele und erhalten die Lesestabilität unabhängig von externen Beleuchtungsschwankungen bei und verbessern die Leistung in schwach beleuchteten Umgebungen.
Pinout
Verfügbare Verbindungen am TCS3200D/TCS230 Sensorboard:
- VCC-Pin: Versorgungsspannungseingang (+5V).
- GND-Pin: Masse-Referenz (0V).
- S0, S1 Pins: Ausgangsfrequenz-Skalierungsselektoren.
- S2, S3 Pins: Farbkanal-Filterselektoren.
- OUT-Pin: Frequenzmodulierter Rechteckwellen-Ausgang.
- OE-Pin: Output Enable Eingang (aktiviert bei LOW). Standard-Module verbinden dies normalerweise 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 (S0 und S1 Pins):
- S0=LOW, S1=LOW: Power-Down-Zustand
- S0=LOW, S1=HIGH: 2% Skalierungsfaktor
- S0=HIGH, S1=LOW: 20% Skalierungsfaktor
- S0=HIGH, S1=HIGH: 100% Skalierungsfaktor (volle Geschwindigkeit)
Farbkanalauswahl (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 Frequenzausgabe. Die pulseIn() Funktion misst die Pulsdauer, die umgekehrt korreliert—kürzere Dauern zeigen stärkeres Licht an. Kalibrierte Messungen werden in das konventionelle 0-255 RGB-Format übersetzt.
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 Arduino Nano Verkabelungskonfiguration:
| TCS3200 Farbsensor | Arduino Nano |
|---|---|
| VCC | 5V |
| GND | GND |
| S0 | D4 |
| S1 | D3 |
| S2 | D6 |
| S3 | D5 |
| OUT | D7 |

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.
Arduino Nano Code - Pulsbreiten-Kalibrierung
Die Kalibrierung eliminiert Umweltinterferenzen aus Rohmessungen. Variablen wie LED-Ausgangsstärke, Zielabstand, Materialreflektivität und Raumbeleuchtung beeinflussen alle Messwerte. Betrachten Sie diese als systematische Fehler, die gemessen werden müssen. Die Kalibrierungsroutine identifiziert minimale und maximale Pulsbreiten über alle Farbkanäle und etabliert Referenzgrenzen für die Umwandlung von Rohdaten in genaue 0–255 RGB-Werte, die zu Ihrer Einsatzumgebung passen.
Schnelle Schritte
- Laden Sie den Kalibrierungssketch in die Arduino IDE
- Verbinden Sie Arduino Nano über USB und laden Sie mit dem Upload-Button hoch
- Öffnen Sie den Serial Monitor zur Beobachtung der Echtzeit Min/Max-Verfolgung
- Setzen Sie den Sensor verschiedenen Oberflächen aus: weiße Materialien (Druckerpapier), schwarze Objekte plus mehrfarbige Gegenstände
- Beobachten Sie, wie sich Min/Max-Grenzen automatisch aktualisieren, wenn Extreme erkannt werden
- Sobald sich die Werte stabilisieren (normalerweise 10-20 Sekunden), dokumentieren Sie alle sechs Kalibrierungsparameter
Beispiel-Kalibrierungsparameter aus obiger Ausgabe extrahiert:
- RedMin = 42, redMax = 210
- GreenMin = 55, greenMax = 185
- BlueMin = 60, blueMax = 172
Arduino Nano Code - RGB-Wert-Messung
Schnelle Schritte
- Identifizieren Sie Kalibrierungsvariablen am Code-Anfang:
- Ersetzen Sie alle sechs Null-Platzhalter mit gemessenen Kalibrierungsdaten. Beispiel mit Werten redMin = 42, redMax = 210, greenMin = 55, greenMax = 185, blueMin = 60, blueMax = 172:
- Übertragen Sie den aktualisierten Code auf Arduino Nano
- Platzieren Sie eine Farbprobe vor dem Sensor
- Überprüfen Sie die RGB-Ausgabe über den Serial Monitor
Die angezeigten RGB-Werte entsprechen der Standard-0-255-Skalierung. Reduzierte Pulsbreiten (die hellere Reflexionen anzeigen) erzeugen höhere RGB-Ausgaben; erweiterte Pulsbreiten (schwächere Reflexionen) ergeben niedrigere Werte.
Projektanwendungen
Mit operativer RGB-Messfähigkeit können Sie entwickeln:
- Chromatisches Sortiersystem: Objekte nach Farbe kategorisieren (Rot/Grün/Blau-Unterscheidung)
- Farbverifikationsgerät: Farbkonsistenz zwischen Proben bestätigen
- Farblinien-Folger: Roboter, die entlang chromatischer Markierungen navigieren
- Visuelle Qualitätsinspektion: Produktionsdefekte via 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.