[教學] NXC藍牙淺談

NXT之間的藍牙通訊,簡單說就是在傳值。

透過各種數值的傳遞與接收,NXT之間就有無限的空間可以發揮… 當然,NXC也有強大的藍牙控制指令供我們使用。

今天就來跟大家介紹兩個最基本的函式:

SendRemoteBool(connection,queue,bvalue)

ReceiveRemotBool(connection,queue,bvalue)

從函式的名字很明顯的就可以知道這兩個函式的功用囉!就是傳送及接收一個bool值。看到bool,您是否聯想到觸碰感應器了呢?

以下是一個簡單範例程式,當MASTER壓下觸碰感應器時,SLAVE就會啟動AC馬達:

//MASTER
#define BT_CONN 1
#define INBOX 1
#define OUTBOX 5

task main()
{
     while(true)
     { SetSensorTouch(IN_1); int move = SENSOR_1;
          if(SENSOR_1==1)
              { SendRemoteBool(BT_CONN,OUTBOX,move); }
          else { SendRemoteBool(BT_CONN,OUTBOX,move); }
     }
 }

//SLAVE
#define BT_CONN 1
#define INBOX 5
#define OUTBOX 1

 task main()
{
     while(true)
     { int move; ReceiveRemoteBool(INBOX, true, move);
          if(move==1)
               { OnFwd(OUT_AC,50); Wait(100); Off(OUT_AC); }
     }
}

希望大家喜歡這個小課題, CAVE 宗翰

One thought on “[教學] NXC藍牙淺談

  1.  Mo ,,蹦  says:

    你好~
    我想請問如何用藍芽連結nxc和nxt呢?
    我已經將藍芽兩方連上了
    可是打開NXC只有USB的選項可以成功
    我自己打上連接埠com41也無法連結…

    謝謝!!

    [版主回覆05/28/2010 00:26:04]

    hello:

      可參考CAVE的文章: http://tw.myblog.yahoo.com/lego-caveschool/article?mid=1038

      不過個人心得是不大穩定, 有時候連得到有時候連不到. 我還有一台 NB 上的BricxCC因為一起動就要去找 BT上的NXT導致一啟動就當機. 請多多注意這些狀況囉.

發佈留言

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