You are on page 1of 14

//HAND PART

#define elbowmotor1 9 // left motor

#define elbowmotor2 10 // left motor

//gripper part

#define gripmotor1 10 // right motor

#define gripmotor2 11 // right motor

#define pin_ir2 13 // left sensor

#define pin_ir1 12 // right sensor

#define pin_ir3 3 // left sensor

#define redpin 0

#define bluepin 1

#define greenpin 2

//line follower

#define leftmotor1 4 // left motor

#define leftmotor2 5 // left motor

#define rightmotor1 6 // right motor

#define rightmotor2 7 // right motor

int count = 0;

void setup()

{
pinMode(leftmotor1, OUTPUT);

pinMode(leftmotor2, OUTPUT);

pinMode(rightmotor1, OUTPUT);

pinMode(rightmotor2, OUTPUT);

pinMode(elbowmotor1, OUTPUT);

pinMode(elbowmotor2, OUTPUT);

pinMode(gripmotor1, OUTPUT);

pinMode(gripmotor2, OUTPUT);

pinMode(pin_ir1, INPUT);

pinMode(pin_ir2, INPUT);

pinMode(pin_ir3, INPUT);

pinMode(redpin, INPUT);

pinMode(bluepin, INPUT);

pinMode(greenpin, INPUT);

digitalWrite(leftmotor1, LOW);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, LOW);

digitalWrite(rightmotor2,LOW);

digitalWrite(elbowmotor1, LOW);

digitalWrite(elbowmotor2,LOW);

digitalWrite(gripmotor1, LOW);

digitalWrite(gripmotor2,LOW);

}
void redfn(){

digitalWrite(elbowmotor1, HIGH);

digitalWrite(elbowmotor2,LOW);

delay(100);

digitalWrite(elbowmotor1, LOW);

digitalWrite(elbowmotor2,LOW);

delay(200);

digitalWrite(gripmotor1, HIGH);

digitalWrite(gripmotor2,LOW);

delay(40);

digitalWrite(gripmotor1, LOW);

digitalWrite(gripmotor2,LOW);

delay(40);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor2,HIGH);

delay(100);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor2,LOW);

delay(200);

digitalWrite(leftmotor1, HIGH);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, HIGH);

digitalWrite(rightmotor2,LOW);

delay(1000);

while(1)

{
int ir1 = digitalRead(pin_ir1);

int ir2 = digitalRead(pin_ir2);

int ir3 = digitalRead(pin_ir3);

if(ir1==0 && ir2==0)

digitalWrite(leftmotor1, HIGH);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, HIGH);

digitalWrite(rightmotor2,LOW);

else if(ir1==1 && ir2==0)

digitalWrite(leftmotor1,LOW);

digitalWrite(leftmotor2,HIGH);

digitalWrite(rightmotor1, HIGH);

digitalWrite(rightmotor2,LOW);

else if(ir1==0 && ir2==1)

digitalWrite(leftmotor1, HIGH);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, LOW);

digitalWrite(rightmotor2,HIGH);

if(ir3==1)

{
count=count+1;

delay(500);

if(count==1)

digitalWrite(leftmotor1, LOW);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, LOW);

digitalWrite(rightmotor2,LOW);

delay(200);

digitalWrite(elbowmotor1, HIGH);

digitalWrite(elbowmotor2,LOW);

delay(100);

digitalWrite(elbowmotor1, LOW);

digitalWrite(elbowmotor2,LOW);

delay(200);

digitalWrite(gripmotor1, LOW);

digitalWrite(gripmotor2,HIGH);

delay(40);

digitalWrite(gripmotor1, LOW);

digitalWrite(gripmotor2,LOW);

delay(40);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor2,HIGH);

delay(100);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor2,LOW);

delay(200);
count=0;

break;

void bluefn(){

digitalWrite(elbowmotor1, HIGH);

digitalWrite(elbowmotor2,LOW);

delay(100);

digitalWrite(elbowmotor1, LOW);

digitalWrite(elbowmotor2,LOW);

delay(200);

digitalWrite(gripmotor1, HIGH);

digitalWrite(gripmotor2,LOW);

delay(40);

digitalWrite(gripmotor1, LOW);

digitalWrite(gripmotor2,LOW);

delay(40);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor2,HIGH);

delay(100);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor2,LOW);

delay(200);

digitalWrite(leftmotor1, HIGH);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, HIGH);
digitalWrite(rightmotor2,LOW);

delay(1000);

while(1)

int ir1 = digitalRead(pin_ir1);

int ir2 = digitalRead(pin_ir2);

int ir3 = digitalRead(pin_ir3);

if(ir1==0 && ir2==0)

digitalWrite(leftmotor1, HIGH);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, HIGH);

digitalWrite(rightmotor2,LOW);

else if(ir1==1 && ir2==0)

digitalWrite(leftmotor1,LOW);

digitalWrite(leftmotor2,HIGH);

digitalWrite(rightmotor1, HIGH);

digitalWrite(rightmotor2,LOW);

else if(ir1==0 && ir2==1)

digitalWrite(leftmotor1, HIGH);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, LOW);

digitalWrite(rightmotor2,HIGH);

}
if(ir3==1)

count=count+1;

delay(500);

}else{count=count;}

if(count==2)

digitalWrite(leftmotor1, LOW);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, LOW);

digitalWrite(rightmotor2,LOW);

delay(200);

digitalWrite(elbowmotor1, HIGH);

digitalWrite(elbowmotor2,LOW);

delay(100);

digitalWrite(elbowmotor1, LOW);

digitalWrite(elbowmotor2,LOW);

delay(200);

digitalWrite(gripmotor1, LOW);

digitalWrite(gripmotor2,HIGH);

delay(40);

digitalWrite(gripmotor1, LOW);

digitalWrite(gripmotor2,LOW);

delay(40);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor2,HIGH);
delay(100);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor2,LOW);

delay(200);

count=0;

break;

void greenfn(){

digitalWrite(elbowmotor1, HIGH);

digitalWrite(elbowmotor2,LOW);

delay(100);

digitalWrite(elbowmotor1, LOW);

digitalWrite(elbowmotor2,LOW);

delay(200);

digitalWrite(gripmotor1, HIGH);

digitalWrite(gripmotor2,LOW);

delay(40);

digitalWrite(gripmotor1, LOW);

digitalWrite(gripmotor2,LOW);

delay(40);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor1,HIGH);

delay(100);

digitalWrite(elbowmotor1,LOW);
digitalWrite(elbowmotor1,LOW);

delay(200);

digitalWrite(leftmotor1, HIGH);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, HIGH);

digitalWrite(rightmotor2,LOW);

delay(1000);

while(1)

int ir1 = digitalRead(pin_ir1);

int ir2 = digitalRead(pin_ir2);

int ir3 = digitalRead(pin_ir3);

if(ir1==0 && ir2==0)

digitalWrite(leftmotor1, HIGH);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, HIGH);

digitalWrite(rightmotor2,LOW);

else if(ir1==1 && ir2==0)

digitalWrite(leftmotor1,LOW);

digitalWrite(leftmotor2,HIGH);

digitalWrite(rightmotor1, HIGH);

digitalWrite(rightmotor2,LOW);

else if(ir1==0 && ir2==1)

digitalWrite(leftmotor1, HIGH);
digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, LOW);

digitalWrite(rightmotor2,HIGH);

if(ir3==1)

count=count+1;

delay(500);

}else{count=count;}

if(count==3)

digitalWrite(leftmotor1, LOW);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, LOW);

digitalWrite(rightmotor2,LOW);

delay(200);

digitalWrite(elbowmotor1, HIGH);

digitalWrite(elbowmotor2,LOW);

delay(100);

digitalWrite(elbowmotor1, LOW);

digitalWrite(elbowmotor2,LOW);

delay(200);

digitalWrite(gripmotor1, LOW);

digitalWrite(gripmotor2,HIGH);

delay(40);

digitalWrite(gripmotor1, LOW);

digitalWrite(gripmotor2,LOW);
delay(40);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor1,HIGH);

delay(100);

digitalWrite(elbowmotor1,LOW);

digitalWrite(elbowmotor1,LOW);

delay(200);

count=0;

break;

void loop()

int ir1 = digitalRead(pin_ir1);

int ir2 = digitalRead(pin_ir2);

int red = digitalRead(redpin);

int blue = digitalRead(bluepin);

int green = digitalRead(greenpin);

if(ir1==0 && ir2==0)

digitalWrite(leftmotor1, HIGH);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, HIGH);

digitalWrite(rightmotor2,LOW);
}

else if(ir1==1 && ir2==0)

digitalWrite(leftmotor1,LOW);

digitalWrite(leftmotor2,HIGH);

digitalWrite(rightmotor1, HIGH);

digitalWrite(rightmotor2,LOW);

else if(ir1==0 && ir2==1)

digitalWrite(leftmotor1, HIGH);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, LOW);

digitalWrite(rightmotor2,HIGH);

else if(ir1==1 && ir2==1)

digitalWrite(leftmotor1, LOW);

digitalWrite(leftmotor2,LOW);

digitalWrite(rightmotor1, LOW);

digitalWrite(rightmotor2,LOW);

if(red==1)

redfn();

else if(blue==1)

bluefn();

else if(green==1)
{

greenfn();

You might also like