Tag Archives: nxc

NXC書 – 機器人新視界 NXC 與 NXT 上市了!!


千呼萬喚始出來, CAVE的書終於上市了!程式碼請到 CAVEDU 書籍專區來下載,也請參考我們的 NXC 實驗室

可以在博客來買的到,或是直接和我們購買就可以了。(現在購買是第二版喔)

各位讀者如果有任何問題,請直接在這邊提出,我們非常樂意答覆。

(真是太高興了, 呼呼呼.)

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

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

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

[youtube=http://www.youtube.com/v/HGLFlgRluX8]

在這裡提供宗翰老師寫的程式碼給大家參考:

1號光感在機器人的左邊,2號在右邊,所以我們會有四種狀況,

1黑2白: 機器人向右前方走碰到了黑線  ->   左前方修正

1白2黑: 機器人向右前方走碰到了黑線  ->   右前方修正

1白2白: 機器人位於軌跡線的正上方  ->   直行

1黑2黑: 機器人碰到十字路口  ->   直行

再使用依個無限迴圈就完成囉~

#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
Linw Follow - Dual light sensor