博客專欄

        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

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平潭县| 巴塘县| 泰来县| 永福县| 泰宁县| 蓬安县| 辰溪县| 阿图什市| 泰安市| 马龙县| 伊春市| 利辛县| 浦县| 田阳县| 广安市| 凭祥市| 聊城市| 上杭县| 江阴市| 凌源市| 华池县| 雷州市| 莆田市| 万荣县| 丹凤县| 沙坪坝区| 澄迈县| 宁安市| 呼图壁县| 灌阳县| 建平县| 宜良县| 通化县| 凯里市| 乐亭县| 海伦市| 金乡县| 崇州市| 景洪市| 二连浩特市| 吉林市|