Arduino+Labview也算強強聯合吧(上)

2021-03-02 LD工作室

最近在學習用上位機控制Arduino,之前也看到論壇裡有朋友討論這個話題,主要有兩種方法,一種是Processing,一種是Labview。

(雖然有大大吐槽Labview控制Arduino有點大材小用,不過我用下來的確很好用,和大家分享一下)

Labview控制Arduino有2種方法都可以嘗試,先來說比較簡單的一種——Labview Interface for Arduino。這個是Labview官方為Arduino開發的一個界面,這個界面的優點:

1. 容易上手,官方提供了很多已經編好的函數,你只需要知道Labview的基本程式語言(G語言)就可以輕鬆編寫程序;
2. 不需要寫Arduino端的程序,只需要在Labview端編好程序就可以用了;

當然他也有一些小缺點:

1. 官方提供的函數畢竟還是有限,目前能控制的傳感器有:熱敏電阻,光敏電阻,8段數碼管,RGB發光管,舵機等等
2. 因為Arduino端不需要編寫程序(其實是需要把一個官方函數對應的程序全部燒進Arduino,這個我後面會說)所以如果用到的傳感器沒有官方函數,就沒法搞了。其實就是沒有太多的可擴展性。

那現在我們來看看怎麼安裝這個Labview Interface for Arduino。
(參考的官方教程:https://decibel.ni.com/content/docs/DOC-15971)

一、準備
1. 需要一塊Arduino Uno開發板或者Arduino 2560開發板,這個是這個開發界面默認的開發板。

2. 安裝Labview,Labview 2011 可以去NI的官方網站上下載 http://www.ni.com/trylabview/ 你能下載到的是一個30天的試用版,當然如果想永久使用的話~~自己想辦法,我是不會告訴你網上有破解補丁的。

3. 你安裝好Labview後需要安裝一個叫Visa的Labview插件,這個插件的功能是管理串口,Labview與Arduino之間的通訊全靠這個插件完成。

Windows Download

http://download.ni.com/support/softlib/visa/NI-VISA/5.1.2/win/visa512full.exe

Linux Download

http://joule.ni.com/nidu/cds/view/p/id/2040/lang/en

Mac Download

http://joule.ni.com/nidu/cds/view/p/id/2039/lang/en

4. VISA安裝好後,我們開始安裝Labview Interface for Arduino, 安裝這個需要用到另外一個軟體叫 JKI VI Package Manager (VIPM) Community Edition (free)

(1) 我們去這個網站http://jki.net/vipm 點擊:

(2) 把這個軟體下載下來,安裝好後啟動VIPM


(3) 在窗口界面中找到Labview Interface for Arduino


(4) 點擊 Install &Upgrade Packages 按鈕


(5) 點擊 Continue 然後等一會兒等他下載完


5. 現在我們把該安裝的東西都安裝好了,我們進行Arduino UNO板和PC的連接

(1) 去Arduino官網下一個最新的IDE(最好是1.0版本以上的,裡面有UNO的USB串口驅動)http://arduino.cc/en/Main/Software

(2) 把IDE解壓到 C:\Program Files.

(3) 把你的Arduino UNO 板用USB連接線連上PC

(4) Windows會嘗試著去識別UNO,但Windows系統當然是識別不出來的。。(Mac和Linux就可以),這就需要我們手動去加載驅動程序。


(5) 點擊更新驅動程序


(6) 選擇瀏覽計算機以查找驅動程序軟體


(7) 選擇路徑為: C:\Program Files\arduino_1.xx\drivers


(8) 點擊下一步
(9) 點擊關閉


(10) 現在你就可以在你的設備管理器裡的埠(COM和LPT)裡找到你的UNO了


6. 很好,我們現在成功安裝好了UNO,我們可以開始把Labview寫的官方Arduino程序燒進UNO裡了
(這個程序裡有Labview Interface for Arduino裡的函數所需要用到的所有Arduino指令,不過這也使Arduino只能完成那些Labview函數的功能,幹不了別的)

文件的地址:.\LabVIEW 2011\vi.lib\LabVIEW Interface for Arduino\Firmware\LVIFA_Base\LVIFA_Base.pde

恭喜你,前期的準備工作終於完成了!!


二、讓我們來實際做一個例程

1. 讓我們打開Labview 2011


對於第一次接觸Labview的人(比如2個星期前的我)可以先看一下軟體自帶的Labview入門指南,還有就是查找範例裡自帶的大量例程,這能幫助你快速起步(別去圖書館借什麼Labview的書,那個效率太低了)

2. 現在我們就來用熱敏電阻和Arduino做一個簡單的溫度計,用Labview來顯示讀取的溫度,點擊主界面上的 VI


3. 這個時候我們就看到了Labview的界面,界面由兩部分組成——前面板和程序框圖。前面板是以後儀器的主界面,程序框圖是你編程的地方,旁邊還有3個工具欄分別是——工具、函數和控制項


稍微需要解釋一下的是程序框圖裡主要用到的事各種函數,前面板裡主要用到的各種控制項(比如數值輸入,按鈕,圖表)

4. 選中程序框圖,我們開始編一個小程序,Arduino先要做的一件事是初始化,我們在函數工具箱裡找到Arduino-->Init這個函數


點擊一下,然後把他拖到程序框圖裡

5. 初始化之後我們需要用一個函數來讀取熱敏電阻的溫度值,在函數工具箱裡找到Arduino-->Sensors-->Thermistor Read


同樣把這個函數拖到程序框圖裡

6. 最後我們需要一個函數作為結束,在函數工具箱裡找到Arduino-->Close這個函數


把他拖到程序框圖裡

7. 一般在Labview裡還需要一個報錯的函數,這個函數在編程-->對話框與用戶界面-->簡易錯誤處理器,我們把他拖過去。


8. 很好,我們選擇好主要的函數後我們需要給程序加一個結構,在Arduino裡我們的主程序都是在一個void loop的函數下的,這個函數其實就是一個循環,所以我們現在要給程序框圖裡加一個While循環結構,這個結構可以在函數工具箱裡 編程-->結構-->While 循環 找到。我們用While循環把Thermistor Read這個函數框起來,讓他不斷去讀熱敏電阻的值。


9. 這樣子主要的函數和程序結構就建立好了,接下來我們要給函數加入輸入輸出控制項,Labview的幫助菜單下有一個顯示即時幫助是初學者的好幫手,我們可以直接用這個去看這個函數到底功能是什麼,需要什麼輸入輸出控制項。我們把他打鉤,然後點擊程序框圖裡的Thermistor Read就可以知道這個函數的詳細信息。


根據這個幫助的提示,我們開始給這個函數加入輸入控制項
(1) 模擬輸入的Pin口(我們選01號模擬輸入口)
(2) 串聯了一個多大的電阻(我們選擇10000歐姆的電阻)

以及輸出控制項
(1) 輸出溫度

以及常量
(1) Vcc電壓(5V)
加參數的方法是,先在主工具箱裡選擇進行連線


然後把滑鼠移到Thermistor Read 函數上會發現他左右上下多出來很多各種顏色的點點,找到其中藍色的點,把滑鼠放上去,程序會自動提示這個接口的意義


然後點滑鼠右鍵,拉出下拉菜單,選擇創建-->輸入控制項


這樣程序就會加入一個對應接口的輸入控制項,如圖


同樣的方法,我們可以根據這個函數的描述,把各個輸入控制項,輸出控制項和常量加入進去

把控制項全部加入好之後是這個樣子的:


10.加入完控制項後編程就進入尾聲了,最後我們需要做的只是把 Arduino Resource(粉色) 和 error(土黃色) 這兩條線連起來,我們的程序就編完了。


11. 程序編完後,我們回到前面板,在前面板裡我們看到Labview自動幫我們加了2個輸入框(輸入模擬Pin口和電阻值)和一個顯示口(顯示溫度)


12. 美術好的朋友可以對前面板做一下美化,讓這個界面更好看一些


13. 最後我們根據硬體圖,把電路搭起來


14. 搭好後點擊前面板左上方的運行按鈕,你的小儀器就開始工作了~~

小結:這次的學習筆記參考了網上的很多資料,把他們整理在了一起,差不多是從一開始什麼都不知道到最後能編一個小儀器所需要的資料都在裡面了,有什麼不明白的請在回帖裡提問,可能我還有什麼沒有寫清楚的地方。這次教的這個例程在官方的案例庫裡面有,叫Arduino Thermist Read 如果有什麼問題也可以直接去看那個案例。

如果喜歡觀看類似科技新奇事物,以及了解創客圈最新資訊,或者您對Arduino有所耳聞,可以關注我們微信公眾號,一定會帶給您最新的資訊,最實用的教程,以及創客最新的玩意。

微信公眾號:liudaosixway

也可以加入我們Arduino技術支持qq群:329657595



相關焦點

  • LABVIEW+Arduino
    而arduino可以模擬這些操作,再與LABVIEW相結合,可以在同一程序能實現切換頻點、通道等的操作,並根據測試需要將所需要的測試數據記錄在相應的表格內。一、什麼是arduinoArduino是一款便捷靈活、方便上手的開源電子原型平臺。包含硬體(各種型號的Arduino板)和軟體(Arduino IDE)。由一個歐洲開發團隊於2005年冬季開發。
  • 如何編譯LabVIEW代碼並燒錄到Arduino上?
    既然串口通信太慢,那要是直接把LabVIEW程序編譯並下載到Arduino開發板上呢?這樣就可以避免通信的延時,還可以脫離PC!Arduino IDE 啟動頁面Arduino IDE下載地址:https://www.arduino.cc/en/Main/Software?
  • LabVIEW與樂高NXT機器人的入門
    軟體基礎上開發的。目前labview已經從定位於虛擬儀器軟體升級為一種流行的圖形化編程軟體,就像C語言是文本式程式語言的代表一樣,Labview就是圖形式程式語言的典範,國內外擁有眾多Labview用戶。現在你可以在labview軟體基礎上,安裝樂高NXT 組件,就可以直接用labview軟體編程了!
  • arduino 從零開始(2)探索arduino開發板和arduino IDE
    數字針腳可以用來偵測針腳是否有電信號(高或者低)或者在針腳上產生一個信號(高或者低)。針腳0和針腳1還被用來進行串口通信(例如arduino板子與電腦之間的通信)。帶有~標誌的針腳可以產生一個變化的電信號(不是只有高和低兩個值),從而這些針腳可以用來調節燈光和用來控制馬達速度。
  • labview實現深度學習,還在用python?
    labview是一個廣泛應用於工業自動化測控領域的編程平臺,其具有很多不同行業的算法庫,例如vision視覺庫,集成了常用的視覺算法。其編程特點是上手快,開發效率高,兼容性強,能快速調用c++,c#等平臺的dll類庫。如何將labview與深度學習結合起來,來解決視覺行業越來越複雜的應用場景所遇到的困難。
  • 基於labview的示波器控制設計
    計算機控制示波器步驟實例(以LAN口控制為例,開發軟體:labview)下面針對計算機如何編程控制示波器的步驟進行詳細的說明。3.1 開發軟體的選取市場上最流行的分析和開發軟體很多,有VC/VC++、VB/VBA、Matlab、Labview、LabWindow CVI等開發軟體,根據個人的愛好和對某個軟體的熟悉程度來選用。
  • 【arduino】流水燈
    最近球球小朋友對arduino產生了濃厚的興趣,沒事就找書或者找視頻進行學習。
  • Arduino為什麼這麼火
    arduino究竟好在哪裡。(此篇文章由馬克筆設計留學原創首發,禁止一切商用目的的轉載和引用)首先,關於arduino是什麼,官網上有這樣一段介紹:ArduinoIDE則是在說arduino有自己的開發環境,即軟體,這裡可以類比我們大家電腦上的其他應用軟體,如ps(用於處理圖片),只不過這個軟體是用來定向的實現arduino元件功能開發的。
  • 用Arduino開發物聯網設備之初識Arduino
    硬體部分:最初Arduino硬體只有那麼幾種,uno、mini等,但是現在經過這麼多年的發展,越來越多的硬體支持了arduino開發環境,所以現在也很難去界定什麼是血統純正的arduino硬體了。軟體部分:這部分也就是我們平時說的Arduino,我們其實使用的就是arduino框架來對很多的mcu來進行編程。這裡很多小夥伴其實有很多疑問,比如為什麼要用arduino來進行?
  • 實戰訓練8:labview編程實現PLC直接讀寫
    學習日記,更多精彩資源為您準備~嗨~親愛的小夥伴,我們知道labview廣泛運用於工業控制,其中用到最多的就是labview與PLC的通訊控制了,今天小編就給大家介紹如何利用labview與三菱PLC的通訊,以及通過labview直接讀寫三菱PLC。
  • Arduino_集合Arduino教程、Arduino IDE及設計應用的技術專題
    在線等挺急的 詳細點 回答28# eepwlover:Arduino開發工具(arduino IDE) 1.0.5 綠色免費版
  • tensorflow+目標檢測:龍哥教你學視覺—LabVIEW深度學習教程
    上述傳統算法在某些特定的應用中已經取得了較好的效果,但仍然存在許多不足。例如:圖像預處理步驟繁多且具有強烈的針對性,魯棒性差;多種算法計算量驚人且無法精確的檢測缺陷的大小和形狀。而深度學習可以直接通過學習數據更新參數,避免了人工設計複雜的算法流程,並且有著極高的魯棒性和精度。
  • arduino從零開始(3)電子元件與LED流水燈
    、使用for循環電子元件相關arduino色環電阻:arduino針腳輸出的是5V電壓,所以如果將LED連接到arduino需要串聯電阻。使用歐姆定律:歐姆定律計算得到電阻大概範圍在165Ω到660Ω之間,常用的算換電阻為220Ω、330歐姆、1KΩ。arduino 麵包板:
  • 大牛輕鬆帶你玩轉Arduino智能硬體:(一)arduino入門:硬體介紹
    (一)arduino入門:硬體介紹認識arduino你都不需要去關心單片機編程繁瑣的細節,提供給你的是一套容易使用的工具包。4 以下是基於arduino單片機的作品尋跡小車平衡小車我相信大家看了這些作品後,都會感覺arduino的強大,心中也是很激動的,也很想嘗試去自己動手製作,那好就讓我們進入arduino的世界吧,讓自己成為一名創客。
  • 如何將光學旋轉編碼器與Arduino連接 - 【單片機教程-Arduino-光學旋轉編碼器】
    合作或投稿請發郵件到:rebaby@qq.com關鍵詞:ARDUINO、光學編碼器、旋轉編碼器、教程大家好,我們將學習如何將光學旋轉編碼器與arduino微控制器連接。首先,我們了解什麼是光學旋轉編碼器。
  • Arduino入門1: Arduino的前世今生
    圖片為Arduino一代原型機Wiring Lite, 轉載自http://arduinohistory.github.io相比當時價格較高的BASIC Stamp和其他平臺,Arduino在硬體上極大地集成和簡化了電路模塊一些繁瑣的技術細節,降低成本和提供擴展性,同時在軟體上提供了一套面向非電子專業人士的跨平臺編程環境,簡易的語法和用戶界面讓初學者很容易上手。
  • arduino mega全解
    關於arduino mega相信大家對於這一開發板有了一定的了解,現在對這款開發板做一下系統的解說:本文引用地址:http這就會有可能造成開發板的故障,需重新燒入熔絲位,在這裡我用的是智峰的燒錄軟體,,其中低位值,高位值和擴展位值分別為:FF,DA,FF,調入FLASH為arduino
  • Arduino 課時一:初識Arduino
    這讓我這個非專業人士也能玩上一玩,感到很開心。二.怎麼拼讀Arduino?這是很多同學都問過的一個問題,你可以讀成「啊嘟囉」,「啊丟囉」,「啊嘟依囉」等等,實在介意,就用翻譯軟體讀給你聽,那個最準確!三.哪裡買Arduino?哪裡下載Arduino IDE?
  • Arduino硬體編程(3):猜數字遊戲
    Arduino硬體編程(1):pinMode和digitalWrite        Arduino硬體編程(2):Delay    是這樣的,arduino硬體套裝買回來後,我就一直把它束之高閣,除了剛開始還會玩玩,之後就沒有碰過了,箱子上都落灰了。
  • labview的深入探索之事件結構中的TIMEOUT進行數據採集合適嗎?
    串口數據處理_labview串口通信 介紹了一個最簡單的串口通信的上位機的例子。添加上之後前面板會出現在後面板會出現一.在後面板添加一個串口配置的控制項接下來對對串口配置控制項進行配置1.「啟用終止符」------------配置布爾型變量「T」,就是取真。2.