Einführung in den RGB-Farbsensor TCS3200

Einführung in den RGB-Farbsensor TCS3200

TCS3200 ist ein Farblicht-Frequenz-Wandler-Chip, der über einen Mikrocontroller programmiert werden kann. Mit dem Modul können mithilfe eines integrierten Mikrocontrollers wie Arduino alle 7 Farben des weißen Lichts erfasst werden.

In diesem Beitrag werden wir uns den RGB-Farbsensor TCS3200 ansehen, die Funktionsweise des Farbsensors verstehen und den TCS3200-Sensor mit Arduino praktisch testen und einige nützliche Daten extrahieren.



Bedeutung der Farberkennung

Wir sehen die Welt jeden Tag, gefüllt mit satten Farben. Haben Sie sich jemals gefragt, was Farben eigentlich sind, außer sie visuell zu fühlen? Nun, Farben sind elektromagnetische Wellen mit unterschiedlichen Wellenlängen. Rot, Grün, Blau hat unterschiedliche Wellenlängen. Das menschliche Auge ist darauf abgestimmt, diese RGB-Farben aufzunehmen, die ein schmales Band aus dem elektromagnetischen Spektrum darstellen.



Wir sehen jedoch mehr als Rot, Blau und Grün, weil unser Gehirn zwei oder mehr Farben mischen kann und eine neue Farbe ausgibt.

Die Fähigkeit, verschiedene Farben zu sehen, half der alten menschlichen Zivilisation, lebensbedrohlichen Gefahren wie Tieren zu entkommen und essbare Gegenstände wie Früchte in ihrem richtigen Wachstum zu identifizieren, die angenehm zu konsumieren sind.



Frauen erkennen besser unterschiedliche Farbtöne (besser farbempfindlich) als Männer, aber Männer können sich schnell bewegende Objekte besser verfolgen und entsprechend reagieren.

Viele Studien legen nahe, dass dies darauf zurückzuführen ist, dass Männer in der Antike wegen ihrer körperlichen Stärke, die Frauen überlegen war, auf die Jagd gehen.

Frauen werden mit weniger riskanten Aufgaben wie dem Sammeln von Früchten und anderen essbaren Gegenständen von Pflanzen und Bäumen geehrt.



Das Sammeln der essbaren Gegenstände von Pflanzen in ihrem richtigen Wachstum (die Farbe der Früchte spielt eine große Rolle) war sehr wichtig für eine gute Verdauung, was den Menschen bei gesundheitlichen Problemen half.

Diese Unterschiede in der Sehfähigkeit von Männern und Frauen bestehen auch in der heutigen Zeit fort.

Okay, warum die obigen Erklärungen für einen elektronischen Farbsensor? Nun, weil die Farbsensoren auf der Grundlage des Farbmodells des menschlichen Auges und nicht auf der Grundlage des Augenfarbmodells anderer Tiere hergestellt werden.

Beispielsweise sind zwei Kameras in Smartphones, eine der Kameras, speziell zum Erkennen von RGB-Farben und eine andere Kamera zum Aufnehmen normaler Bilder ausgelegt. Durch das Mischen dieser beiden Bilder / Informationen mit einem sorgfältigen Algorithmus werden genaue Farben des realen Objekts auf dem Bildschirm reproduziert, die nur Menschen wahrnehmen können.

Hinweis: Nicht alle Doppelkameras funktionieren auf die gleiche Weise wie oben erwähnt. Einige werden zum optischen Zoomen verwendet, andere zum Erzeugen eines Tiefenfeldeffekts usw.

Nun wollen wir sehen, wie TCS3200-Farbsensoren hergestellt werden.

Abbildung des TCS3200-Sensors:

TCS3200 Sensor

Es verfügt über 4 eingebaute weiße LEDs zur Beleuchtung des Objekts. Es hat 10 Pins, zwei Vcc- und GND-Pins (verwenden Sie zwei davon). Die Funktion von S0, S1, S2, S3, S4 und 'out' -Pin wird kurz erläutert.

Wenn Sie sich den Sensor genauer ansehen, sehen Sie etwas wie unten dargestellt:

Es verfügt über ein 8 x 8-Array von Farbsensoren mit insgesamt 64. Der Fotosensorblock verfügt über rote, blaue und grüne Sensoren. Die verschiedenen Farbsensoren werden durch Anwenden verschiedener Farbfilter auf den Sensor gebildet. Von 64 hat es 16 blaue, 16 grüne, 16 rote Sensoren und es gibt 16 Fotosensoren ohne Farbfilter.

Der blaue Farbfilter lässt nur blaues Licht auf den Sensor treffen und lehnt die restlichen Wellenlängen (Farben) ab. Dies gilt auch für die beiden anderen Farbsensoren.

Wenn Sie ein Rot- oder Grünfilter blau beleuchten, fällt im Vergleich zum Blaufilter weniger intensives Licht durch die Grün- oder Rotfilter. Der blau gefilterte Sensor erhält also im Vergleich zu den beiden anderen mehr Licht.

So können wir die Farbsensoren mit RGB-Filtern in einem Block platzieren und jedes farbige Licht ausstrahlen, und der entsprechende Farbsensor empfängt mehr Licht als die beiden anderen.

Durch Messen der Intensität des an einem Sensor empfangenen Lichts kann die Farbe des leuchtenden Lichts sichtbar werden.

Die Schnittstelle des Signals vom Sensor zum Mikrocontroller erfolgt mit Lichtintensität zum Frequenzumrichter.

Schaltplan

Der 'out' -Pin ist der Ausgang. Die Frequenz des Ausgangspins beträgt 50% Einschaltdauer. Die Pins S2 und S3 sind Auswahlleitungen für den Fotosensor.

Sie verstehen es besser, wenn Sie sich die Tabelle ansehen:

Die Pins S2 und S3 sind Auswahlleitungen für den Fotosensor.

Durch Anlegen niedriger Signale an Pin S2 und S3 wird der rote Farbsensor ausgewählt und die Intensität der roten Wellenlänge gemessen.

Befolgen Sie in ähnlicher Weise die obige Tabelle für die restlichen Farben.

Im Allgemeinen werden rote, blaue und grüne Sensoren gemessen, wobei die Sensoren ohne Filter bleiben.

S0 und S1 sind die Frequenzskalierungsstifte:

S0 und S1 sind die Frequenzskalierungsstifte

S0 und S1 sind Frequenzskalierungsstifte zum Skalieren der Ausgangsfrequenz. Die Frequenzskalierung wird verwendet, um die optimale Ausgangsfrequenz vom Sensor zum Mikrocontroller auszuwählen. Bei Arduino werden 20% empfohlen, S0 „HIGH“ und S1 „LOW“.

Die Ausgangsfrequenz wird hoch, wenn die Lichtintensität des entsprechenden Sensors hoch ist. Zur Vereinfachung des Programmcodes wird die Frequenz nicht gemessen, aber die Impulsdauer wird gemessen, je höher die Frequenz, desto geringer die Impulsdauer.

Die Farbe, die auf dem seriellen Monitor am wenigsten angezeigt wird, muss also die Farbe sein, die vor dem Sensor platziert ist.

Daten aus dem Farbsensor extrahieren

Versuchen wir nun praktisch, Daten vom Sensor zu extrahieren:

So extrahieren Sie Daten vom Farbsensor mithilfe der Arduino-Schaltung

Programmcode:

//--------------Program Developed by R.GIRISH--------------//
const int s0 = 4
const int s1 = 5
const int s2 = 6
const int s3 = 7
const int out = 8
int frequency1 = 0
int frequency2 = 0
int frequency3 = 0
int state = LOW
int state1 = LOW
int state2 = HIGH
void setup()
{
Serial.begin(9600)
pinMode(s0, OUTPUT)
pinMode(s1, OUTPUT)
pinMode(s2, OUTPUT)
pinMode(s3, OUTPUT)
pinMode(out, INPUT)
//----Scaling Frequency 20%-----//
digitalWrite(s0, state2)
digitalWrite(s1, state1)
//-----------------------------//
}
void loop()
')
delay(100)
//------Sensing Blue colour----//
digitalWrite(s2, state1)
digitalWrite(s3, state2)
frequency3 = pulseIn(out, state)
Serial.print(' Blue = ')
Serial.println(frequency3)
delay(100)
Serial.println('---------------------------------------')
delay(400)

//--------------Program Developed by R.GIRISH--------------//

Serieller Monitor AUSGANG:

Der Messwert, der den niedrigsten Wert anzeigt, ist die Farbe vor dem Sensor. Sie können auch Code zum Erkennen einer beliebigen Farbe schreiben, z. B. Gelb. Gelb ist das Ergebnis der Mischung von Grün und Rot. Wenn also die gelbe Farbe vor dem Sensor platziert wird, müssen Sie die Messwerte des roten und grünen Sensors berücksichtigen, ähnlich wie bei allen anderen Farben.

Wenn Sie Fragen zu diesem RGB-Farbsensor TCS3200 mit Arduino-Artikel haben, wenden Sie sich bitte an den Kommentarbereich. Möglicherweise erhalten Sie eine schnelle Antwort.

Der oben erläuterte Farbsensor kann auch für verwendet werden Auslösen eines externen Gadgets über ein Relais zum Ausführen einer gewünschten Operation.




Zurück: Passwortgesteuerter AC-Netz-EIN / AUS-Schalter Weiter: Verwenden von TSOP17XX-Sensoren mit benutzerdefinierten Frequenzen