NXC 雙光感應器車 可過十字路口

早先的單光感應器遇到交叉口就沒輒了,因為它的原理是沿著線的”邊緣”來走,所以不能直走通過十字路口。

宗翰老師幫我們作一台示範機器人,先來看一下影片:

[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

2 thoughts on “NXC 雙光感應器車 可過十字路口

  1. 翔翔 says:

    我有貼過,可是不行,他說Compile Failed

                                                    Compile failure

    能幫我看出了甚麼問題嗎?

    [版主回覆06/15/2009 11:22:12]

    翔翔:

        修正過了, 你再試試看好嗎?

                                                  阿吉

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *