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

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

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

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

2014-05-26 10.21.28

發送端

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);
   }
}
接收端 – 接收藍牙訊息之後顯示於螢幕

About CAVEDU 阿吉 - 雜工 (2521 Articles)
CAVEDU 教育團隊 打雜
Contact: Website

Leave a comment

Your email address will not be published.


*