TCS3200 Color Sensor with Arduino detailed Tutorial

TCS3200 Color Sensor with Arduino

Hey, Guys welcome back to the Techatronic, in this article I will explain color sensor tcs3200 working and interfacing with the Arduino. As we all are aware of the Arduino and its capabilities with the sensor. today we have a sensor that is capable to sense the color. you can use this color sensor in many projects like a Color sorting machine. Color sensor tcs3200 is low powered sensor small in size and capable to read less than 5 colors. so if you want to learn to interface TCS3200 with Arduino please read full article carefully.  I am giving you the step by step guide to learn the Working of this sensor with the Arduino. There are many other Arduino projects like Obstacle avoiding robot using Arduino you can check it also here.

tcs3200 colour sensor with arduino

How does the sensor work?

The working of this sensor is very simple. there are four LED in the sensor which emits the white light and this light incident on the Sensor main chip which is the combination of 8X8 photodiode. so there is 64 diode in the combination which are embedded in a single small chip. the working depends on the main fact which is, every 16 diodes are coated with a different color.  RED, BLUE, Green, and transparent. when the light refracts from these color patterns every four different colors coated photodiodes will receive the different light frequency. which helps the sensor to differentiate between the color. this is a very logical and conceptual thing in the sensor. suppose if any light source does cover by a different color then you can’t see the original color of the light source so there we are using the same concepts. there is also some factor that controls the brightness of the sensor LED. there is Gesture control robot that is also a good project you can check it here.

 

TCS3200 Color Sensor with Arduino working diagram

if u saw in the given diagram you can see everything in a single diagram. how many patterns and how many colors in a single chip. behind this color matrix, there is a matrix of the photodiode. this array of photodiodes does the whole work. the photodiode is an electronic component that reacts to the incident light. there are electrons inside it that get accelerated due to the light energy that’s why they produced a small amount of current. which can be measure in a different light. now, let’s see the given diagram to understand better.

 

TCS3200 WORKING PRINCIPLE

Features and Specifications

  • Input voltage: (2.7V to 5.5V)
  • Interface: Digital TTL
  • High-resolution conversion of light intensity to frequency
  • Programmable color and full-scale output frequency
  • No need of ADC(Can be directly connected to the digital pins of the microcontroller)
  • Power down feature
  • Working temperature: -40oC to 85oC
  • Size: 28.4×28.4mm(1.12×1.12″)

TCS3200 Color Sensor with Arduino code:-

tcs3200 circuit diagram with arduino

You have to connect all the pins accordingly.

https://www.youtube.com/watch?v=6hG9wtrmNgw

Tcs3200  Arduino Code:-

 
#define S0 4
#define S1 5
#define S2 6
#define S3 7
#define sensorOut 8
int redfrequency = 0;
int greenfrequency = 0;
int bluefrequency = 0;
void setup() {
  pinMode(S0, OUTPUT);
  pinMode(S1, OUTPUT);
  pinMode(S2, OUTPUT);
  pinMode(S3, OUTPUT);
  pinMode(sensorOut, INPUT);
  
  // Setting frequency-scaling to 20%
  digitalWrite(S0,HIGH);
  digitalWrite(S1,LOW);
  
  Serial.begin(9600);
}
void loop() {
  // Setting red filtered photodiodes to be read
  digitalWrite(S2,LOW);
  digitalWrite(S3,LOW);
  // Reading the output frequency
   redfrequency = pulseIn(sensorOut, LOW);
 
  delay(100);
  // Setting Green filtered photodiodes to be read
  digitalWrite(S2,HIGH);
  digitalWrite(S3,HIGH);
  // Reading the output frequency
  greenfrequency = pulseIn(sensorOut, LOW);
  // Printing the value on the serial monitor
 
  delay(100);
  // Setting Blue filtered photodiodes to be read
  digitalWrite(S2,LOW);
  digitalWrite(S3,HIGH);
  // Reading the output frequency
  bluefrequency = pulseIn(sensorOut, LOW);
  // Printing the value on the serial monitor


 if (redfrequency>25 && redfrequency< 77) {Serial.println("RED COLOUR");} else if (bluefrequency>25 && bluefrequency< 77) {Serial.println("BLUE COLOUR");} else if (greenfrequency>25 && greenfrequency< 77)

{Serial.println("GREEN COLOUR");}

 else
 {Serial.println("NO COLOUR DETECTION");}
}

Related Posts

Voltage sensor with Arduino

Interface Voltage sensor with Arduino Uno | Voltage Measure using Arduino

Hey guys. welcome back to the Techatronic. In this tutorial we are going to interface a very useful and unique sensor which is Voltage sensor. Interface Voltage…

water logging

Water Logging Solution Science Project | Water drainage idea

Hey guys welcome back to the Techatronic. So today we have a very good science project which can help us in the rainy days. In rainy season…

Air Pressure sensor HX710B with arduino

Air Pressure sensor HX710B with arduino

Hey guys, welcome back to the techatronic. In this article we are going to explain how can we interface Air Pressure sensor HX710B with Arduino. all the…

Sun Tracking Solar Panel using an Arduino

Sun Tracking Solar Panel using an Arduino

An energy source that is obtained from nature without harming the environment is called renewable energy. Solar energy is one of the most well-known forms of renewable…

Home Security Alarm

Home Security Alarm using Arduino

Hello Guys, Welcome back to Techatronic. Today we are going to build an another interesting project which is called ‘Home Security Alarm’ with the help of Arduino…

Prevention Of Railway Accidents

Prevention Of Railway Accidents Using Arduino Uno

Hey guys, welcome to TechaTronic. Before moving forward in this “Prevention Of Railway Accidents” project lets first discuss about the history of railways. Railways are very common…

Leave a Reply

Your email address will not be published. Required fields are marked *