功能就是沿着一面墙走。非常简单,但是手头上的这个小车非常的差,做工不好不说,配的两边的电机参数差别非常大,同样的控制PWM,两侧的速度能相差一倍,更别提行走时晃晃悠悠的差点就掉下来的轮子了。另外,只配备了一个超声波测距模块,,不能同时检测多个方向上的障碍物,是这个软件难编写的一个原因。
视频地址:
代码:
int outputPin = 5;
int inputPin = 4;
int cmdPin = 3;
int pinI1=8;//定义I1接口
int pinI2=9;//定义I2接口
int speedpin1=11;//定义EA(PWM调速)接口
int pinI3=6;//定义I3接口
int pinI4=7;//定义I4接口
int speedpin2=10;//定义EB(PWM调速)接口
int average_speed_l = 150;
int average_speed_r = 100;
int speed_limit_l = 80;
int speed_limit_r = 60;
int target_distance = 30;//in cm
int lost_distance = 80;
float detect_distance()
{
digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓2μs
delayMicroseconds(2);
dig