NXC 雙光感應器車 可過十字路口
早先的單光感應器遇到交叉口就沒輒了,因為它的原理是沿著線的"邊緣"來走,所以不能直走通過十字路口。
宗翰老師幫我們作一台示範機器人,先來看一下影片:
[youtube=http://www.youtube.com/v/HGLFlgRluX8]
在這裡提供宗翰老師寫的程式碼給大家參考:
1號光感在機器人的左邊,2號在右邊,所以我們會有四種狀況,
1黑2白: 機器人向右前方走碰到了黑線 -> 左前方修正
1白2黑: 機器人向右前方走碰到了黑線 -> 右前方修正
1白2白: 機器人位於軌跡線的正上方 -> 直行
1黑2黑: 機器人碰到十字路口 -> 直行
再使用依個無限迴圈就完成囉~
[pastacode lang="c" message="Linw Follow - Dual light sensor" highlight="" provider="manual"]
#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
[/pastacode]
留言 💬 (0)
還沒有留言,來當第一個。