How to Make Color Sorting Machine Arduino Based

24,023

84

5

About: Electrical engineer by profession

In this Instructable i will show you how to make a simple color sorting machine machine using Arduino and TCS230,TCS3200 color sensor with servo motors.

In this project Color sensor detect the color of candy and generate output in this output sensor data transfer to arduino arduino will process those data according to code uploaded in it and command servo to move and sort color candy on basis of there color.

https://easyeda.com/sharmaz747/ARDUINO_BASED_COLOR_SHORTING_MACHINE-0babde6e1e5b4b689246787b508acbd6

First watch the video of Machine

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Video

Step 2: Components Required

1) Arduino NANO : - http://amzn.to/2v6ICSm

2) Color sensor :- http://amzn.to/2vHvosg

3) Servo motor :- http://amzn.to/2vHvosg3)

4) Cardboard

5) Color candy

Step 3: Electrical Drawing

Do wiring as shown in figure

Color Sensor Arduino

SO-------------------------D2

S1-------------------------D3

S2-------------------------D4

S3------------------------D5

OUT----------------------D6

VCC---------------------5V

GND--------------------GND


Connect TOP servo signal wire at D7 pin of arduino

Connect Bottom servo signal wire at D8 pin of arduino

Step 4: Machine Assembley

Download the attached PDF file for complete dimension of machine

Bring some cardboard pieces draft the model as per given dimension on cardboard sheet

carefully cut those pieces make sure are accurately cutted to avoid any malfunction during machine run.

Glue all the parts as shown in figure,

To make transparent feed tube i used empty cold drink bottle cut it and took a piece out of it

and fold that sheet in tube like shape and secure with transparent, keep the diameter of tube according to the size of candy so they can pass through it easily at same time not also very loose..

Step 5: Basics of Color Sensor TCS230,3200

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.

Step 6: Final Step (Loading Code & Sensor Data Study)

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.

Invention Challenge 2017

Participated in the
Invention Challenge 2017

Be the First to Share

    Recommendations

    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    5 Discussions

    None
    Abdelrhman Badr

    Question 3 months ago

    Unfortunately, I bought TCS3210 color sensor but it doesn't detect a small things like a candy at our case approximately the reads of "R&G&B" are same for diffrent colors what should I do ??

    None
    dajototo

    10 months ago

    Dear Sir, I apologize in the first place, in case you are upset with my query, and regarding your "instructable: Arudino based color shorting machine", I have built, following your instructions, to the letter, both in As regards the hardware as in the software, the software recognizes the colors, and through the Monitor Series, which I apply in the section of the sketch "if (R <25 & R> 15 & G <33 & G> 23) { color = 1; // YELLOW}, the numbers that my TCS gives, are different, which I do not think that matters, or yes ?. Well the question is as follows, only the upper servo works, the lower one (or bottom) it gets stuck, without moving, and making a very soft hum If I change the pin of the servo that does not activate-it does not work, the one that supplies the candies, pin D8, to pin D7, then..oh !!! magic, if it works, I have checked, line by line, and many times, the code, all correct, I have changed the TCS3200, for others that I have in my workshop, I have changed servos, A Rano Nano, cables, everything, and nothing! I beg of you, if you are so kind, to tell me what the problem may be, and to solve it, I will be extremely grateful.
    Atentamene
    Daniel

    None
    mimax

    Question 1 year ago

    Too much tolerance

    None
    Sarita sgs

    Question 1 year ago

    hi, I want to try to make this machine but I don't understand the model, so I cant draw it and assemble. could you help me please ??

    None
    jfitzpa22

    2 years ago

    what do the red dots in the wiring diagram mean? Shared pins? What sort of wire do I need to connect multiple inputs to the same pin?