金牌会员
 
- 积分
- 1130
- 金钱
- 1130
- 注册时间
- 2015-8-4
- 在线时间
- 107 小时
|
发表于 2017-1-13 09:17:49
|
显示全部楼层
我用51做过,给车间做了一个小车循迹,地面铺锡箔带,效果还可以。核心代码就下面这个函数,好像没算法。。。。。。
void auto_run(unsigned char dir,float speed,float turn_speed)
{
if(get_left_led(dir)==DETECT_YES&&get_right_led(dir)==DETECT_YES)
{
run(dir);
set_speed(speed);
}
else if(get_left_led(dir)==DETECT_YES&&get_right_led(dir)==DETECT_NO) //左边检测到黑线
{
left_run(dir,turn_reverse); //右边两个电机正转
set_speed(turn_speed);
}
else if(get_right_led(dir)==DETECT_YES&&get_left_led(dir)==DETECT_NO) //右边检测到黑线
{
right_run(dir,turn_reverse);
set_speed(turn_speed);
}
else if(get_right_led(dir)==DETECT_NO&&get_left_led(dir)==DETECT_NO)
{
stop();
}
}
|
|