[教學] 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 宗翰
透過各種數值的傳遞與接收,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 宗翰
留言 💬 (0)
還沒有留言,來當第一個。