ESP32 S3 - TCS3200D/TCS230 Farbsensor
Lernen Sie, wie Sie den TCS3200D/TCS230-Farbsensor für eine genaue RGB-Farberkennung an Ihren ESP32 S3 anschließen. Dieses einsteigerfreundliche Tutorial behandelt Verdrahtung, Kalibrierung und Farbmessungen in Echtzeit mit Ihrem ESP32 S3.
Was Sie bauen werden:
- Eine verdrahtete Verbindung zwischen dem TCS3200D/TCS230-Farbsensor und dem ESP32 S3
- Einen Kalibrierungs-Sketch, der minimale und maximale Pulsbreiten für jeden Farbkanal erfasst
- Einen Sketch zum Farbauslesen, der Rohdaten des Sensors in Standard-RGB-Werte (0–255) umwandelt
- Eine Ausgabe im seriellen Monitor, die Farbmessungen für rote, grüne und blaue Objekte in Echtzeit anzeigt

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über TCS3200D/TCS230 Color Sensor
Der TCS3200D/TCS230 ist ein optischer Sensor, der Farben erkennt, indem er Lichtreflexionen über spezielle Fotodioden-Filter misst. Er gibt ein Rechtecksignal aus, dessen Frequenz proportional zur erfassten Lichtintensität ist, wodurch er sich einfach an die digitalen Eingangspins des ESP32 S3 anschließen lässt. Seine integrierten weißen LEDs sorgen für eine gleichmäßige Beleuchtung, sodass die Messwerte unter verschiedenen Umgebungslichtbedingungen zuverlässig bleiben.
Wichtige Spezifikationen
- 64 Fotodioden in einer 8×8-Matrix (16 Rot-, 16 Grün-, 16 Blau- und 16 Klarfilter)
- Frequenzausgang proportional zur Lichtintensität
- Betriebsspannung: 2,7 V bis 5,5 V (5 V empfohlen)
- Integrierte weiße LED-Beleuchtung für gleichmäßige Messwerte
- Ausgangsfrequenzbereich: 2 Hz bis 500 kHz
- Ideal für Einsteiger: einfacher digitaler Ausgang, keine komplexe Analogmessung
Pinbelegung
Der TCS3200D/TCS230-Farbsensor hat 8 Anschlusspins, die jeweils eine bestimmte Aufgabe bei Stromversorgung, Steuerung und Signalausgabe erfüllen:
- VCC: Eingang der Stromversorgung (mit 5 V verbinden)
- GND: Masseanschluss (0-V-Bezug)
- S0: Steuerpin 1 für die Frequenzskalierung
- S1: Steuerpin 2 für die Frequenzskalierung
- S2: Pin 1 zur Farbfilterauswahl
- S3: Pin 2 zur Farbfilterauswahl
- OUT: Pin für das Frequenzausgangssignal (mit einem digitalen Pin des ESP32 S3 verbinden)
- OE: Ausgangsfreigabe-Pin (aktiv LOW, normalerweise mit GND verbunden)

Funktionsweise
Der TCS3200-Farbsensor arbeitet mit zwei Steuersystemen:
Frequenzskalierung (Pins S0 und S1):
- S0=LOW, S1=LOW: Energiesparmodus (ausgeschaltet)
- S0=LOW, S1=HIGH: 2 % Frequenzskalierung
- S0=HIGH, S1=LOW: 20 % Frequenzskalierung
- S0=HIGH, S1=HIGH: 100 % Frequenzskalierung (empfohlen)
Farbfilterauswahl (Pins S2 und S3):
- S2=LOW, S3=LOW: Rotfilter aktiv
- S2=LOW, S3=HIGH: Blaufilter aktiv
- S2=HIGH, S3=LOW: Klarfilter (keine Filterung)
- S2=HIGH, S3=HIGH: Grünfilter aktiv
So funktionieren die Messungen:
- Der OUT-Pin gibt ein Rechtecksignal aus
- Die Frequenz steigt mit hellerem Licht (2 Hz bis 500 kHz)
- Der ESP32 S3 misst die Pulsbreite mit pulseIn()
- Kürzere Pulse = helleres Licht = höhere Farbintensität
- Die Kalibrierung wandelt Pulsbreiten in Standard-RGB-Werte (0-255) um
Messgenauigkeit maximieren
Befolgen Sie diese Tipps für genaue Farbmessungen mit dem TCS3200:
- Halten Sie einen festen Abstand von 1-3 cm zwischen Sensor und Objekt ein
- Positionieren Sie den Sensor in einem gleichbleibenden Winkel (senkrecht funktioniert am besten)
- Verwenden Sie die integrierten weißen LEDs für eine stabile Beleuchtung
- Schirmen Sie den Sensor nach Möglichkeit vor externen Lichtquellen ab
- Führen Sie die Kalibrierung in Ihrer tatsächlichen Arbeitsumgebung durch
- Testen Sie auf flachen, matten Oberflächen, um die besten Ergebnisse zu erzielen
Verdrahtungsdiagramm
Verbinden Sie den TCS3200D-Farbsensor anhand der Pinzuordnung in der folgenden Tabelle mit Ihrem ESP32 S3. Der Sensor arbeitet mit 5 V, die der ESP32 S3 bei USB-Versorgung über seinen 5V-Pin bereitstellt, sodass keine zusätzliche Spannungsregelung erforderlich ist.
Sicherheitshinweise
Der TCS3200-Sensor funktioniert am besten mit einer 5-V-Versorgung, die der ESP32 S3 bei USB-Versorgung über den 5V-Pin liefern kann. Die Signalleitungen des Sensors werden bei den meisten Modulen ohne Pegelwandler direkt mit den digitalen Pins des ESP32 S3 verbunden. Überprüfen Sie jedoch vor dem Anschließen die Ausgangsspannung Ihres Moduls.
| TCS3200 Farbsensor | ESP32 S3 |
|---|---|
| VCC | 5V |
| GND | GND |
| S0 | GPIO41 |
| S1 | GPIO40 |
| S2 | GPIO16 |
| S3 | GPIO7 |
| OUT | GPIO18 |

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
ESP32 S3 Code - Sensorkalibrierung
Der folgende Code richtet den TCS3200-Sensor an Ihrem ESP32 S3 ein und führt Sie durch einen Kalibrierungsprozess, der den gesamten Dynamikbereich Ihres Sensors und Ihrer Umgebung erfasst. Laden Sie diesen Sketch zuerst hoch und halten Sie den Sensor dann an verschiedene Farben – von hellem Weiß bis zu tiefem Schwarz –, damit er genaue minimale und maximale Pulsbreitenwerte für jeden Kanal aufzeichnen kann.
Was dieser Code macht:
- Schaltet den Sensor mit voller Frequenzskalierung (100 %) ein
- Wechselt nacheinander zwischen Rot-, Grün- und Blaufilter
- Erfasst minimale und maximale Pulsbreiten für jede Farbe
- Aktualisiert die Kalibrierungswerte fortlaufend, während Sie verschiedene Farben zeigen
- Zeigt Messwerte in Echtzeit im seriellen Monitor an
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Bauteile verdrahten: Folgen Sie dem obigen Verdrahtungsplan, um alle Pins korrekt anzuschließen.
- Board anschließen: Verbinden Sie den ESP32 S3 über ein USB-C-Kabel mit Ihrem Computer.
- Arduino IDE öffnen: Starten Sie die Software auf Ihrem Computer.
- Board auswählen: Wählen Sie im Menü Tools den ESP32 S3 und den richtigen COM-Port aus.
- Code kopieren: Fügen Sie den Kalibrierungscode in einen neuen Arduino-IDE-Sketch ein.
- Code hochladen: Klicken Sie auf die Schaltfläche Upload und warten Sie, bis der Vorgang abgeschlossen ist.
- Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein, um die Kalibrierungsdaten anzuzeigen.
- Auf weiße Objekte richten: Beginnen Sie mit hellweißem Papier oder hellweißen Oberflächen.
- Auf schwarze Objekte richten: Wechseln Sie zu dunklen, schwarzen Oberflächen.
- Auf farbige Objekte richten: Zeigen Sie dem Sensor verschiedene farbige Gegenstände (rot, grün, blau, gelb usw.).
- Stabilisierung der Werte beobachten: Nach 10-20 Sekunden ändern sich die Min/Max-Werte nicht mehr wesentlich.
- Werte notieren: Schreiben Sie alle sechs Zahlen auf (redMin, redMax, greenMin, greenMax, blueMin, blueMax).
- Profi-Tipp: Halten Sie während der Kalibrierung einen gleichbleibenden Sensorabstand (2-3 cm) ein, um möglichst genaue Ergebnisse zu erzielen.
Kalibrierungswerte aus diesem Beispiel:
- RedMin = 38, redMax = 210
- GreenMin = 51, greenMax = 185
- BlueMin = 58, blueMax = 172
ESP32 S3 Code - RGB-Farbwerte auslesen
Der folgende Code verwendet Ihre notierten Kalibrierungswerte, um genaue, normierte RGB-Werte vom TCS3200-Sensor zu liefern. Nachdem Sie Ihre Kalibrierungswerte eingetragen haben, laden Sie den Sketch hoch und richten den Sensor auf verschiedenfarbige Oberflächen, um die RGB-Ausgabe in Echtzeit im seriellen Monitor zu sehen. Die Messwerte werden fortlaufend aktualisiert, während Sie farbige Objekte in den Erfassungsbereich bewegen.
Was dieser Code macht:
- Verwendet Ihre Kalibrierungswerte, um die Sensormesswerte zu normieren
- Misst nacheinander den roten, grünen und blauen Kanal
- Wandelt Roh-Pulsbreiten in das Standard-RGB-Format (0-255) um
- Zeigt die Farbwerte fortlaufend im seriellen Monitor an
- Aktualisiert die Messwerte in Echtzeit, während Sie farbige Objekte bewegen
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Kalibrierungsvariablen finden: Suchen Sie diese Zeilen im oberen Teil des Codes (etwa Zeile 10-15):
- Kalibrierungswerte eintragen: Ersetzen Sie alle Nullen durch die Zahlen, die Sie bei der Kalibrierung notiert haben. Zum Beispiel:
- Code hochladen: Klicken Sie auf Upload, um den geänderten Code auf Ihren ESP32 S3 zu übertragen.
- Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein, um die RGB-Werte zu sehen.
- Mit farbigen Objekten testen: Halten Sie rote, grüne, blaue, gelbe oder andere farbige Gegenstände vor den Sensor.
- RGB-Werte ablesen: Beobachten Sie, wie sich die Farbmessungen im seriellen Monitor in Echtzeit aktualisieren.
- Profi-Tipp: Für gleichbleibende Ergebnisse sollten Sie immer denselben Abstand und dieselben Lichtverhältnisse wie bei der Kalibrierung beibehalten.
Die Ausgabe verstehen:
- Die Werte reichen von 0 (keine Farbe erkannt) bis 255 (maximale Intensität)
- Höhere Zahlen bedeuten, dass mehr von dieser Farbe reflektiert wird
- Die ersten drei Zeilen zeigen ein rotes Objekt (hoher Rotwert, niedrige Grün-/Blauwerte)
- Die mittleren drei Zeilen zeigen ein grünes Objekt (hoher Grünwert)
- Die letzten drei Zeilen zeigen ein blaues Objekt (hoher Blauwert)
Projektanwendungen
Der ESP32 S3 in Kombination mit dem TCS3200D/TCS230-Sensor eröffnet eine Vielzahl farbbezogener Projekte – von einfachen Erkennungsaufgaben bis hin zu komplexen automatisierten Systemen.
- Automatischer Farbsortierer: M&Ms, LEGO-Steine oder Perlen mit einem Servomechanismus nach Farbe sortieren
- Farbzuordnungsspiel: Benutzer herausfordern, Objekte zu finden, die einem Ziel-RGB-Wert entsprechen
- Linienfolgender Roboter: Einen Roboter bauen, der farbigen Klebebandpfaden auf dem Boden folgt
- Qualitätskontrollsystem: Fehlerhafte Produkte durch Vergleich der Farben mit Referenzstandards erkennen
- Intelligente Lichtsteuerung: RGB-LED-Farben automatisch an erkannte Umgebungsfarben anpassen
- Wandfarben-Erkenner: Ein Handgerät bauen, das Wandfarben für die Wohnungsgestaltung erkennt
- Lehrreicher Farbmischer: Die additive Farbtheorie durch Anzeige der RGB-Werte gemischter Farben veranschaulichen
Video-Bereich
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.
Fordern Sie sich heraus
Diese Herausforderungen bringen Ihre Fähigkeiten mit dem ESP32 S3 und dem TCS3200 weiter voran – von einfachem LED-Feedback bis hin zu vollständigen Anwendungen mit drahtloser Farbübertragung.
- Anfänger: Eine RGB-LED hinzufügen, die in der vom Sensor erkannten Farbe leuchtet
- Anfänger: Bei erkannten Grundfarben Farbnamen („Rot“, „Grün“, „Blau“) statt nur Zahlen anzeigen
- Fortgeschritten: Ein Farb-Memory-Spiel bauen, das zufällige Farben anzeigt und testet, ob Benutzer sie zuordnen können
- Fortgeschritten: Ein farbbasiertes Sicherheitssystem erstellen, das nur entriegelt, wenn ein bestimmtes farbiges Objekt gezeigt wird
- Experte: Einen vollständigen Farbsortierer mit Servomotoren bauen, der Objekte physisch nach Farbe in Behälter sortiert
- Experte: Eine Smartphone-App entwickeln, die RGB-Werte vom ESP32 S3 über Bluetooth empfängt und die tatsächliche Farbe auf dem Bildschirm anzeigt