Der TCS34725-Sensor ist ein sehr nützliches Werkzeug für Elektronikprojekte, bei denen Sie Farben genau messen müssen. Wenn Sie mit Arduino arbeiten und sich für die Farberkennung interessieren, ist dieses Gerät eine großartige Option. Es wird häufig verwendet, um Farben in ihre RGB-Komponenten (Rot, Grün und Blau) zu zerlegen und genaue Messungen zu erhalten. Der Sensor hat außerdem den Vorteil, über eine I2C-Kommunikationsschnittstelle zu verfügen, die seine Integration und Messwerte erleichtert.
In diesem Artikel werden wir ausführlich untersuchen, wie der Farbsensor TCS34725 funktioniert und wie Sie ihn einfach in Arduino-Projekten verwenden können.
Was ist der TCS34725-Sensor? Es handelt sich um ein optisches Gerät, das das Lesen von Farben im RGB-Format erleichtert. Es handelt sich um einen hochpräzisen und modernen Sensor, der andere ältere Modelle wie den TCS3200 übertrifft. Der TCS34725 verfügt über ein Fotodiodenarray, das Filter für die drei Grundfarben (Rot, Grün und Blau) enthält, sowie eine filterlose („klare“) Fotodiode, die die Gesamtmenge des einfallenden Lichts misst.
Der Sensor zeichnet sich durch die Integration eines Infrarotfilters aus, der die Präzision in Umgebungen mit vielen Lichtinterferenzen verbessert. Es ist außerdem recht anpassungsfähig, da wir Parameter wie Integrationszeit und Verstärkung per Software anpassen können. Dieses Gerät ist empfindlich genug, um bei schlechten Lichtverhältnissen zu funktionieren, selbst wenn sich zwischen dem Sensor und dem zu messenden Objekt ein Schutzglas befindet.
Aus Gründen der Benutzerfreundlichkeit ist der TCS34725-Sensor normalerweise in handelsübliche Module integriert, die über eine neutrale LED-Beleuchtung verfügen. Die LED kann einfach über Arduino gesteuert und an die Anforderungen des Projekts angepasst werden.
Merkmale und Vorteile des TCS34725
Der TCS34725 hebt sich durch mehrere Hauptmerkmale von anderen RGB-Sensoren auf dem Markt ab. Sie können beispielsweise die Verstärkung und die Belichtungszeit anpassen, um genauere Messwerte zu erhalten. Nachfolgend zeigen wir einige der Hauptvorteile:
- Infrarotfilter: Dies ermöglicht genauere Messwerte, da ein Großteil des durch nicht sichtbare Lichtquellen wie direktes Sonnenlicht verursachten Rauschens eliminiert wird.
- Hohe Empfindlichkeit: Sein Dynamikumfang ist beeindruckend und eignet sich auch für Umgebungen mit wenig Licht.
- Beleuchtung LED-Steuerung: Die meisten Module integrieren eine LED, die vom Arduino selbst gesteuert werden kann und für eine konstante Beleuchtung der Messwerte sorgt.
Sensoranschlussplan
Der Anschluss des Sensors an den Arduino ist dank seiner I2C-Schnittstelle sehr einfach. Der TCS34725-Sensor kann mit einer 3.3-V- oder 5-V-Versorgung betrieben werden und ist somit mit einer Vielzahl von Mikrocontrollern kompatibel. Nachfolgend geben wir Ihnen die Schritte zum korrekten Anschließen:
- VCC: Schließen Sie den Arduino an 5 V an.
- Masse: Mit GND verbinden.
- SDA: Es wird an Pin A4 des Arduino angeschlossen (bei Modellen wie dem UNO).
- SCL: Es wird an Pin A5 des Arduino angeschlossen.
Beachten Sie, dass einige Module möglicherweise über zusätzliche Pins verfügen, z. B. die LED, mit der Sie ihr Verhalten über den Arduino selbst steuern können, um Strom zu sparen oder es an die Bedingungen Ihrer Messumgebung anzupassen.
Bibliotheken und Code für TCS34725
Es stehen mehrere Bibliotheken zur Verfügung, die die Arbeit mit diesem RGB-Sensor erleichtern, aber eine der am meisten empfohlenen und am weitesten verbreiteten ist die Adafruit-Bibliothek mit dem Namen „Adafruit_TCS34725“. Sie können es direkt über den Arduino IDE-Bibliotheksmanager installieren.
Um es zu installieren, gehen Sie folgendermaßen vor:
- Öffnen Sie die Arduino-IDE, gehen Sie zur Registerkarte Werkzeuge und wählen Sie Bibliothek einbinden -> Bibliotheken verwalten.
- Schreiben Adafruit TCS34725 und wählen Sie „Installieren“. Auf diese Weise ist die Bibliothek einsatzbereit.
Sobald Sie es installiert haben, können Sie den folgenden Basiscode verwenden, um den TCS34725-Sensor zu testen. Dieser Code ruft einfach die RGB-Werte ab und zeigt sie über die serielle Schnittstelle an:
#enthalten #include "Adafruit_TCS34725.h"Adafruit_TCS34725 tcs = Adafruit_TCS34725();void setup() { Serial.begin(9600); if (!tcs.begin()) { Serial.println("Sensor nicht gefunden"); während (1); }}void loop() { uint16_t r, g, b, c; tcs.getRawData(&r, &g, &b, &c); Serial.print("Rot: "); Serial.println(r); Serial.print("Grün: "); Serial.println(g); Serial.print("Blau: "); Serial.println(b); Verzögerung (1000); }
Sensorkalibrierung und -verwendung
Es ist wichtig zu beachten, dass der TCS34725-Sensor für eine höhere Genauigkeit kalibriert werden muss. Dies liegt an den Einschränkungen jedes Messgeräts. Bei der Kalibrierung werden im Allgemeinen die Verstärkungs- und Integrationszeitwerte angepasst, um genaue Messwerte unter den Lichtbedingungen Ihrer Umgebung zu erhalten.
Bedenken Sie außerdem, dass glänzende Oberflächen aufgrund von Reflexionen zu falschen Messwerten führen können. Wenn Sie mit stark reflektierenden Oberflächen arbeiten, empfiehlt es sich, den Sensor mit etwas mattem Material abzudecken oder einen Polarisationsfilter anzubringen.
TCS34725 Farbsensoranwendungen
Dieser Sensor eignet sich perfekt für Projekte, bei denen Sie Farben genau erkennen müssen. Zu den Anwendungen des TCS34725 gehören:
- Klassifizierung von Objekten nach ihrer Farbe.
- Umgebungslichtsysteme, bei denen die Beleuchtung automatisch an die vorherrschende Farbe der Umgebung angepasst werden kann.
- Duplizierung von Farben in RGB-LED-Streifen wie WS2812B.
In fortgeschrittenen Projekten kann dieser Sensor auch zur Messung der Farbtemperatur und der Lichtmenge in einer Szene verwendet werden, was bei Fotografie- oder Smart-Lighting-Projekten nützlich ist.