tag 标签: 点亮小灯

相关博文
  • 热度 8
    2022-5-21 17:11
    3466 次阅读|
    0 个评论
    先说个题外话,无意间找到了这个网站 LabVIEW 编程经验 | LabVIEW 编程经验 ,之前有听说过 《我和 LabVIEW - 一个 NI 工程师的十年编程经验》这本书 ,没想到直接找到了这本书在网上的开源版本。没有LabVIEW基础的可以学习一下这个网站的内容,一定会有所收获。 今天要做的是《Arduino与LabVIEW开发实战》中的“第四章 基础实验篇”的第一个实验:闪烁灯。 这本书的作者在书中用的是LIAT这个工具包,但是我在网上查到NI公司已经不更新这个工具包了,现在用的比较多的是LINX这个工具包。我去查了一下这个工具包最新版本是2020年的,为了方便起见我直接装了一个LabVIEW2021的社区版,具体的安装过程可以参考 安装 | LabVIEW 编程经验 这一节。 LabVIEW2021 没有汉化版,用起来不太舒服,不过也只能凑合了,如果有哪位小伙伴有汉化办法,拜托分享一下,在此拜谢。 安装好LabVIEW2021 ,需要用VIPM即VI Package Manager安装LINX这个工具包,具体安装过程就是无脑同意,这里就不放具体过程了。 LINX Firmware Wizard这个助手来完成LINX的初次使用。 打开后的界面就是下图这个样子。 当前我使用的是Arduino Uno,这里选择对应设备类型Arduino Uno,点击“NEXT”。下图所示这一步是选择下载程序到Arduino Uno所使用的串口,我这里插上Arduino Uno后,多出的串口是COM5,所以直接选择COM5就行,点击“NEXT”。 这一步默认即可,继续点击“NEXT”。 这一步会将预先编译好的hex文件烧录到Arduino Uno。 烧录完成后,可以点击“Launch Example”,打开的这个案例就对应了刚刚烧录的程序。 可以看到这个程序实际上就是一个控制Arduino Uno上D13管脚对应的LED灯的亮灭。 在运行这个程序前,一定要记得选择串口号,否则无法和Arduino Uno进行通信。运行程序后,点击LED灯改变它的状态,Arduino Uno上的LED灯也会随之改变。 简单地分析一下这个程序框图,和之前使用串口方式一样,这里要先和Arduino Uno建立连接,然后在一个While循环中将当前LED小灯的亮灭状态送给D13这个引脚也就对应语句digitalWrite(D13,LED Value);,循环中还会判断Stop按钮是否被按下,按下就会结束循环,最后关闭连接。 把以上的内容改一改就是今天的实验内容。 (1)实验目的 通过LabVIEW控制Arduino Uno控制板上D13管脚上LED灯,实现等间隔闪烁。 (2)硬件连接 由于Arduino Uno控制板的D13脚已经连接了LED灯,此实验仅需要利用USB电缆将Arduino Uno控制板与计算机的USB端口连接起来即可。 (3)程序设计 下面主要讲解一下与LINX提供的样例程序的不同:首先前面板中LED灯改为了Indicator显示控件;然后程序框图中加入了一个全局变量用于每次取反后改变LED灯的状态,这里要注意的是还需要加入一个延时,不然变化太快,Arduino Uno控制板上压根看不到LED灯的亮灭。 (4)实验与演示 点击运行按钮,LabVIEW程序开始执行,可以看到Arduino Uno控制板板载LED灯以设置的时间间隔为周期闪烁,同时LabVIEW前面板上的LED灯和Arduino Uno控制板上的LED灯保持同步,以相同的时间间隔闪烁。