2010-04-26

藍牙功能:NXT之間的馬達同步旋轉

兩台NXT透過藍牙傳遞馬達內建角度感應器的數值,讓兩顆馬達同步旋轉。

主機(Master)程式判斷角度感應器讀值是否有變化,有變化才將數值傳送出去,避免不斷傳送藍牙訊號造成藍牙塞車,而漏接訊息。



從機(Slave)接收數值之後,比較上次傳送的數值,旋轉馬達至差異值。


旋轉結果可以參考示範影片(拍得有點亂,做為記錄而已,請見諒!)








經過這次實測,得到兩個經驗:

1. 在NXT-G 1.1版,Rotation Sensor的讀值一律是正值,想判斷正反轉,需要透過 Direction Plug。

所以探奇在發展Combination Lock時,要很辛苦地判別馬達正反轉,現在這個問題已經解決。是NXT-G Block的問題,跟韌體版本無關。

(參考探奇舊文章:LEGO NXT金庫密碼(Part 1)

NXT-G2.0版的讀值已經修正為輸出正負值,相對於原點,正轉為正值,倒轉為負值。可以省略Direction的判別。

如同下圖在NXT-G畫面左下角的讀值,正轉是黑色,倒轉是紅色。





2. 使用NXT-G 2.0版撰寫程式,下載到FW 1.05版的NXT主機,會出現下列錯誤訊息,解決的方法就是更新韌體。新版韌體可以向下相容。







程式放在探奇新書討論區Google論壇,歡迎自行下載。也請分享心得。

2 則留言:

  1. 很實用的程式, 謝謝邱老師囉
    [版主回覆04/27/2010 22:30:50]謝謝CAVE老師的鼓勵!

    回覆刪除
  2. 有沒有辦法連速度都一樣快
    [版主回覆04/27/2010 22:34:27]你的問題真是不錯!

    可是藍牙有點慢,

    曾經有想過當差異較大時,提高馬達轉速,應該可以用一些控制方法達成。

    還需要傷腦筋!

    歡迎你分享你的成果!

    回覆刪除

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