#include <Servo.h>
int led1=9;
int led2=10;
int led3 = 8;
int button1=11;
int button2=12;
int limitsw1=2;
int limitsw2=4;
int signal=7;
int pos;
Servo left;
Servo right;
Servo middle;
bool flag;
bool flag2;
void setup() {
// put your setup code here, to run once:
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(signal,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(button1,INPUT_PULLUP);
pinMode(button2,INPUT_PULLUP);
pinMode(limitsw1, INPUT);
pinMode(limitsw2, INPUT);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(signal, LOW);
flag=false;
flag2 = false;
////////servo attached to pin.../////////////
middle.attach(3);
left.attach(5);
right.attach(6);
//////////servo default position///////
left.write(60);
right.write(95);
middle.write(0);
Serial.begin(115200); // Any baud rate should work
Serial.println("Hello Arduino\n");
}
void loop() {
if(digitalRead(button1) == LOW && digitalRead(limitsw1) == HIGH){
digitalWrite(led1, HIGH);
Serial.println("motor left start");
flag= true;
}
else if(digitalRead(limitsw2) == HIGH && flag == true){
flag= false;
digitalWrite(led1, LOW);
delay(1000);
for(int j =0; j < 46; j++){
middle.write(j);
delay(15);
}
delay(1000);
for(pos= 60; pos < 162 ; pos++){ //change both 180 to requried position
left.write(pos);
int x;
x=map(pos, 60,161,95,19);
right.write(x);
delay(10); //increase delay to slow speed
}
delay(500);
digitalWrite(signal, HIGH);
Serial.println("motor left stop");
delay(10000);
digitalWrite(led3, LOW);
digitalWrite(signal, LOW);
}
else{
//do nothing..
}
if(digitalRead(button2)==LOW && digitalRead(limitsw2) == HIGH){
flag2 =true;
digitalWrite(signal, LOW);
for(int k=45; k> 0; k--){
middle.write(k);
delay(15);
}
for(pos=162; pos >60 ; pos--){//change both 180 to requried position
left.write( pos);
int y= map(pos,162,60,19,95);
right.write(y);
delay(10); //increase delay to slow speed
}
delay(1000);
middle.write(0);
delay(1000);
digitalWrite(led2, HIGH);
Serial.println("motor right start");
}
else if(digitalRead(limitsw1) == HIGH && digitalRead(button2) == HIGH){
digitalWrite(led2, LOW);
flag2=false;
Serial.println("motor right stop");
}
else{
//do nothing..
}
if (flag==true || flag2 == true){
digitalWrite(led3, HIGH);
}
else digitalWrite(led3, LOW);
}