ESP8266 - TCS3200D/TCS230 Farbsensor
Dieses Tutorial führt Sie durch die Verwendung des ESP8266 mit dem TCS3200D/TCS230 Farbsensor für präzise Farberkennung und RGB-Messung.
Im Detail lernen wir:
- Wie Sie den TCS3200D/TCS230 Sensor mit ESP8266 verbinden
- Wie Sie den Sensor für genaue Messwerte kalibrieren
- Wie Sie ESP8266 programmieren, um RGB-Werte zu lesen und anzuzeigen
Hardware Erforderlich
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 Farbsensor verwendet ein Raster von 64 Fotodioden, die in einer 8×8-Matrix angeordnet sind, zur Farberkennung durch wellenlängenspezifische Filterung. Innerhalb dieser Anordnung verwenden 16 Fotodioden rote Wellenlängenfilter, 16 verwenden grüne Wellenlängenfilter, 16 verwenden blaue Wellenlängenfilter, und 16 arbeiten ohne Filterung (klare Antwort). Die Farbmessung erfolgt durch Auswahl bestimmter Filtersätze und Bewertung der Frequenz des Ausgangssignals.
Gängige TCS3200D-Module verfügen über integrierte weiße LED-Beleuchtungsanordnungen, die konsistente Zielbeleuchtung bereitstellen, wodurch Messstabilität unabhängig von externen Beleuchtungsschwankungen gewährleistet und die Empfindlichkeit bei schwachen Lichtverhältnissen verbessert wird.
Pinbelegung
Pin-Konfiguration des TCS3200D/TCS230 Sensormoduls:
- VCC-Pin: Versorgungsspannung (+5V).
- GND-Pin: Massebezug (0V).
- S0, S1-Pins: Ausgangsfrequenz-Skalierungswähler.
- S2, S3-Pins: Farbkanal-Filterwähler.
- OUT-Pin: Frequenzmodulierter Rechteckwellenausgang.
- OE-Pin: Ausgangsfreigabe-Eingang (aktiviert bei LOW). Standardmodule verdrahten dies typischerweise intern fest mit GND. Falls nicht verbunden, manuell mit GND verbinden.

Funktionsweise
Die Sensorfunktion hängt von zwei Hauptsteuerelementen ab: welche Fotodioden-Filtergruppe aktiviert werden soll und welcher Ausgangsfrequenzbereich erzeugt werden soll. Zwei Steuerpinpaare verwalten diese Funktionen:
Frequenzskalierungssteuerung (S0- und S1-Pins):
- S0=LOW, S1=LOW: Ausschaltzustand
- S0=LOW, S1=HIGH: 2% Skalierungsfaktor
- S0=HIGH, S1=LOW: 20% Skalierungsfaktor
- S0=HIGH, S1=HIGH: 100% Skalierungsfaktor (Vollgeschwindigkeit)
Farbkanalauswahl (S2- und S3-Pins):
- S2=LOW, S3=LOW: Rote Fotodioden aktiv
- S2=LOW, S3=HIGH: Blaue Fotodioden aktiv
- S2=HIGH, S3=LOW: Klare Fotodioden aktiv (keine Filterung)
- S2=HIGH, S3=HIGH: Grüne Fotodioden aktiv
Der OUT-Pin liefert Rechteckwellenfrequenzen von etwa 2 Hz bis 500 kHz. Höhere Lichtintensität erzeugt höhere Ausgangsfrequenz. ESP8266s pulseIn()-Funktion misst die Impulsdauer, die umgekehrt korreliert—hellere Beleuchtung erzeugt kürzere Dauern. Kalibrierte Messungen übersetzen in das konventionelle 0-255 RGB-Format.
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
Verbinden Sie den TCS3200 Farbsensor mit ESP8266 wie folgt:
| TCS3200 Farbsensor | ESP8266 |
|---|---|
| VCC | 3V3 |
| GND | GND |
| S0 | D6 (GPIO12) |
| S1 | D7 (GPIO13) |
| S2 | D2 (GPIO4) |
| S3 | D5 (GPIO14) |
| OUT | D1 (GPIO5) |

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.
ESP8266 Code - Sensorkalibrierung
Die Kalibrierung eliminiert Umgebungseinflüsse aus Rohmessungen. Variablen wie LED-Ausgangsstärke, Zielabstand, Materialreflexion und Raumbeleuchtung beeinflussen alle Messwerte. Die Kalibrierungsroutine identifiziert minimale und maximale Impulsbreiten ü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
Um mit ESP8266 in der Arduino IDE zu beginnen, folgen Sie diesen Schritten:
- Schauen Sie sich das Anleitung zur Einrichtung der Umgebung für ESP8266 in Arduino IDE Tutorial an, falls Sie ESP8266 zum ersten Mal verwenden.
- Verdrahten Sie die Komponenten wie im Diagramm gezeigt.
- Verbinden Sie das ESP8266-Board mit Ihrem Computer über ein USB-Kabel.
- Öffnen Sie Arduino IDE auf Ihrem Computer.
- Wählen Sie das richtige ESP8266-Board, wie z.B. (z.B. NodeMCU 1.0 (ESP-12E Module)), und dessen jeweiligen COM-Port.
- Kopieren Sie den Kalibrierungscode und öffnen Sie ihn in Arduino IDE.
- Klicken Sie auf die Upload-Schaltfläche, um zu kompilieren und auf ESP8266 hochzuladen.
- Öffnen Sie den Serial Monitor.
- Richten Sie den Sensor auf verschiedene Oberflächen: weiß (Papier), schwarz und verschiedene Farben.
- Beobachten Sie, wie sich die Min/Max-Werte automatisch aktualisieren.
- Wenn sich die Werte stabilisiert haben (typischerweise 10-20 Sekunden), notieren Sie alle sechs Kalibrierungsparameter.
Beispiel-Kalibrierungsparameter aus der obigen Ausgabe:
- RedMin = 42, redMax = 210
- GreenMin = 55, greenMax = 185
- BlueMin = 60, blueMax = 172
ESP8266 Code - RGB-Werte auslesen
Schnelle Schritte
- Lokalisieren Sie die Kalibrierungsvariablen am Code-Anfang:
- Ersetzen Sie alle sechs Null-Platzhalter mit den gemessenen Kalibrierungsdaten. Beispiel mit Werten redMin = 42, redMax = 210, greenMin = 55, greenMax = 185, blueMin = 60, blueMax = 172:
- Laden Sie den aktualisierten Code auf ESP8266 hoch.
- Positionieren Sie ein farbiges Objekt vor dem Sensor.
- Öffnen Sie Serial Monitor, um RGB-Messungen zu betrachten.
Angezeigte RGB-Werte entsprechen der Standard-0-255-Skalierung. Reduzierte Impulsbreiten (die hellere Reflexionen anzeigen) erzeugen höhere RGB-Ausgaben; erweiterte Impulsbreiten (schwächere Reflexionen) ergeben niedrigere Werte.
Aus den RGB-Werten können Sie:
- Spezifische Farben durch Vergleich von RGB-Verhältnissen identifizieren
- Objekte nach Farberkennung sortieren
- Farben zwischen verschiedenen Proben abgleichen
- Aktionen basierend auf erkannten Farben auslösen
Projektanwendungen
Mit funktionsfähiger RGB-Messfunktion können Sie entwickeln:
- Chromatisches Sortiersystem: Objekte nach Farben kategorisieren (Rot/Grün/Blau-Unterscheidung)
- Farbverifikationsgerät: Farbkonsistenz zwischen Proben bestätigen
- Farbiger Pfadfolger: Roboter, die entlang chromatischer Markierungen navigieren
- Visuelle Qualitätsinspektion: Produktionsdefekte durch Farbanalyse erkennen
- Farbausgelöste 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.