Arduino-basierter Farbdetektor mit Farbsensor TCS230

In diesem Projekt werden wir den TCS3200-Farbsensor mit Arduino UNO verbinden. TCS3200 ist ein Farbsensor, der eine beliebige Anzahl von Farben mit der richtigen Programmierung erkennen kann. TCS3200 enthält RGB (Rot Grün Blau) Arrays. Wie in der Abbildung auf mikroskopischer Ebene gezeigt, kann man die quadratischen Kästchen im Auge des Sensors sehen. Diese quadratischen Boxen sind Arrays von RGB-Matrix. Jede dieser boxen enthalten Drei sensoren, Eine ist für sensing ROT licht intensität, Eine ist für sensing GRÜN licht intensität und die letzte in für sensing BLAU licht intensität.

 TCS230 Farbe Sensor Pinout

Jeder von sensor arrays in diese drei arrays sind ausgewählt separat je nach anforderung. Daher ist es als programmierbarer Sensor bekannt. Das Modul kann gekennzeichnet werden, um die bestimmte Farbe zu spüren und die anderen zu verlassen. Es enthält Filter für diesen Auswahlzweck. Es gibt einen Modus, der kein Filtermodus ist. Ohne Filtermodus erkennt der Sensor weißes Licht.

Komponenten Erforderlich

Hardware: ARDUINO UNO, netzteil (5 v), LED, JHD_162ALCD (16 * 2LCD), TCS3200 farbe sensor.

Software: ARDUINO IDE (ARDUINO nightly).

Schaltplan und Arbeits Erklärung

In 16×2 LCD es sind 16 pins über alle wenn es ist eine zurück licht, wenn es ist keine zurück licht wird es 14 pins. Man kann power oder lassen sie die zurück licht pins. In den 14 Pins befinden sich jetzt 8 Datenpins (7-14 oder D0-D7), 2 Stromversorgungspins (1 & 2 oder VSS & VDD oder GND & + 5v), 3rd Pin für die Kontraststeuerung (VEE-steuert, wie dick die Zeichen angezeigt werden sollen) und 3 Steuerpins (RS& RW& E)

In der Schaltung können Sie beobachten, dass ich nur einen einzigen nahm zwei Steuerstifte. Das Kontrastbit und LESEN / SCHREIBEN werden nicht oft verwendet, so dass sie auf Masse kurzgeschlossen werden können. Dies versetzt das LCD in den höchsten Kontrast- und Lesemodus. Wir müssen nur ENABLE- und RS-Pins steuern, um Zeichen und Daten entsprechend zu senden.

Die Anschlüsse, die für LCD gemacht werden, sind unten angegeben:

PIN1 oder VSS zu boden

PIN2 oder VDD oder VCC zu + 5 v power

PIN3 oder VEE zu boden (gibt maximale kontrast beste für ein anfänger)

PIN4 oder RS (Register Auswahl) zu PIN8 von ARDUINO UNO

PIN5 oder RW (Lesen/Schreiben) zu boden (setzt LCD in lesen modus erleichtert die kommunikation für benutzer)

PIN6 oder E (Ermöglichen) toPIN9 von ARDUINO UNO

PIN11 oder D4 zu PIN7 von ARDUINO UNO

PIN12 oder D5 zu PIN11 von ARDUINO UNO

PIN13 oder D6 zu PIN12 von ARDUINO UNO

PIN14 oder D7 zu PIN13 von ARDUINO UNO

Die verbindungen die sind getan für farbe sensor sind unten angegeben:

VDD zu + 5 V

GND zu BODEN

OE (ausgang Ermöglichen) zu GND

S0 zu UNO pin 2

S1 zu UNO pin 3

S2 zu UNO pin 4

S3 zu UNO pin 5

HERAUS zu UNO pin 10

 Arduino-basierte Farbsensorschaltung

Die Farbe, die vom Farbsensor erfasst werden soll, wird über zwei Pins S2 und S3 ausgewählt. Mit diesen zwei pins logic control wir können sagen sensor, welche farbe licht intensität ist zu gemessen werden.

Angenommen, wir müssen die ROTE Farbintensität erfassen, müssen wir beide Pins auf NIEDRIG setzen. Sobald dies erledigt ist, erkennt der Sensor die Intensität und sendet den Wert an das Steuersystem im Modul.

S2

S3

Fotodioden-Art

L

L

Rot

L

H

Blau

H

L

Klar (kein Filter)

H

H

Grün

Das Kontrollsystem innerhalb des Moduls wird in Abbildung gezeigt. Die licht intensität gemessen durch array ist gesendet zu strom zu frequenz konverter. Was es tut, ist, es gibt eine Rechteckwelle aus, deren Frequenz in Bezug auf den vom ARRAY gesendeten Strom steht.

 Photodioden-Array

Wir haben also ein System, das eine Rechteckwelle aussendet, deren Frequenz von der Lichtintensität der Farbe abhängt, die von S2 und S3 ausgewählt wird.

Die vom Modul gesendete Signalfrequenz kann je nach Verwendung moduliert werden. Wir können die Ausgangssignalfrequenzbandbreite ändern.

S0

S1

Ausgang Frequenz Skalierung (f0)

L

L

Ausschalten

L

H

2%

H

L

20%

H

H

100%

Die Frequenzskalierung erfolgt durch zwei Bits S0 und S1. Der Einfachheit halber beschränken wir die Frequenzskalierung auf 20%. Dies geschieht, indem Sie S0 auf hoch und S1 auf NIEDRIG setzen. Diese Funktion ist praktisch, wenn wir das Modul auf einem System mit niedrigem Takt verwenden.

Die Array empfindlichkeit zu farbe ist gezeigt in unten abbildung.

 Array Empfindlichkeit

Obwohl verschiedene farben haben verschiedene empfindlichkeit, für einen normalen gebrauch wird es nicht machen viel unterschied.

Die UNO hier senden signal zu modul zu erkennen farben und die daten erhalten durch das modul ist gezeigt in die 16*2 LCD verbunden zu es.

Der UNO erkennt drei Farbintensitäten separat und zeigt sie auf dem LCD an.

Die Uno kann erkennen die signal puls dauer durch die wir können erhalten die frequenz von platz welle gesendet durch modul. Mit der vorliegenden Frequenz können wir sie mit der Farbe des Sensors abgleichen.

  1. Int Frequenz = pulseIn(10, NIEDRIG);

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.