0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何实现LabVIEW与Arduino硬件的通讯

CHANBAEK 来源:头条号LabVIEW与自动化测试 作者:头条号LabVIEW与自动 2023-04-25 11:40 次阅读

今天有一位客户请教我做一个程序,实现LabVIEWArduino硬件的通讯,具体需求为:

1、Arduino硬件(其开发板单片机型号为AT89C52)采集传感器数据,并通过串口将数据传递出来;

2、通过LabVIEW制作上位机软件,实现对Arduino硬件传递过来的传感器数据的可视化显示(以曲线图的形式显示历史数据),以及将所有数据存储下来。

需求还是比较简单而且明确的,具体实施也比较简单,以下详细介绍下实现过程。

一、Arduino硬件端的程序开发

我这边采用Arduino UNO R3硬件采集一个传感器数据,并每隔0.5s通过串口传递1个数据出来,具体实现代码如下图所示。

wKgaomRHS5-AYO4oAABtuEhDOKw147.jpg

Arduino 代码实现

二、LabVIEW端上位机的程序开发

LabVIEW端直接采用NI-VISA函数即可实现串口数据的读取,再通过“写入电子表格文件”子函数将数据存储到一个.csv格式的电子表格文件中,具体实现代码如下图所示。

wKgZomRHS5-AXhopAADMhC5xGJw230.jpg

LabVIEW 程序框图

具体实现流程为:打开串口(波特率需要设置正确)→清空串口缓冲区数据→While循环(检查串口缓冲区是否有有数据可读取,若有则将数据读取出来,并将数据还原为浮点型数值型数据,并传递给波形图表,同时还设置了若采集数据超过设定的限值时亮报警指示灯的功能),当用户点击了停止采集的按钮时,会将所有采集到的数据一次性保存到指定路径下的电子表格中。

三、效果展示

效果如下图所示。

wKgaomRHS6CANLdZAABONoGjoZI720.jpg

Arduino IDE 端监视数据

wKgZomRHS6CAbL9cAAHTAaVBEkM963.jpg

LabVIEW上位机软件采集到的数据

wKgaomRHS6GANqokAAHSTH3W50M744.jpg

存储的电子表格数据

四、延伸

我们的物联网模块或一般的单片机模块可以用于采集一些传感器数据,但最终做上位机软件还是得依靠一些比较强大且方便开发和展示的编程语言,如本文中提到的LabVIEW软件,用LabVIEW软件做上位机软件还是比较合适的,一来这个软件的编制是图形化编制的,比较容易上手,二来该软件很方便做一些可视化的展示。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48110

    浏览量

    740122
  • LabVIEW
    +关注

    关注

    1918

    文章

    3619

    浏览量

    317003
  • 物联网
    +关注

    关注

    2870

    文章

    41639

    浏览量

    358410
  • 通讯
    +关注

    关注

    9

    文章

    840

    浏览量

    34370
  • Arduino
    +关注

    关注

    184

    文章

    6428

    浏览量

    184846
收藏 人收藏

    评论

    相关推荐

    基于labview的工控机与变频器间通讯的设计和实现

    本文以台达vfd-b系列变频器为例,介绍一种基于labview软件利用串口实现工控机与变频器间通讯,进行频率参数设定、监视输出电流的方法。
    发表于 02-21 13:56 7549次阅读
    基于<b class='flag-5'>labview</b>的工控机与变频器间<b class='flag-5'>通讯</b>的设计和<b class='flag-5'>实现</b>

    求救,arduinolabview的蓝牙通讯

    本帖最后由 a6172910 于 2016-8-4 12:21 编辑 这个程序功能是开启串口后输入A,arduino控制13口的led亮,输入其他就灭,u***串口通讯时没有问题,可是蓝牙弄了
    发表于 08-04 12:08

    labviewarduino

    逼的编程软件,LabVIEW当然要结合硬件来玩才有趣,软硬件结合,学得才够全面! 然后,我们就会苦恼于选择什么硬件。这里本人觉得,作为初学者,可以先玩一下开源
    发表于 12-04 13:17

    Labview与PLC通讯的方法及具体实现

    摘要:以OMRON可编程控制器为例,介绍了Labview与PLC通讯的方法及具体实现。关键词:PLC ;Labview ;串口通讯1 引言
    发表于 05-10 09:40

    Arduino硬件串口通讯的相关资料推荐

    在很多时候,Arduino需要和其他设备相互通讯,而最常见最简单的方式就是串口通讯。本篇介绍Arduino硬件串口
    发表于 02-15 06:43

    利用LabVIEW实现COM1和COM2之间的通讯_labview程序案例

    程序案例 利用LabVIEW实现COM1和COM2之间的通讯
    发表于 01-12 15:42 77次下载

    利用LabVIEW实现串口通讯_labview程序案例

    程序案例 利用LabVIEW实现串口通讯
    发表于 01-12 15:44 319次下载

    ArduinoLabVIEW开发实战》配套代码

    ArduinoLabVIEW开发实战》配套代码
    发表于 03-23 16:00 28次下载

    如何实现在IPC上的labview程序和欧姆龙PLC的通讯

    本文档的主要内容详细介绍的是如何实现在IPC(工控机)上的labview程序和欧姆龙PLC的通讯
    发表于 11-30 08:00 0次下载
    如何<b class='flag-5'>实现</b>在IPC上的<b class='flag-5'>labview</b>程序和欧姆龙PLC的<b class='flag-5'>通讯</b>

    如何使用ArduinoLabVIEW进行多路数据采集系统的设计

    针对低速、低成本、快速搭建的特点,采用ArduinoLabVIEW实现低成本上下位机数据采集系统。Arduino作为下位机,负责A/D转换以及数据传输;
    发表于 04-26 18:26 53次下载
    如何使用<b class='flag-5'>Arduino</b>和<b class='flag-5'>LabVIEW</b>进行多路数据采集系统的设计

    采用LabVIEW实现Modbus通讯协议的方式

    针对Modbus的串口和TCP两种不同的方式,在LabVIEW中通常可以通过以下几种方法实现Modbus通讯。其中一些实现方式需要安装LabVIEW
    的头像 发表于 01-16 17:22 1.6w次阅读

    LabVIEW与TwinCAT如何通过ADS通讯

    LabVIEW 是测控领域非常流行的测控软件,作为上位机数据采集软件,LabVIEW 可以非常方便的实现数据的分析、显示及存储等。LabVIEW 也可以非常方便的和 Beckhoff
    发表于 05-12 08:00 17次下载
    <b class='flag-5'>LabVIEW</b>与TwinCAT如何通过ADS<b class='flag-5'>通讯</b>

    Arduino—串口通讯

    在很多时候,Arduino需要和其他设备相互通讯,而最常见最简单的方式就是串口通讯。本篇介绍Arduino硬件串口
    发表于 12-16 16:52 3次下载
    <b class='flag-5'>Arduino</b>—串口<b class='flag-5'>通讯</b>

    Arduino通讯

    作者:iotsharer首发:Arduino通讯篇一、Arduino与蓝牙通讯1、DIY智能温湿度计(上)——数据获取2、DIY智能温湿度计(下)——APP控制温湿...
    发表于 02-07 12:07 2次下载
    <b class='flag-5'>Arduino</b><b class='flag-5'>通讯</b>篇

    LabVIEW Interface for Arduino (LIFA)介绍

    本篇推送我们看一看另一个可以通过Labview编程操控Arduino的工具包——Labview Interface for Arduino(以下简称LIFA)。
    的头像 发表于 05-08 14:19 1679次阅读
    <b class='flag-5'>LabVIEW</b> Interface for <b class='flag-5'>Arduino</b> (LIFA)介绍