[RobotC] 藍牙傳輸馬達編碼器值

咱們對於 RobotC 的教學文章比較少,但淡江電機大一的基礎電機實驗下學期就是使用 RobotC 帶領學生進入 C語言與機器人控制的領域(上學期使用 NXTG圖形化軟體)

本範例是將一台 NXT 的兩個馬達(作為手把,所以不會轉動)的編碼器值透過藍牙送給另一個NXT。接收之後顯示在螢幕上。

事實上可以顯示在螢幕上,下一步就可以用這兩筆數值來控制馬達電力,遙控機器人就完成啦。請期待我們下一個範例喔!

2014-05-26 10.21.28

[youtube=http://www.youtube.com/watch?v=73oSUdFpTTY]

發送端

發送端 - 將兩筆馬達編碼器值送出
task main()

{
nMotorEncoder[motorA] = 0;
nMotorEncoder[motorB] = 0;
while(true){
wait1Msec(300);
int my_number,my_number1;
my_number=nMotorEncoder[motorA];
my_number1=nMotorEncoder[motorB];
sendMessageWithParm(my_number,my_number1); //將兩筆資料一起送出
}
}

 

接收端

接收端 - 接收藍牙訊息之後顯示於螢幕
task main()

{
int message_first;
int message_second;
while(true)
{
message_first = messageParm[0]; //取出第一筆資料
message_second = messageParm[1]; //取出第二筆資料
if(message_first != 0 || message_second != 0) //如果兩者任一不為零
{
nxtDisplayBigTextLine(2,"1: %d",message_first);
nxtDisplayBigTextLine(4,"2: %d",message_second);
ClearMessage(); //清除藍牙暫存區
}
wait1Msec(300);
}
}

發佈留言

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