亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2012-09-19 10:28:58薛清平李衛(wèi)紅
        電子設(shè)計(jì)工程 2012年1期
        關(guān)鍵詞:樂高藍(lán)牙對象

        薛清平,李衛(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)計(jì)劃”項(xiàng)目的開展,樂高LEGO MINDSTORMS NXT機(jī)器人系統(tǒng)在各地中小學(xué)的推廣速度也將加快[1],服務(wù)于此,有必要對樂高LEGO MINDSTORMS NXT機(jī)器人系統(tǒng)的相關(guān)問題尤其是二次開發(fā)問題做進(jìn)一步深入探討、研究。

        1 FantomSDK

        作為一個(gè)開放式的擴(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)境,可運(yù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è)備映射到一個(gè)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)生一個(gè)NXT實(shí)例,使用后,通過destroy方法進(jìn)行釋放。createNXTIterator(ViBoolean,ViUInt32,tStatus)方法中 ViBoolean 參數(shù)為 true,則搜索通過USB、藍(lán)牙連接的所有NXT設(shè)備。若ViBoolean參數(shù)為false,則僅搜索通過USB連接的NXT設(shè)備。獲取NXT設(shè)備的具體C++代碼如下:

        編譯、運(yùn)行后,如果成功搜索到系統(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)生一個(gè)實(shí)例,通過destroyModuleIterator方法進(jìn)行釋放。列表顯示NXT設(shè)備的模塊信息的具體C++代碼如下:

        編譯、運(yùn)行后,遍歷相應(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)生一個(gè)實(shí)例,通過destroyFileIterator方法進(jìn)行釋放。列表顯示NXT設(shè)備的文件信息的具體C++代碼如下:

        編譯、運(yùn)行后,列表顯示相應(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)行控制,實(shí)現(xiàn)NXT-G、RoboLab能夠完成的全部任務(wù)。運(yùn)行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ù),為青少年、科技教師運(yùn)用樂高NXT機(jī)器人系統(tǒng)進(jìn)行科技創(chuàng)新提供幫助與支持。

        [1]李衛(wèi)紅.基于B/S的樂高NXT中文固件系統(tǒng)的研究及實(shí)現(xiàn)[J].價(jià)值工程,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.

        猜你喜歡
        樂高藍(lán)牙對象
        神秘來電
        睿士(2023年2期)2023-03-02 02:01:09
        藍(lán)牙音箱的直線之美
        樂高2020年上半年財(cái)報(bào):收入同比增長7%
        玩具世界(2020年4期)2020-11-16 01:06:10
        簡單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
        樂高樂園
        適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
        攻略對象的心思好難猜
        意林(2018年3期)2018-03-02 15:17:24
        緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
        玩具世界(2017年8期)2017-02-06 03:01:38
        基于熵的快速掃描法的FNEA初始對象的生成方法
        樂高?城市組
        国产一区二区三区在线电影| 亚洲综合精品一区二区三区| 国产人成亚洲第一网站在线播放| 狠狠色丁香婷婷久久综合2021| 国产精品国产三级国产专播| 国产成人精品无码片区在线观看 | 亚洲一区二区三区免费的视频| 日本孕妇潮喷高潮视频| 蜜臀av 国内精品久久久| 亚洲中文字幕无码二区在线| 国产精品成人久久a级片| 偷拍偷窥女厕一区二区视频| 中文成人无码精品久久久不卡| 欧美伊人亚洲伊人色综| 国产av自拍在线观看| 久久国产精品亚洲婷婷片| 夜夜躁狠狠躁2021| 不卡国产视频| 久久久精品国产av麻豆樱花| 亚洲精品第一国产综合精品| 区二区欧美性插b在线视频网站| 视频女同久久久一区二区三区| 国产精品白浆一区二区免费看 | 4hu四虎永久在线观看| 国产aⅴ夜夜欢一区二区三区| 亚洲一区二区三区毛片| 国产精品视频永久免费播放| 国产大学生粉嫩无套流白浆| 丰满人妻AV无码一区二区三区| 野花视频在线观看免费| 屁屁影院ccyy备用地址| 永久无码在线观看| 中文片内射在线视频播放| 色狠狠色狠狠综合天天| 成 人 色综合 综合网站| 亚洲视频在线播放免费视频| 久久久精品国产性黑人| 日韩精品成人无码专区免费| 亚洲网站地址一地址二| 自拍偷拍一区二区三区四区| 欧美性生交大片免费看app麻豆 |