Professional Documents
Culture Documents
In partial fulfillment
of the requirements for
ECEN 90
(Industrial Electronics)
Submitted to:
Engr. Cenon Lumabad III
Submitted by:
Barcas, Maevielyn
Febrer, Shairelle Anne
Murillo, Stella Jane
Poniente, John Raphael
Tia, Leahlyne Mae
Vallido, Jamey
BS ECE 4-1
May 22, 2019
Sorting of Objects Based on Color by Pick and Place Robotic
Arm with Conveyor Belt
Hello, readers! We are a group of Electronics and Communications Engineering students and we
are here to show you how to build a color-sorting conveyor belt with pick-and-place robotic
arm. Familiar? Yes! A robotic arm that is capable of sorting objects is not a news in the world of
innovative industry, but it still amazes us how electronics world is capable of doing such things!
Ready to learn how to build it? Keep reading!
Step 1: Theory
In many situations, autonomous robots can provide effective solutions to grueling tasks. In this
case, it is desirable to create an autonomous robot that can identify objects from the conveyor
belt and relocate them if the object meets certain criteria. Dealing with a large number of
objects is a very menial task, this is an excellent application for a robot of this type. In this case,
to keep costs and design complexity low, the robot is designed around the platform and uses
several different sensors to collect information about the robot’s environment to allow the
robot to react accordingly. This project aims at the problem given and we are attempting to
solve this by creating an autonomous robot that can identify objects when placed on the
conveyor belt based on color sensing and then sort by relocating them to a specific location. It
will be using a picking arm which uses a servo motor to pick the particular object from the
conveyor belt and place it according to the color sensing.
} Serial.print(blue, DEC);
servoGrip.write(90, 20, true); //open if (red >= 8 && red <= 12 && green >= 5 && green
<= 9 && blue >= 4 && blue <= 8)
servoJoint.write(100, 20, true); //UP
{
servoBase.write(16, 20, true);
Serial.println(" - (Cyan)");
servoJoint.write(78, 20, true); //down
digitalWrite(redLed, HIGH); // Turn RED LED ON else if (red >= 8 && red <= 18 && green >= 23 &&
green <= 36 && blue >= 18 && blue <= 29)
digitalWrite(greenLed, LOW);
{
digitalWrite(blueLed, LOW);
Serial.println(" - (Red)");
cyanBin();
digitalWrite(redLed, HIGH); // Turn RED LED ON
}
digitalWrite(greenLed, LOW);
else if (red >= 5 && red <= 12 && green >= 11 &&
green <= 23 && blue >= 7 && blue <= 15) digitalWrite(blueLed, LOW);
{ redBin();
Serial.println(" - (Pink)"); }
digitalWrite(blueLed, LOW); }
pinkBin(); delay(300);
} digitalWrite(redLed, LOW);
else if (red >= 4 && red <= 8 && green >= 6 && digitalWrite(greenLed, LOW);
green <= 10 && blue >= 9 && blue <= 15)
digitalWrite(blueLed, LOW);
{
}
Serial.println(" - (Yellow)");
void color()
digitalWrite(redLed, HIGH); // Turn RED LED ON
{
digitalWrite(greenLed, LOW);
digitalWrite(s2, LOW);
digitalWrite(blueLed, LOW);
digitalWrite(s3, LOW);
yellowBin();
//count OUT, pRed, RED
}
red = pulseIn(out, digitalRead(out) == HIGH ? LOW :
else if (red >= 19 && red <= 28 && green >= 26 && HIGH);
green <= 33 && blue >= 15 && blue <= 22)
digitalWrite(s3, HIGH);
{
//count OUT, pBLUE, BLUE
Serial.println(" - (Violet)");
blue = pulseIn(out, digitalRead(out) == HIGH ?
digitalWrite(redLed, HIGH); // Turn RED LED ON LOW : HIGH);
// Motor A
void stopMotor(){
void loop(){
//IR Prox Sensor
val = analogRead(sensorpin);
int sensorpin = A0;
Serial.println(val);
int val = 0;
delay(50);
counterClockwise();
void setup()
//Turn On MotorA }
digitalWrite(in1, HIGH);
Step 7: Final Output
After countless of sleepless nights, we are able to finally finish the project. This, we present to
you, our DIY Sorting of Objects Based on Color by Pick and Place Robotic Arm with Conveyor
Belt.