0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實現(xiàn)LabVIEW與Arduino硬件的通訊

CHANBAEK ? 來源:頭條號LabVIEW與自動化測試 ? 作者:頭條號LabVIEW與自動 ? 2023-04-25 11:40 ? 次閱讀

今天有一位客戶請教我做一個程序,實現(xiàn)LabVIEWArduino硬件的通訊,具體需求為:

1、Arduino硬件(其開發(fā)板單片機(jī)型號為AT89C52)采集傳感器數(shù)據(jù),并通過串口將數(shù)據(jù)傳遞出來;

2、通過LabVIEW制作上位機(jī)軟件,實現(xiàn)對Arduino硬件傳遞過來的傳感器數(shù)據(jù)的可視化顯示(以曲線圖的形式顯示歷史數(shù)據(jù)),以及將所有數(shù)據(jù)存儲下來。

需求還是比較簡單而且明確的,具體實施也比較簡單,以下詳細(xì)介紹下實現(xiàn)過程。

一、Arduino硬件端的程序開發(fā)

我這邊采用Arduino UNO R3硬件采集一個傳感器數(shù)據(jù),并每隔0.5s通過串口傳遞1個數(shù)據(jù)出來,具體實現(xiàn)代碼如下圖所示。

wKgaomRHS5-AYO4oAABtuEhDOKw147.jpg

Arduino 代碼實現(xiàn)

二、LabVIEW端上位機(jī)的程序開發(fā)

LabVIEW端直接采用NI-VISA函數(shù)即可實現(xiàn)串口數(shù)據(jù)的讀取,再通過“寫入電子表格文件”子函數(shù)將數(shù)據(jù)存儲到一個.csv格式的電子表格文件中,具體實現(xiàn)代碼如下圖所示。

wKgZomRHS5-AXhopAADMhC5xGJw230.jpg

LabVIEW 程序框圖

具體實現(xiàn)流程為:打開串口(波特率需要設(shè)置正確)→清空串口緩沖區(qū)數(shù)據(jù)→While循環(huán)(檢查串口緩沖區(qū)是否有有數(shù)據(jù)可讀取,若有則將數(shù)據(jù)讀取出來,并將數(shù)據(jù)還原為浮點型數(shù)值型數(shù)據(jù),并傳遞給波形圖表,同時還設(shè)置了若采集數(shù)據(jù)超過設(shè)定的限值時亮報警指示燈的功能),當(dāng)用戶點擊了停止采集的按鈕時,會將所有采集到的數(shù)據(jù)一次性保存到指定路徑下的電子表格中。

三、效果展示

效果如下圖所示。

wKgaomRHS6CANLdZAABONoGjoZI720.jpg

Arduino IDE 端監(jiān)視數(shù)據(jù)

wKgZomRHS6CAbL9cAAHTAaVBEkM963.jpg

LabVIEW上位機(jī)軟件采集到的數(shù)據(jù)

wKgaomRHS6GANqokAAHSTH3W50M744.jpg

存儲的電子表格數(shù)據(jù)

四、延伸

我們的物聯(lián)網(wǎng)模塊或一般的單片機(jī)模塊可以用于采集一些傳感器數(shù)據(jù),但最終做上位機(jī)軟件還是得依靠一些比較強(qiáng)大且方便開發(fā)和展示的編程語言,如本文中提到的LabVIEW軟件,用LabVIEW軟件做上位機(jī)軟件還是比較合適的,一來這個軟件的編制是圖形化編制的,比較容易上手,二來該軟件很方便做一些可視化的展示。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2545

    文章

    50452

    瀏覽量

    751097
  • LabVIEW
    +關(guān)注

    關(guān)注

    1961

    文章

    3651

    瀏覽量

    322013
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2900

    文章

    44068

    瀏覽量

    370265
  • 通訊
    +關(guān)注

    關(guān)注

    9

    文章

    890

    瀏覽量

    34810
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6458

    瀏覽量

    186504
收藏 人收藏

    評論

    相關(guān)推薦

    labviewarduino

    逼的編程軟件,LabVIEW當(dāng)然要結(jié)合硬件來玩才有趣,軟硬件結(jié)合,學(xué)得才夠全面! 然后,我們就會苦惱于選擇什么硬件。這里本人覺得,作為初學(xué)者,可以先玩一下開源
    發(fā)表于 12-04 13:17

    Arduino硬件串口通訊的相關(guān)資料推薦

    在很多時候,Arduino需要和其他設(shè)備相互通訊,而最常見最簡單的方式就是串口通訊。本篇介紹Arduino硬件串口
    發(fā)表于 02-15 06:43

    可編程控制器與Labview通訊實現(xiàn)

    以O(shè)MRON 可編程控制器為例, 介紹了Labview 與PLC 通訊的方法及具體實現(xiàn)?!娟P(guān)鍵詞】PLC Labview 串口通訊
    發(fā)表于 05-27 13:33 ?590次下載

    labview_串口通訊的分析

    labview_串口通訊的分析
    發(fā)表于 11-09 17:51 ?226次下載
    <b class='flag-5'>labview</b>_串口<b class='flag-5'>通訊</b>的分析

    利用LabVIEW實現(xiàn)COM1和COM2之間的通訊_labview程序案例

    程序案例 利用LabVIEW實現(xiàn)COM1和COM2之間的通訊
    發(fā)表于 01-12 15:42 ?78次下載

    利用LabVIEW實現(xiàn)串口通訊_labview程序案例

    程序案例 利用LabVIEW實現(xiàn)串口通訊
    發(fā)表于 01-12 15:44 ?341次下載

    ArduinoLabVIEW開發(fā)實戰(zhàn)》配套代碼

    ArduinoLabVIEW開發(fā)實戰(zhàn)》配套代碼
    發(fā)表于 03-23 16:00 ?28次下載

    如何使用ArduinoLabVIEW進(jìn)行多路數(shù)據(jù)采集系統(tǒng)的設(shè)計

    針對低速、低成本、快速搭建的特點,采用ArduinoLabVIEW實現(xiàn)低成本上下位機(jī)數(shù)據(jù)采集系統(tǒng)。Arduino作為下位機(jī),負(fù)責(zé)A/D轉(zhuǎn)換以及數(shù)據(jù)傳輸;
    發(fā)表于 04-26 18:26 ?53次下載
    如何使用<b class='flag-5'>Arduino</b>和<b class='flag-5'>LabVIEW</b>進(jìn)行多路數(shù)據(jù)采集系統(tǒng)的設(shè)計

    采用LabVIEW實現(xiàn)Modbus通訊協(xié)議的方式

    針對Modbus的串口和TCP兩種不同的方式,在LabVIEW中通??梢酝ㄟ^以下幾種方法實現(xiàn)Modbus通訊。其中一些實現(xiàn)方式需要安裝LabVIEW
    的頭像 發(fā)表于 01-16 17:22 ?1.7w次閱讀

    LabVIEW與TwinCAT如何通過ADS通訊

    LabVIEW 是測控領(lǐng)域非常流行的測控軟件,作為上位機(jī)數(shù)據(jù)采集軟件,LabVIEW 可以非常方便的實現(xiàn)數(shù)據(jù)的分析、顯示及存儲等。LabVIEW 也可以非常方便的和 Beckhoff
    發(fā)表于 05-12 08:00 ?18次下載
    <b class='flag-5'>LabVIEW</b>與TwinCAT如何通過ADS<b class='flag-5'>通訊</b>

    Arduino—串口通訊

    在很多時候,Arduino需要和其他設(shè)備相互通訊,而最常見最簡單的方式就是串口通訊。本篇介紹Arduino硬件串口
    發(fā)表于 12-16 16:52 ?3次下載
    <b class='flag-5'>Arduino</b>—串口<b class='flag-5'>通訊</b>

    LabVIEW Interface for Arduino (LIFA)介紹

    本篇推送我們看一看另一個可以通過Labview編程操控Arduino的工具包——Labview Interface for Arduino(以下簡稱LIFA)。
    的頭像 發(fā)表于 05-08 14:19 ?2496次閱讀
    <b class='flag-5'>LabVIEW</b> Interface for <b class='flag-5'>Arduino</b> (LIFA)介紹

    LABVIEW串口通訊

    labview實現(xiàn)串口通訊
    發(fā)表于 08-19 14:37 ?5次下載

    labview實現(xiàn)tcp通訊

    labview實現(xiàn)tcp通訊
    發(fā)表于 08-19 14:26 ?8次下載

    Arduino Nano 和 DHT11 實現(xiàn) LabVIEW 溫濕度采集

    Arduino Nano 和 DHT11 實現(xiàn) LabVIEW 溫濕度采集
    的頭像 發(fā)表于 10-08 11:46 ?440次閱讀
    <b class='flag-5'>Arduino</b> Nano 和 DHT11 <b class='flag-5'>實現(xiàn)</b> <b class='flag-5'>LabVIEW</b> 溫濕度采集