Hello friends, I have made a candy color sorting machine using an Arduino Nano, a NEMA 17 motor, and a TCS3200 color sensor
In this project, the color sensor detects the color of candy and generates output in this output sensor data transfer to Arduino. The Arduino will process this data according to the code uploaded in it and command the servo to move and sort color candy on basis of their color.
For this project, I built a custom PCB and ordered it from JLCPCB.COM.
JLCPCB.COM offers very great price for PCB like only $2 for 10 PCBs and no extra cost for color boards.
How to get PCB cash coupon: https://bit.ly/2GMCH9w
In this video, you can watch the complete details of the project.
The TCS230 programmable color light-to-frequency converter combines configurable silicon photodiodes and
A current-to-frequency converter on single monolithic CMOS integrated circuit.
The output is a square wave (50% duty cycle) with frequency directly proportional to light intensity (irradiance). The full-scale output frequency can be scaled by one of three preset values via two control input pins. Digital inputs and digital output allow direct interface to a microcontroller or other logic circuitry.
Output enable (OE) places the output in the high-impedance state for multiple-unit sharing of a microcontroller input line. The light-to-frequency converter reads an 8 x 8 array of photodiodes. Sixteen photodiodes have blue filters, 16 photodiodes have green filters,
16 photodiodes have red filters, and 16 photodiodes are clear with no filters. The four types (colors) of photodiodes are interdigitated to minimize the effect of non-uniformity of incident irradiance. All 16 photodiodes of the same color are connected in parallel and which type of photodiode the device uses during operation is pin-selectable. Photodiodes are 120 µm x 120 µm in size and are on 144-µm centers.
Before going further we must know what vale will sensor gives when different colors are take in fornt of the sensor
So first wire the sensor and arduino as shown in picture you may skip to attache those servo at this point of time. Load the code attached here to your arduino board open the serial monitor
You are getting some value like R= ** G= ** B= ** ** are any numbers now bring color sheet in front of the sensor you will see the RGB numbers are change and keeps repeating as soon as you keep that color sheet in front of that sensor.
you will get different set of RGB numbers for different, so it is clear that sensor detect different colors and gives different value. now we have to write down the RGB value for the color which are going to use in project for example when I bring YELLOW color in front of sensor I get
R=22 G=29 B=32
so I can say that
if (R>17 & R<27 & G>25 & G<34)
COLOR=YELLOW;
here I kept margin of +-5 for RGB values to compensate the fluctuate sensor values. in this way take the readings of different colors which you need to use and add those values in code at this place
if(R<25 & R>15 & G<33 & G>23) {color = 1; // YELLOW }
if(R<55 & R>45 & G<49 & G>39) {color = 2; // GREEN }
if(R<70 & R>60 & G<10 & G>20){color = 3; // PINK }
if(R<7 & R>11 & G<21 & G>35){color = 4; // Red and upload the code connect the both servos fix all the required components load the color candy in tube and your machine is ready to short the candy of different colors.
Comments