早先的單光感應器遇到交叉口就沒輒了,因為它的原理是沿著線的”邊緣”來走,所以不能直走通過十字路口。
宗翰老師幫我們作一台示範機器人,先來看一下影片:
[youtube=http://www.youtube.com/v/HGLFlgRluX8]
在這裡提供宗翰老師寫的程式碼給大家參考:
1號光感在機器人的左邊,2號在右邊,所以我們會有四種狀況,
1黑2白: 機器人向右前方走碰到了黑線 -> 左前方修正
1白2黑: 機器人向右前方走碰到了黑線 -> 右前方修正
1白2白: 機器人位於軌跡線的正上方 -> 直行
1黑2黑: 機器人碰到十字路口 -> 直行
再使用依個無限迴圈就完成囉~
Linw Follow - Dual light sensor
#define Light 45 //光值
#define time 100 //轉動時間
#define pwr 70 //馬達電力
task main()
{
SetSensorLight(IN_1);
SetSensorLight(IN_2);
while(true)
{
int a = SENSOR_1;
int b = SENSOR_2;
if(a>Light && b>Light)
{
OnFwdSync(OUT_AC,pwr,0);
Wait(time);
Off(OUT_AC);
}
else if(a<Light && b> Light)
{
OnFwdSync(OUT_AC,pwr,0);
Wait(time);
Off(OUT_AC);
}
else if(a>Light && b< Light)
{
OnFwd(OUT_A,pwr);
OnFwd(OUT_C,10);
Wait(time);
Off(OUT_AC);
}
else
{
OnFwd(OUT_A,10);
OnFwd(OUT_C,pwr);
Wait(time);
Off(OUT_AC);
}
}
}//end of main
Post Views: 766
我有貼過,可是不行,他說Compile Failed
Compile failure
能幫我看出了甚麼問題嗎?
[版主回覆06/15/2009 11:22:12]
翔翔:
修正過了, 你再試試看好嗎?
阿吉
可以了,謝謝
[版主回覆06/16/2009 10:39:26]不客氣, ㄎㄎ.