LEGO SPIKE Prime Essential 樂高機器人,LEGO MINDSTORMS Robot Inventor, EV3 ,樂高動力機械 BricQ Motion 程小奔Codey Rocky,mBot2,CyberPi 童芯派 mBlock5 慧編程, Python 專業教學,課程設計。 Scratch, MakeBlock產品 艾多美 Atomy 生活用品 NXT 樂高機器人:創意樂趣,隨心所欲!
2010-03-10
NXT與NXT的藍牙程式
由於我的電腦重整,去年九月所撰寫的NXT藍牙程式消失得無影無蹤,只好重新再寫一次。
請參考探奇舊文章:
NXT與NXT的藍牙溝通
NXT與NXT之間的藍牙接收發送程式
這一次寫的是如何在兩台NXT之間傳輸馬達的角度,程式中我們使用一號信箱,
傳送程式:不斷地將A馬達的角度傳送到一號連結(也就是Slave NXT)的一號信箱。
接收程式:檢查信箱是否有新的訊息,放入變數中,如果有訊息,再從變數取出讀值,顯示在NXT螢幕上。
使用變數儲存數值,而非直接連結顯示,是因為我們的藍牙溝通並不是一來一往的通訊,而是盲目地直接接收,NXT的藍牙信箱有可能接收大量藍牙訊息,造成訊息接收的緩衝區爆滿,將訊息刪除。這樣可能會接收到錯誤的訊息。
歡迎留言討論!謝謝!
訂閱:
張貼留言 (Atom)
你好
回覆刪除我想請問一下
所謂的兩台主機間的通訊是什麼
我曾經看過有人做過一種機構是投籃機器人
只要控制其中一台馬達的角度
另一台主機的馬達也會轉動相同的角度
藉此控制另一台機器人
有點像遙控車一樣
那是和這個有關嗎
謝謝!
[版主回覆03/19/2010 09:49:23]你好:
所謂『兩台主機間的通訊』就是兩台主機互通訊息,彼此知道對方的狀態,
例如感應器的讀值,馬達的角度及機器人的動作等等。
除了像遙控車的單向控制之外,
也可以讓兩台以上的機器人『合作』,讓動作協調一致。
好像籃球團隊的傳球接球,或是雙人芭蕾(花式冰刀)的完美搭配!
有許多方式可以完成NXT與NXT的通訊,
藍牙是其中一種,也是最為方便的無線通訊方法。
歡迎討論!
那我再請問一下
回覆刪除想把其中一台主機當成遙控器的程式要怎麼寫
是和您放在文章中的程式一樣嗎
[版主回覆03/20/2010 13:43:26]你好:
這篇文章中的程式的確可以用來進行下面的工作:
使用一台NXT主機,透過藍牙通訊去遙控另外一台NXT機器人。
只要將藍牙訊號轉換成控制機器人的動作即可。
網路上有很多範例,比較有名的藍牙遙控車控制程式,例如:
Philo先生的『NXT搖桿』:NXT Joystick
搭配Philo先生的『巡邏機器人』:Spy Camera Rover
你可以從中學習NXT-G程式原理。
祝你成功!
謝謝
回覆刪除真的非常有用!!
[版主回覆03/20/2010 20:48:12]歡迎討論!
請問: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