int LA=14;
int LB=15;
int RA=16;
int RB=17;
int EN1=3;
int EN2=5;
int input=9;
int output=8;
void setup()
{
pinMode(LA,OUTPUT);
pinMode(LB,OUTPUT);
pinMode(RA,OUTPUT);
pinMode(RB,OUTPUT);
pinMode(EN1,OUTPUT);
pinMode(EN2,OUTPUT);
pinMode(input,INPUT);
pinMode(output,OUTPUT);
}
void loop()
{
if (feye()>15 && feye()<=25) pause(0.2);
if (feye()<=15) back(0.5);
if (feye()>25) forward(0.05);
}
void forward(float a)
{
analogWrite(EN1,150);
digitalWrite(LA,HIGH);
digitalWrite(LB,LOW);
analogWrite(EN2,164);
digitalWrite(RA,HIGH);
digitalWrite(RB,LOW);
delay(a*1000);
}
void back(float b)
{
analogWrite(EN1,150);
digitalWrite(LA,LOW);
digitalWrite(LB,HIGH);
analogWrite(EN2,188);
digitalWrite(RA,LOW);
digitalWrite(RB,HIGH);
delay(b*1000);
}
void pause(float c)
{
analogWrite(EN1,150);
digitalWrite(LA,LOW);
digitalWrite(LB,LOW);
analogWrite(EN2,188);
digitalWrite(RA,LOW);
digitalWrite(RB,LOW);
delay(c*1000);
}
float feye(){
digitalWrite(output,LOW);
delayMicroseconds(2);
digitalWrite(output,HIGH);
delayMicroseconds(10);
digitalWrite(output,LOW);
float fdis=pulseIn(input,HIGH);
fdis=fdis/58;
return(fdis);
}
int LB=15;
int RA=16;
int RB=17;
int EN1=3;
int EN2=5;
int input=9;
int output=8;
void setup()
{
pinMode(LA,OUTPUT);
pinMode(LB,OUTPUT);
pinMode(RA,OUTPUT);
pinMode(RB,OUTPUT);
pinMode(EN1,OUTPUT);
pinMode(EN2,OUTPUT);
pinMode(input,INPUT);
pinMode(output,OUTPUT);
}
void loop()
{
if (feye()>15 && feye()<=25) pause(0.2);
if (feye()<=15) back(0.5);
if (feye()>25) forward(0.05);
}
void forward(float a)
{
analogWrite(EN1,150);
digitalWrite(LA,HIGH);
digitalWrite(LB,LOW);
analogWrite(EN2,164);
digitalWrite(RA,HIGH);
digitalWrite(RB,LOW);
delay(a*1000);
}
void back(float b)
{
analogWrite(EN1,150);
digitalWrite(LA,LOW);
digitalWrite(LB,HIGH);
analogWrite(EN2,188);
digitalWrite(RA,LOW);
digitalWrite(RB,HIGH);
delay(b*1000);
}
void pause(float c)
{
analogWrite(EN1,150);
digitalWrite(LA,LOW);
digitalWrite(LB,LOW);
analogWrite(EN2,188);
digitalWrite(RA,LOW);
digitalWrite(RB,LOW);
delay(c*1000);
}
float feye(){
digitalWrite(output,LOW);
delayMicroseconds(2);
digitalWrite(output,HIGH);
delayMicroseconds(10);
digitalWrite(output,LOW);
float fdis=pulseIn(input,HIGH);
fdis=fdis/58;
return(fdis);
}