兩台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論壇,歡迎自行下載。也請分享心得。
很實用的程式, 謝謝邱老師囉
回覆刪除[版主回覆04/27/2010 22:30:50]謝謝CAVE老師的鼓勵!
有沒有辦法連速度都一樣快
回覆刪除[版主回覆04/27/2010 22:34:27]你的問題真是不錯!
可是藍牙有點慢,
曾經有想過當差異較大時,提高馬達轉速,應該可以用一些控制方法達成。
還需要傷腦筋!
歡迎你分享你的成果!