|
发表于 2011-3-18 12:37:09
|
显示全部楼层
task main()
{
SetSensorLight(S3);
while(1)
{
OnFwd(OUT_BC, 50);
while(SENSOR_3 > 40);
OnRev(OUT_BC, 50);
while(SENSOR_3 > 40);
}
}
可以这样写,不过这样对马达伤害很大,比如你黑线很粗,车子进入黑线内范围很大的话,马达就会在黑线范围内来回转,马达的齿轮很伤!解决的办法是黑线不要太粗,速度不要太快。另外也可以在等待检查等待前再加个小延时。
比如这样
task main()
{
SetSensorLight(S3);
while(1)
{
OnFwd(OUT_BC, 50);
Wait(200);
while(SENSOR_3 > 40);
OnRev(OUT_BC, 50);
Wait(200);
while(SENSOR_3 > 40);
}
}
另外你的程序我也帮你改了一下,应该是可以了,在无限走前加了一个移动模块,目的是让车子走出黑线范围,我现在设置的是走一圈,你可以根据你实际情况修改这个值,圈数或者度数都可以。 |
|