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 宗翰
你好~
我想請問如何用藍芽連結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導致一啟動就當機. 請多多注意這些狀況囉.