LabVIEW和Arduino的巧妙结合(基础篇—1)

简介: 本专栏使用的单片机为:Arduino(本系列专栏使用Arduino UNO控制器),主要原因在于,Arduino简单易上手,老少皆宜,受众面广泛,使用Arduino作为下位机,LabVIEW作为上位机,独立开发者可以快捷开发出一套软硬件联控的演示系统。

本篇博文将开启第四个LabVIEW系列专栏,也是目前确定的最后一个关于LabVIEW技术的专栏:LabVIEW和单片机。在前三个专栏分享介绍了:


1、基础篇:LabVIEW开发技巧;

https://blog.csdn.net/m0_38106923/category_11616435.html?spm=1001.2014.3001.5482

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

https://blog.csdn.net/m0_38106923/category_11798471.html

3、视觉篇:LabVIEW图像处理和机器视觉。

https://blog.csdn.net/m0_38106923/category_10963783.html

本专栏使用的单片机为:Arduino(本系列专栏使用Arduino UNO控制器),主要原因在于,Arduino简单易上手,老少皆宜,受众面广泛,使用Arduino作为下位机,LabVIEW作为上位机,独立开发者可以快捷开发出一套软硬件联控的演示系统。


同时,我也推荐各位先学习一下之前发布的Arduino基础知识:和12岁小同志搞创客开发,了解Arduino开发工具和基础开发知识。https://blog.csdn.net/m0_38106923/category_11097422.html?spm=1001.2014.3001.5482


452d263a33c54101bfc5944631d8424c.png


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就可以进行安装,如下所示:


590c355bae1d461c9a03b721b0790ca8.png


当LabVIEW安装LabVIEW Interface for Arduino工具包之后,在前面板和程序框图中的函数栏目中就会出现Arduino控件和操作函数库。


Arduino控件包含模拟IO、数字I/O、Pin Mode、Board Type和连接方式等,如下图所示:

708bf61fc68f47c3a579093d7c01c6d0.png

              前面板控件库

操作函数库包含有Arduino INIT、Arduino CLOSE、Low Level、Sensors、Examples等,如下图所示。其中,Arduino INIT和Arduino CLOSE是每个程序必备的,即与Arduino控制器建立连接,完成对Arduino预先设定的操作之后,断开与Arduino控制器的连接,释放Arduino控制器的串口资源。


54f68926a22f4f878f7a1c65cfea9ab3.png

程序面板函数库

另外,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函数节点如下图所示:


89be2894182b4f99b3e84ca1cf08e41e.png


输入参数有VISA resource、波特率、Arduino板的类型、连接方式(USB/Serial),输出参数为Arduino资源号,提供给后续函数对Arduino进行操作。它的功能是连接Arduino控制器,以使得Arduino板进入受LabVIEW控制的状态。除了VISA之外,其他的输入参数可以不给定,即使用默认参数,波特率115200,Arduino Uno板,USB/Serial连接方式,每个包15个字节。


2.2、Arduino CLOSE函数节点

Arduino CLOSE函数节点如下图所示:


3017b46d799943398f88d58e1404c25a[0].png


输入参数为Arduino资源号,只有错误输出。其功能是断开Arduino与LabVIEW的连接,释放Arduino控制器的串口资源。


2.3、Low Level函数库

Low Level函数库包含:模拟输入、数字IO配置、数字输入、数字输出、PWM输出(模拟输出)、Tone、I2C、SPI、模拟采样功能,如下图所示:


7db48643e10d4cc3a46b8694f064fcb6.png


其中,模拟输入、数字输出、数字输出和PWM输出分为管脚和端口两种,端口操作适用于需要多个IO管脚进行操作的情况。


2.4、Sensors函数库

Sensors函数库中包含:热敏电阻、光敏电阻、RGB、数码管、红外、舵机、步进电机和液晶显示等功能,如下图所示:


d6e6fd18e5414de8b921b31face35f27.png


3、烧录Arduino固件

将Arduino作为下位机时,需要烧录LIFA_Base.ino,可在安装工具包路径下找到,例如该文件在我的电脑位于:


D:\National Instruments\LabVIEW 2020\vi.lib\LabVIEW Interface for Arduino\Firmware\LIFA_Base


495cdd50fc5a4a80825edc0863444801.png

使用Arduino IDE打开该文件,编译并下载到Arduino单片机中,完成固件烧录。


d96a5ede24494fb7af23b0dab657bbe7.png


使用LINX替代LIFA进行Arduino和Labview的互动实验-Arduino中文社区 - Powered by Discuz!

https://www.arduino.cn/thread-15053-1-1.html

使用面向Arduino的LabVIEW接口报5003错误:发生超时 - NI

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019SC2SAM&l=zh-CN


相关文章
|
IDE Shell 开发工具
【沁恒WCH CH32V307V-R1在RT-Thread Studio上环境配置教程】
【沁恒WCH CH32V307V-R1在RT-Thread Studio上环境配置教程】
1112 0
|
12月前
|
传感器 物联网 数据安全/隐私保护
低功耗蓝牙和 Wi-Fi 相比有什么优缺点
低功耗蓝牙(BLE)与Wi-Fi相比,功耗更低、成本更少,适用于短距离、小数据量传输,如智能手环等;但传输速度和距离不如Wi-Fi,适合对实时性和带宽要求不高的场景。
|
消息中间件 安全 API
Apache RocketMQ ACL 2.0 全新升级
RocketMQ ACL 2.0 不管是在模型设计、可扩展性方面,还是安全性和性能方面都进行了全新的升级。旨在能够为用户提供精细化的访问控制,同时,简化权限的配置流程。欢迎大家尝试体验新版本,并应用在生产环境中。
189507 275
|
JSON 数据可视化 API
玩转数据科学:Python实战分析天气预报变动趋势
【10月更文挑战第1天】随着气候变化对日常生活的影响日益显著,理解和预测天气模式变得越来越重要。本文将引导您如何使用Python来抓取和分析天气预报数据,从而揭示天气变化的趋势。我们将介绍从获取公开气象API的数据到清洗、处理以及可视化整个过程的技术方法。
799 2
|
存储 Oracle 关系型数据库
几种常见的数据同步方式
【6月更文挑战第18天】几种常见的数据同步方式
2063 4
|
安全 Linux 网络安全
Linux——OpenSSH如何升级到最新版本
Linux——OpenSSH如何升级到最新版本
1902 0
Linux——OpenSSH如何升级到最新版本
|
存储 人工智能 多模数据库
数据库技术前沿:探索其发展趋势与应用
一、引言 数据库技术作为现代信息技术体系中的关键一环,不仅为企业和组织提供了高效、安全的数据存储和管理手段,还在大数据、云计算、人工智能等前沿领域发挥着重要作用
|
机器学习/深度学习 数据采集 运维
探索机器学习在金融风控中的应用与挑战
本文深入探讨了机器学习技术在金融风险控制领域的应用及其所面临的挑战。通过分析当前金融市场的风险特点,结合机器学习算法的优势与局限,文章揭示了机器学习如何助力金融机构提高风险识别的精准度和决策效率。同时,讨论了实施过程中的数据隐私、模型透明度和监管合规等关键问题,并提出了相应的解决策略。最后,文章展望了机器学习技术未来在金融风控领域的发展趋势,为金融科技从业者提供了实践指导和思考方向。
339 0
LabVIEW控制Arduino LED灯闪烁(基础篇—2)
利用LIAT中的数字I/O函数库,通过LabVIEW控制Arduino Uno控制板上D13管脚上LED灯,实现等间隔闪烁。
|
安全 网络安全
Metasploit Pro 4.20.0安装与使用
Metasploit Pro 4.20.0安装与使用
484 0