You are on page 1of 9

Industrial Electronics

Laboratory Project

Submitted to the Faculty of the


Department of Computer and Electronics Engineering
College of Engineering and Information Technology
Cavite State University
Indang, Cavite

In partial fulfillment
of the requirements for
ECEN 85
(Industrial Electronics)

Submitted to:
Engr. Cenon D. Lumabad III

Submitted by:
Arle, Jan Renn
Calubayan, Angelika Joyce
Mendoza, Hillary
Saguibo, Mat Seigfried
Santos, Nicko
Valenzuela, Kristine A.

BS EcE 4-1

May 31, 2019


Conveyor Belt with Pick and Place Arm
These days, people always needed additional help systems. With the rapid
increase in the flow of information, people are now guided to search for different ideas
and techniques to manufacture their own products cheaply. Automation systems are
also needed to realize this. Because standardized automation systems are required to
minimize errors as well as to have experienced and well – trained employees for quality
products. Because of their physical characteristics, people needed to use auxiliary
machines in places where their strength was not enough. These machines, which are
operated with the need for human assistance in advance, have been made to operate
spontaneously without the necessity of human power with the progress of technology.
One of the most used components of automation systems is robot.
In this project, we got our inspiration from our professor, and have been done
and implemented in order to have knowledge about mechanics and software during the
operations carried out by the conveyor belt with robot arm which is designed to fulfill the
tasks determined in accordance with predetermined commands.

STEP 1: Prepare the Parts


Materials
Most of the materials/components for this robot is bought from Makerlab Electronics, Hardware
and Deeco Electronics Shop.
Quantity Material Price (Peso) Total

- Wood - -
- Stick - -
1 PVC Pipe 50 50
- Linoleum - -
2 Mighty Bond 20 40
2 Arduino Uno - -
- Connecting Wires 80 80
4 Double A Battery 16 64
1 Ultrasonic Sensor 70 70
2 DC Motor 100 200
3 Servo Motor 200 600
1 RGB Sensor 350 350
Hbridge Driver Module
1 150 150
(L298)
Sum Total: 1,604
STEP 2: Construction
Construction is pretty easy, no special tools needed.
FOR CONVEYOR
The rigidity of the conveyor comes from the plywood with enough length for the
prototype.

Cut the PVC tube to length with a saw. Make sure to measure it well, as it helps
to have the all the same length.
Attach a roller bearing assembly to the plywood at each roller position. It is
needed to drill enough holes, same diameter as the stick to be used. When PVC tube is
pushed between the two plywood together with the roller bearing, it provides enough
friction to turn the pipe. We need to find a way to drive this rod. With the help of the DC
motor, it is fasten to a stick which is attached in the middle of the pipe.
Cut the linoleum a little less wide than the rollers, and leave a little extra length
for attaching. Slip the linoleum into place and use mighty bond to secure it.
Make a roof-like for the RGB sensor, which will be placed in the middle part of
the conveyor. This will determine what color is placed on the conveyor. Secure it with
the glue gun.
And lastly, placed the ultrasonic sensor to the end of the conveyor which will
make it stop as the object arrived at the end of the conveyor.
FOR ROBOT ARM
Wood is needed for the arm. Cut enough length for the arm, or desired length.
Assemble the arm, together with the servo motors. Servo motors will serve as
joints of the arm.
Place it on a base which is also made of plywood.
\

STEP 3: Pilot Testing DC Motor and the Robotic Arm


#include <Ultrasonic.h> void turnOff()
{
Ultrasonic ultrasonic(12, 13); analogWrite(EnableA, 0);
int distance; analogWrite(EnableB, 0);
digitalWrite(Motor1, LOW);
int EnableA = 5; digitalWrite(Motor2, LOW);
int Motor1 = 6; digitalWrite(Motor3, LOW);
int Motor2 = 7; digitalWrite(Motor4, LOW);
int Motor3 = 8;
int Motor4 = 9; }
int EnableB = 10;
void loop()
void setup() {
{ distance = ultrasonic.read();
Serial.begin(9600); Serial.print("Distance in CM: ");
pinMode(EnableA, OUTPUT); Serial.println(distance);
pinMode(EnableB, OUTPUT);
pinMode(Motor1, OUTPUT); if (distance <= 7)
pinMode(Motor2, OUTPUT); {
pinMode(Motor3, OUTPUT); turnOff();
pinMode(Motor4, OUTPUT); }
} else
{
void clockwise1() clockwise1();
{ }
analogWrite(EnableA, 125); }
digitalWrite(Motor1, HIGH);
digitalWrite(Motor2, LOW);
}
Code used for the Ultrasonic Sensor and DC Motor

Code used for the RGB Sensor and Servo Motor


#include <VarSpeedServo.h> int blue = 0;

VarSpeedServo servoLR; void setup()


VarSpeedServo servoUD; {
VarSpeedServo servoCO; Serial.begin(9600);
servoLR.attach(8);
servoUD.attach(9);
const int s0 = 2; servoCO.attach(10);
const int s1 = 4;
const int s2 =5; servoLR.write(90, 30, true);
const int s3 = 6; servoUD.write(90, 30, true);
const int out = 3; servoCO.write(90, 30, true);

int red = 0;
int green = 0;
servoLR.write(20,30,true);
pinMode(s0, OUTPUT); servoCO.write(135,30,true);
pinMode(s1, OUTPUT); servoCO.write(90,30,true);
pinMode(s2, OUTPUT); servoUD.write(60, 30, true);
pinMode(s3, OUTPUT); servoLR.write(100, 30, true);
pinMode(out, INPUT); servoCO.write(90, 30, true);
digitalWrite(s0, HIGH); }
digitalWrite(s1, HIGH);
} void cGreen()
{
void colorSense() servoCO.write(135,30,true);
{ servoUD.write(120,30,true);
digitalWrite(s2, LOW); servoCO.write(90,30,true);
digitalWrite(s3, LOW); servoUD.write(80,30,true);
red = pulseIn(out, digitalRead(out) == HIGH servoLR.write(40,30,true);
? LOW : HIGH); servoCO.write(135,30,true);
digitalWrite(s3, HIGH); servoCO.write(90,30,true);
blue = pulseIn(out, digitalRead(out) == servoUD.write(60, 30, true);
HIGH ? LOW : HIGH); servoLR.write(100, 30, true);
digitalWrite(s2, HIGH); servoCO.write(90, 30, true);
green = pulseIn(out, digitalRead(out) == }
HIGH ? LOW : HIGH);
} void cRed()
{
void iniPos() servoCO.write(135,30,true);
{ servoUD.write(120,30,true);
servoLR.write(100, 30, true); servoCO.write(90,30,true);
servoUD.write(60, 30, true); servoUD.write(80,30,true);
servoCO.write(90, 30, true); servoLR.write(60,30,true);
} servoCO.write(135,30,true);
servoCO.write(90,30,true);
void cYellow() servoUD.write(60, 30, true);
{ servoLR.write(100, 30, true);
servoCO.write(135,30,true); servoCO.write(90, 30, true);
servoUD.write(120,30,true); }
servoCO.write(90,30,true);
servoUD.write(80,30,true); void cViolet()
servoLR.write(0,30,true); {
servoCO.write(135,30,true); servoCO.write(135,30,true);
servoCO.write(90,30,true); servoUD.write(120,30,true);
servoUD.write(60, 30, true); servoCO.write(90,30,true);
servoLR.write(100, 30, true); servoUD.write(80,30,true);
servoCO.write(90, 30, true); servoLR.write(80,30,true);
} servoCO.write(135,30,true);
servoCO.write(90,30,true);
void cPink() servoUD.write(60, 30, true);
{ servoLR.write(100, 30, true);
servoCO.write(135,30,true); servoCO.write(90, 30, true);
servoUD.write(120,30,true); }
servoCO.write(100,30,true);
servoUD.write(80,30,true);

You might also like