烽火社区

标题: 糊涂塔克学习笔记02 Arduino+Labview (下) [打印本页]

作者: hongqiao    时间: 2015-3-25 01:25 PM
标题: 糊涂塔克学习笔记02 Arduino+Labview (下)
大家好,上次我们学习了用Labview为Arduino开发的Interface开发简单的温度计,这次我来教大家用另外一种方法来开发温度计,这次我们使用Arduino控制DS18b20来读取温度。

这个方法相比较之前讲的Labview Interface for Arduino 的方法优点是:可以控制的传感器更多,主要是通过控制串口来控制Arduino;小缺点是:相比较Interface的方法稍微复杂一些。

关于Labview和Arduino之间的互动开发,大家也可以去参考一下宜昌城老张的博客
http://www.eefocus.com/zhang700309/blog/cate_5113_0.html

言归正传,对于还没有安装好Labview程序和相关插件的请参考我之前的帖子中第一部分:准备
糊涂塔克学习笔记02 Arduino+Labview(上)

好的,现在我们假设已经把相关的程序和插件都安装好了,现在我们要正式开始做温度计。

一、原理介绍

这次我们需要用到的函数叫VISA函数,VISA函数是Labview里主要用于处理串口通信的函数,也就是说我们可以通过VISA函数和Arduino通信,这样我们就可以用Labview给串口传指令,然后通过VISA把这个指令传给Arduino,Arduino再根据之前自己编好的程序驱动相关的传感器。大家可以发现,这样一来相比较Labview Interface for Arduino 的那个方法,用VISA串口通信的方法的扩展性要高得多。

二、Labview 编程

[attach]35537[/attach]

2. 选择程序框图,为了方便编程我们把程序框图最大化,在最上面的菜单栏里我们点开 查看-->函数面板,找到
VISA配置串口,这个函数在 仪器I/O-->VISA-->高级VISA-->总线/接口配置-->串口-->VISA配置串口。
[attach]35538[/attach]

找到后我们把它拖到程序框图里。

3. 然后我们再找一个函数:VISA读取,这个函数在 仪器I/O-->VISA-->VISA读取
[attach]35539[/attach]
同样我们把它拖到程序框图里。

4. 接着我们开始开始给这两个函数添加控件,我们先来看看这两个函数的介绍
[attach]35540[/attach]

我们可以看到这个函数主要是用来初始化串口的,需要设置的参数里比较重要的是三个:
(1)VISA资源名称,这个主要是用来设置哪个COM口的。
(2)波特率(9600),这个是设置和Arduino通信的频率,一般默认是9600。
(3)数据比特(8),这个是设定的变量的位数,一般只是传输一些简单的数据或者指令的话,设到8位就够用了。

其他的一些控件参数我们并不一定会用到,不设也可以

[attach]35541[/attach]

这个函数主要的功能是读取从Arduino那里发过来的数据,并显示到前面板上去,这里我们同样要设置三个控件参数:
(1)VISA资源名称,这个和前一个函数的VISA资源名称相连,里面设置的还是COM口
(2)字节总数,参考前一个函数中的数据比特,我们把字节总数也设到8
(3)读取缓冲区,这个其实是一个输出控件,把读取到的值显示出来,注意这里显示的格式是字符串

OK,现在我们通过即时帮助知道了这两个函数是怎么定义的了,我们开始给他们添加控件和参数,添加的方法同样在
糊涂塔克学习笔记02 Arduino+Labview(上)里有详细描述。

[attach]35542[/attach]

5. 定义完控件参数后,我们照例给函数加一个While循环(编程-->结构-->While循环)和简易错误处理器(编程-->对话框与用户界面-->简易错误处理器
[attach]35543[/attach]
6. 现在我们把VISA资源线(粉红色)和错误线(土黄色)连接起来
[attach]35544[/attach]
7. 这样Labview端的程序就编写完了,其实还是挺简单的,那让我们来看看前面板
[attach]35545[/attach]
我们可以看到,用户可以输入哪个COM口还有通信的比特率,温度显示的结果用数值显示出来

8. 如果我们想给这个小仪器加一些小功能,用曲线来显示温度的话我们可以加一个画图函数,这里需要注意的是VISA读取这个函数输出的是一个字符串,如果我们想作图我们需要一个字符串转数值的函数,然后再用一个作图函数画出曲线,具体的程序就是这样的
[attach]35546[/attach]

9. 最后我们把前面板美化一下就大功告成了
[attach]35547[/attach]

三、Arduino部分
1. 硬件,我们需要一块Arduino开发板,没有型号要求,一块DS18b20温度传感器芯片(购自奥松机器人)

[attach]35548[/attach]

[attach]35549[/attach]


接线方面 5V GND PIN12

2. 程序

[attach]35550[/attach]

[attach]35551[/attach]


四、小结

到此 糊涂塔克的Arduino+Labview的学习笔记就到此结束了,仔细看一下的话其实发现做一个小设备其实还是不难的,特别是学会了VISA函数后,就发现用Labview控制Arduino和以前用Serior Monitor控制Arduino是一样的。希望这个教程能帮助初学者快速入门。谢谢大家~





欢迎光临 烽火社区 (http://bbs.cnecport.com/) Powered by Discuz! X3.2