想用红外传感器和超声波传感器做一个避障小车,但在实现的时候车子总是向后走而不能向前走。求大神知道程序如何改进。
附程序:
int E1=5; //定义电机接口
int M1=4;
int E2=6;
int M2=7;
int valGP1; //定义红外传感器
int valGP2;
int val1; //定义红外传感器测量距离
int val2;
int analog1=15; //定义红外传感器接口
int analog2=14;
int inputPin=2; //定义超声波传感器接口
int outputPin=3;
void setup()
{
pinMode(M1,OUTPUT);
pinMode(M2,OUTPUT);
Serial.begin(9600);
pinMode(inputPin,INPUT);
pinMode(outputPin,OUTPUT);
void advanced();
{
digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,100);
analogWrite(E2,100);
delay(30);
}
void back();
{
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
analogWrite(E1,100);
analogWrite(E2,100);
delay(30);}
}
void loop()
{
valGP1 =analogRead(analog1);
valGP2=analogRead(analog2);
val1=(6787/(valGP1-3))-4;
val2=(6787/(valGP2-3))-4;
Serial.println(val1);
Serial.println(val2);
delay(500);
digitalWrite(outputPin,LOW);
delayMicroseconds(2);
digitalWrite(outputPin,HIGH);
delayMicroseconds(10);
int distance=pulseIn(inputPin,LOW);
distance=distance/50;
Serial.println(distance);
delay(500);
if(inputPin<15)
{void back();}
}
|