999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

樂高NXT機(jī)器人系統(tǒng)C++程序設(shè)計

2012-09-19 10:28:58薛清平李衛(wèi)紅
電子設(shè)計工程 2012年1期
關(guān)鍵詞:設(shè)備方法系統(tǒng)

薛清平,李衛(wèi)紅

(平頂山市科技進(jìn)修學(xué)校 河南 平頂山 467000)

NXT-G、RoboLab 2.9都是樂高公司提供的樂高 LEGO MINDSTORMS NXT機(jī)器人系統(tǒng)的圖形化的編程工具,除此以 外 , 還 有 Bricx Command Center、RobotC、NI LabVIEW Toolkit、leJOS NXJ、pbLua等第三方提供的編程工具。隨著2010年教育部與樂高集團(tuán)合作的“技術(shù)教育創(chuàng)新人才培養(yǎng)計劃”項目的開展,樂高LEGO MINDSTORMS NXT機(jī)器人系統(tǒng)在各地中小學(xué)的推廣速度也將加快[1],服務(wù)于此,有必要對樂高LEGO MINDSTORMS NXT機(jī)器人系統(tǒng)的相關(guān)問題尤其是二次開發(fā)問題做進(jìn)一步深入探討、研究。

1 FantomSDK

作為一個開放式的擴(kuò)展平臺,樂高集團(tuán)提供了進(jìn)行樂高LEGO MINDSTORMS NXT系統(tǒng)二次開發(fā)所需要的LEGO MINDSTORMS NXT Hardware Developer Kit[2]、LEGO MINDSTORMS NXT Direct Commands[3]、LEGO MINDSTORMS NXT Bluetooth Developer Kit[4]、LEGO MINDSTORMS NXT Communication protocol[5]、Mobile Application Software[6]以 及 作為二次開發(fā)不可或缺的SDK文件FantomSDK[7]的非常詳盡的資料。

FantomSDK支持C++及NI Labview開發(fā)環(huán)境,可運行于Windows或MAC系統(tǒng)。樂高LEGO MINDSTORMS NXT機(jī)器人系統(tǒng)可通過USB或藍(lán)牙兩種方式與PC系統(tǒng)進(jìn)行連接、通信,對 USB方式,LEGO提供的驅(qū)動程序Fantom.sys與NXT設(shè)備直接通信;對藍(lán)牙方式,則是把NXT設(shè)備映射到一個COM端口,然后通過Win32文件訪問端口進(jìn)行通信。USB和藍(lán)牙兩種連接、通信方式,均得到FantomSDK的支持。

FantomSDK提供了Fantom的頭文件、Labview的vi支持庫以及基本封裝類型的使用幫助。iNXTIterator對象用于遍歷注冊到系統(tǒng)上的 NXT設(shè)備,獲得iNXT對象,iFileIterator對象、iModuleIterator對象用于獲得NXT設(shè)備的文件、模塊信息。

2 程序應(yīng)用

2.1 獲取設(shè)備

NXTIterator對象用于搜索注冊到系統(tǒng)上的 NXT設(shè)備,獲得iNXT對象。createNXTIterator方法產(chǎn)生一個NXT實例,使用后,通過destroy方法進(jìn)行釋放。createNXTIterator(ViBoolean,ViUInt32,tStatus)方法中 ViBoolean 參數(shù)為 true,則搜索通過USB、藍(lán)牙連接的所有NXT設(shè)備。若ViBoolean參數(shù)為false,則僅搜索通過USB連接的NXT設(shè)備。獲取NXT設(shè)備的具體C++代碼如下:

編譯、運行后,如果成功搜索到系統(tǒng)上的 NXT設(shè)備,通過 getDeviceInfo獲 得 NXT 設(shè) 備 名 稱 (name), 通 過getFirmwareVersion獲得系統(tǒng)的通訊協(xié)議版本(protocolVersion)、固 件版 本 (firmwareVersion)、Flash 剩 余空間(availableFlash)信息。

將 ViBoolean參 數(shù) 設(shè) 置 為 true, 通 過 nxtPtr->getDeviceInfo方法獲取藍(lán)牙連接NXT設(shè)備的6位16進(jìn)制bluetoothAddress藍(lán)牙設(shè)備地址。

2.2 獲取模塊

NXT 的固件系統(tǒng)(Firmware),包含輸入(Input module)、輸 出 (Output module)、 顯 示 (Display module)、 聲 音 (Sound module)、按鈕(Button module)等模塊,用于對各種外設(shè)提供支持。搜索到NXT設(shè)備后,通過iModuleIterator對象遍歷相應(yīng)的模塊。createModuleIterator方法產(chǎn)生一個實例,通過destroyModuleIterator方法進(jìn)行釋放。列表顯示NXT設(shè)備的模塊信息的具體C++代碼如下:

編譯、運行后,遍歷相應(yīng)的模塊,通過 getName(name)獲取模塊的名稱,通過getModuleID獲取模塊編號,通過getModuleSize獲取模塊大小,通過getModuleIOMapSize獲取模塊映射的I/O地址空間。

2.3 獲取文件

NXT系統(tǒng)包含.sys(系統(tǒng)文件)、.rxe(系統(tǒng)可執(zhí)行文件,類似exe文件)、.rpg(NXT Program模塊產(chǎn)生的程序文件)、.ric(圖片 文 件 )、.rso (聲 音 文 件 )、.rtm (Try Me 模塊 文 件 ),iFileIterator對象用于遍歷 NXT設(shè)備上的文件。createFileIterator方法產(chǎn)生一個實例,通過destroyFileIterator方法進(jìn)行釋放。列表顯示NXT設(shè)備的文件信息的具體C++代碼如下:

編譯、運行后,列表顯示相應(yīng)NXT設(shè)備上的文件。通過getName(name)獲取文件的名稱,通過getSize獲取文件大小,通過getAvailableSize獲取可用文件空間。

2.4 設(shè)備控制

借助樂高LEGO MINDSTORMS NXT機(jī)器人系統(tǒng)的SDK文件FantomSDK,除可連接NXT設(shè)備,進(jìn)行模塊及文件的查看、刪除、讀寫操作外,還可結(jié)合Appendix 1-LEGO MINDSTORMS NXT Communication protocol.pdf、Appendix 2-LEGO MINDSTORMS NXT Directcommands.pdf、LEGO MINDSTORMS NXT Bluetooth Developer Kit.pdf等LEGO MINDSTORMS NXT Bluetooth Developer Kit文件,通過nxtPtr->sendDirectCommand方法,對NXT設(shè)備的傳感器、馬達(dá)等輸入輸出設(shè)備及聲音文件進(jìn)行控制,實現(xiàn)NXT-G、RoboLab能夠完成的全部任務(wù)。運行d.rxe程序,播放r.rso聲音文件的C++代碼如下:

3 結(jié)束語

利用樂高LEGO MINDSTORMS NXT機(jī)器人系統(tǒng)的SDK文件 FantomSDK,借助 C++編程,結(jié)合 LEGO MINDSTORMS NXT Bluetooth Developer Kit文件, 代替 NXT-G、RoboLab 軟件,完成NXT設(shè)備的全部控制任務(wù),為青少年、科技教師運用樂高NXT機(jī)器人系統(tǒng)進(jìn)行科技創(chuàng)新提供幫助與支持。

[1]李衛(wèi)紅.基于B/S的樂高NXT中文固件系統(tǒng)的研究及實現(xiàn)[J].價值工程,2011(4):146-147.

LI Wei-hong.Research and implement of chinese firmware of LEGO NXT system based on B/S[J].Value Engineering,2011(4):146-147.

[2]The LEGO Group.LEGO MINDSTORMS NXT Hardware DeveloperKit.pdf[EB/OL].(2006-07-24)http://mindstorms.lego.com/en-us/support/files/default.aspx.

[3]The LEGO Group.LEGO MINDSTORMS NXT Direct Commands.pdf.[EB/OL]. (2006 -07 -26)http://mindstorms.lego.com/en-us/support/files/default.aspx.

[4]The LEGO Group.LEGO MINDSTORMS NXT Bluetooth Developer Kit.pdf.[EB/OL].(2006-07-24)http://mindstorms.lego.com/en-us/support/files/default.aspx.

[5]The LEGO Group.Appendix 1-LEGO MINDSTORMS NXT Communication protocol.pdf.[EB/OL].(2006-11-02)http://mindstorms.lego.com/en-us/support/files/default.aspx.

[6]The LEGO Group.LEGO MINDSTORMS NXT Mobile Application.pdf.[EB/OL].(2006 -11 -02)http://mindstorms.lego.com/en-us/support/files/default.aspx.

[7]The LEGO Group.LEGO MINDSTORMS NXT FantomSDK[EB/OL].(2006-07-21)http://mindstorms.lego.com/en-us/support/files/default.aspx.

猜你喜歡
設(shè)備方法系統(tǒng)
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設(shè)備運行維護(hù)探討
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 女人毛片a级大学毛片免费| 国产精品v欧美| 9啪在线视频| 午夜性爽视频男人的天堂| 欧美h在线观看| 日韩欧美网址| 亚洲中文字幕av无码区| 亚洲精品无码抽插日韩| 国产在线第二页| 国产日韩欧美视频| 波多野结衣无码中文字幕在线观看一区二区| 亚洲天堂啪啪| 在线免费亚洲无码视频| 国产极品粉嫩小泬免费看| 四虎成人免费毛片| 国禁国产you女视频网站| 精品国产网站| 色香蕉网站| a级毛片免费网站| 在线观看欧美精品二区| 黄色a一级视频| 丁香六月激情综合| 亚洲国产精品美女| 亚洲国产欧美国产综合久久| 精品一区二区三区水蜜桃| 日韩精品一区二区三区大桥未久| 丁香婷婷综合激情| av午夜福利一片免费看| 无码日韩人妻精品久久蜜桃| 91久久国产热精品免费| 免费看a毛片| 亚洲国产欧洲精品路线久久| 欧美va亚洲va香蕉在线| 成人在线视频一区| 国产xx在线观看| 成人va亚洲va欧美天堂| 亚洲日本中文综合在线| 国产极品美女在线| 四虎综合网| 国产第一页屁屁影院| 手机精品福利在线观看| 在线国产91| 欧美一级色视频| 欧美精品1区| 亚洲一级毛片在线观播放| 最新国产网站| 成人免费网站久久久| 国产精品精品视频| 无码精品国产dvd在线观看9久 | 这里只有精品在线播放| 一级毛片中文字幕| 免费AV在线播放观看18禁强制| 欧美亚洲国产精品第一页| 亚洲午夜福利在线| 日韩精品毛片人妻AV不卡| 毛片大全免费观看| 国产丝袜91| 伊人久久综在合线亚洲2019| 午夜不卡视频| 亚洲午夜国产片在线观看| 亚洲国产精品VA在线看黑人| 国产亚洲精品yxsp| 国产精品一老牛影视频| 久久国产精品电影| 九九热精品视频在线| 亚洲日韩精品无码专区| 色亚洲激情综合精品无码视频| 免费A∨中文乱码专区| 国产日韩欧美成人| 伊人久久综在合线亚洲91| 国产一区二区三区在线精品专区| 久久人人爽人人爽人人片aV东京热 | 亚洲欧洲综合| 综合色婷婷| 亚洲欧洲国产成人综合不卡| 亚洲国产精品一区二区第一页免| 亚洲美女高潮久久久久久久| 欧日韩在线不卡视频| 国产丝袜无码一区二区视频| 熟女成人国产精品视频| 久久永久视频| 久久情精品国产品免费|