2010-03-10

NXT與NXT的藍牙程式



由於我的電腦重整,去年九月所撰寫的NXT藍牙程式消失得無影無蹤,只好重新再寫一次。

請參考探奇舊文章:

NXT與NXT的藍牙溝通

NXT與NXT之間的藍牙接收發送程式

這一次寫的是如何在兩台NXT之間傳輸馬達的角度,程式中我們使用一號信箱,

傳送程式:不斷地將A馬達的角度傳送到一號連結(也就是Slave NXT)的一號信箱。




接收程式:檢查信箱是否有新的訊息,放入變數中,如果有訊息,再從變數取出讀值,顯示在NXT螢幕上。



使用變數儲存數值,而非直接連結顯示,是因為我們的藍牙溝通並不是一來一往的通訊,而是盲目地直接接收,NXT的藍牙信箱有可能接收大量藍牙訊息,造成訊息接收的緩衝區爆滿,將訊息刪除。這樣可能會接收到錯誤的訊息。

歡迎留言討論!謝謝!



4 則留言:

  1. ~魚乾~10:39 下午

    你好
    我想請問一下
    所謂的兩台主機間的通訊是什麼
    我曾經看過有人做過一種機構是投籃機器人
    只要控制其中一台馬達的角度
    另一台主機的馬達也會轉動相同的角度
    藉此控制另一台機器人
    有點像遙控車一樣
    那是和這個有關嗎
    謝謝!
     
    [版主回覆03/19/2010 09:49:23]你好:

    所謂『兩台主機間的通訊』就是兩台主機互通訊息,彼此知道對方的狀態,

    例如感應器的讀值,馬達的角度及機器人的動作等等。

    除了像遙控車的單向控制之外,

    也可以讓兩台以上的機器人『合作』,讓動作協調一致。

    好像籃球團隊的傳球接球,或是雙人芭蕾(花式冰刀)的完美搭配!

    有許多方式可以完成NXT與NXT的通訊,

    藍牙是其中一種,也是最為方便的無線通訊方法。

    歡迎討論!

    回覆刪除
  2. ~魚乾~10:49 下午

    那我再請問一下
    想把其中一台主機當成遙控器的程式要怎麼寫
    是和您放在文章中的程式一樣嗎
    [版主回覆03/20/2010 13:43:26]你好:

    這篇文章中的程式的確可以用來進行下面的工作:

    使用一台NXT主機,透過藍牙通訊去遙控另外一台NXT機器人。

    只要將藍牙訊號轉換成控制機器人的動作即可。

    網路上有很多範例,比較有名的藍牙遙控車控制程式,例如:

    Philo先生的『NXT搖桿』:NXT Joystick

    搭配Philo先生的『巡邏機器人』:Spy Camera Rover

    你可以從中學習NXT-G程式原理。

    祝你成功!

    回覆刪除
  3. ~魚乾~8:28 下午

    謝謝
    真的非常有用!!
    [版主回覆03/20/2010 20:48:12]歡迎討論!

    回覆刪除
  4. 請問:NXT-R和NXT-G的差別?我之前買了NXT-R的機器人,但我現在想再增加NXT-G,請問要如果購買?3QQ~
    [版主回覆06/10/2010 19:51:50]你好:

    NXT-R是指控制軟體程式的Robolab嗎?

    NXT-G可以單獨另購,你可以聯絡台南陳老師

    樂高機器人 積木教室Lego NXT--創意機器人教育推廣中心 林老師0911674495,email: tslinb@hotmail.com

    回覆刪除

探奇歡迎大家留言討論!謝謝分享你的意見。