You are on page 1of 2

/*------ Main code----- */

/*-------Definning Inputs------*/
#include <Servo.h>
int leftS = 2; // left sensor
int rightS = 3 ; // right sensor

/*-------Definning Outputs------*/

int servoPin = 9;
int motleft1 = 6;
int motleft2 = 7;
int motright1 = 4;
int motright2 = 5;
int motDig = 1;

/* ------ Defining delays/servo angles---- */


int turndelay = 1000
int pos = 250;
int constpos = 150;

Servo myservo;

void setup()
{
pinMode(leftS, INPUT);
pinMode(rightS, INPUT);
pinMode(motleft1, OUTPUT );
pinMode(motleft2, OUTPUT );
pinMode(motright1, OUTPUT );
pinMode(motright2, OUTPUT );
pinMode(motDig, OUTPUT);
myservo.attach(servoPin);
}

void loop()
{
if(digitalRead(leftS) && digitalRead(rightS)) // Run
{

digitalWrite(motleft1,HIGH);
digitalWrite(motright1,HIGH);
digitalWrite(motleft2,LOW);
digitalWrite(motright2,LOW);
digitalWrite(motDig,HIGH);

if(!(digitalRead(leftS)) && digitalRead(rightS)) // Right


{
pos = pos + 5;
myservo.write(pos);
delay(turndealay);
digitalWrite(motleft1,HIGH);
digitalWrite(motleft2,LOW);
digitalWrite(motright1,LOW);
digitalWrite(motright2,LOW);

}
if(digitalRead(leftS) && !(digitalRead(rightS))) // Left
{
pos = pos - 5;
myservo.write(pos);
delay(turndealay);
digitalWrite(motleft1,LOW);
digitalWrite(motleft2,LOW);
digitalWrite(motright1,HIGH);
digitalWrite(motright2,LOW);

if(!(digitalRead(leftS)) && !(digitalRead(rightS))) // Stop


{

myservo.write(90);
digitalWrite(motleft1,LOW);
digitalWrite(motleft2,LOW);
digitalWrite(motright1,LOW);
digitalWrite(motright2,LOW);
digitalWrite(motDig,LOW);

}
}

You might also like