• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 博客專欄

    EEPW首頁 > 博客 > LabVIEW和Arduino的巧妙結合(基礎篇—1)

    LabVIEW和Arduino的巧妙結合(基礎篇—1)

    發布人:美男子玩編程 時間:2022-06-22 來源:工程師 發布文章

    本篇博文將開啟第四個LabVIEW系列專欄,也是目前確定的最后一個關于LabVIEW技術的專欄:LabVIEW和單片機。在前三個專欄分享介紹了:

    1、基礎篇:LabVIEW開發技巧;

    2、工控篇:LabVIEW儀器控制;

    3、視覺篇:LabVIEW圖像處理和機器視覺。


    本專欄使用的單片機為:Arduino(本系列專欄使用Arduino UNO控制器),主要原因在于,Arduino簡單易上手,老少皆宜,受眾面廣泛,使用Arduino作為下位機,LabVIEW作為上位機,獨立開發者可以快捷開發出一套軟硬件聯控的演示系統。


    同時,我也推薦各位先學習一下之前發布的Arduino基礎知識:和12歲小同志搞創客開發,了解Arduino開發工具和基礎開發知識。


    圖片



    1


    安裝LabVIEW Interface for Arduino Toolkit工具包


    LabVIEW中有專業的接口工具包實現和Arduino進行聯控:LabVIEW Interface for Arduino Toolkit。


    LabVIEW Interface for Arduino Toolkit是NI公司(美國國家儀器公司)為Arduino開發的接口工具包,借助于這個工具包,可以很方便地使用LabVIEW軟件與Arduino控制器實現聯合開發。把這個工具包和LabVIEW軟件結合起來,通過LabVIEW軟件就可以實現對Arduino控制器的控制或者與Arduino控制器交換數據。


    LabVIEW Interface for Arduino Toolkit最大的優點在于內置有數十個NI公司開發的庫,提供給開發者使用,當Arduino與LabVIEW連接之后,就可以使用LabVIEW中數十個內置的庫來開發新的程序算法來控制Arduino硬件,而且構建UlI(人機交互界面)也非常容易,適合于新手使用。同時,LabVIEW Interface for Arduino支持Arduino控制器通過USB、串口、藍牙或XBee等接口的形式與計算機的LabVIEW進行連接。


    LabVIEW Interface for Arduino Toolkit工具包的安裝非常簡單,在VI Package Manager,搜索LabVIEW Interface for Arduino就可以進行安裝,如下所示:


    圖片


    當LabVIEW安裝LabVIEW Interface for Arduino工具包之后,在前面板和程序框圖中的函數欄目中就會出現Arduino控件和操作函數庫。


    Arduino控件包含模擬IO、數字I/O、Pin Mode、Board Type和連接方式等,如下圖所示:


    圖片

    前面板控件庫


    操作函數庫包含有Arduino INIT、Arduino CLOSE、Low Level、Sensors、Examples等,如下圖所示。其中,Arduino INIT和Arduino CLOSE是每個程序必備的,即與Arduino控制器建立連接,完成對Arduino預先設定的操作之后,斷開與Arduino控制器的連接,釋放Arduino控制器的串口資源。


    圖片

    程序面板函數庫


    另外,Low Level為Arduino初級應用,Sensors為經過封裝的傳感器函數庫,Examples包含有大量的應用示例。由于Sensors和Example是將Low Level函數封裝構建成的函數庫,所以使用較為方便,但是其兼容擴展性不如Low Level好。



    2


    LabVIEW Interface for Arduino Toolkit工具包的使用


    本小節主要講解Arduino lNIT、Arduino CLOSE、Low Level以及Sensors中部分函數庫的使用。


    2.1、Arduino INIT函數節點


    Arduino INIT函數節點如下圖所示:


    圖片


    輸入參數有VISA resource、波特率、Arduino板的類型、連接方式(USB/Serial),輸出參數為Arduino資源號,提供給后續函數對Arduino進行操作。它的功能是連接Arduino控制器,以使得Arduino板進入受LabVIEW控制的狀態。除了VISA之外,其他的輸入參數可以不給定,即使用默認參數,波特率115200,Arduino Uno板,USB/Serial連接方式,每個包15個字節。


    2.2、Arduino CLOSE函數節點


    Arduino CLOSE函數節點如下圖所示:


    圖片


    輸入參數為Arduino資源號,只有錯誤輸出。其功能是斷開Arduino與LabVIEW的連接,釋放Arduino控制器的串口資源。


    2.3、Low Level函數庫


    Low Level函數庫包含:模擬輸入、數字IO配置、數字輸入、數字輸出、PWM輸出(模擬輸出)、Tone、I2C、SPI、模擬采樣功能,如下圖所示:


    圖片


    其中,模擬輸入、數字輸出、數字輸出和PWM輸出分為管腳和端口兩種,端口操作適用于需要多個IO管腳進行操作的情況。


    2.4、Sensors函數庫


    Sensors函數庫中包含:熱敏電阻、光敏電阻、RGB、數碼管、紅外、舵機、步進電機和液晶顯示等功能,如下圖所示:


    圖片



    3


    燒錄Arduino固件


    將Arduino作為下位機時,需要燒錄LIFA_Base.ino,可在安裝工具包路徑下找到,例如該文件在我的電腦位于:



    D:National InstrumentsLabVIEW 2020vi.libLabVIEW Interface for ArduinoFirmwareLIFA_Base


    圖片


    使用Arduino IDE打開該文件,編譯并下載到Arduino單片機中,完成固件燒錄。


    圖片


    *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

    助聽器原理相關文章:助聽器原理




    關鍵詞: LabVIEW Arduino

    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 泰来县| 监利县| 城步| 罗源县| 巴马| 贵溪市| 巩留县| 六枝特区| 会同县| 会宁县| 宁海县| 白水县| 游戏| 安福县| 武夷山市| 延庆县| 高台县| 瑞昌市| 青阳县| 西林县| 祁连县| 鹤岗市| 郓城县| 桓台县| 保靖县| 长泰县| 缙云县| 德清县| 开化县| 承德县| 来凤县| 北碚区| 邵阳县| 拜城县| 临颍县| 龙胜| 镶黄旗| 阿克| 同德县| 黔南| 大渡口区|