查看: 592|回复: 0
打印 上一主题 下一主题

糊涂塔克学习笔记02 Arduino+Labview (下)

[复制链接] qrcode

37

主题

42

帖子

127

积分

注册会员

Rank: 2

积分
127
楼主
跳转到指定楼层
发表于 2015-3-25 01:25 PM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,上次我们学习了用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 编程



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


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

3. 然后我们再找一个函数:VISA读取,这个函数在 仪器I/O-->VISA-->VISA读取

同样我们把它拖到程序框图里。

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


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

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



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

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



5. 定义完控件参数后,我们照例给函数加一个While循环(编程-->结构-->While循环)和简易错误处理器(编程-->对话框与用户界面-->简易错误处理器

6. 现在我们把VISA资源线(粉红色)和错误线(土黄色)连接起来

7. 这样Labview端的程序就编写完了,其实还是挺简单的,那让我们来看看前面板

我们可以看到,用户可以输入哪个COM口还有通信的比特率,温度显示的结果用数值显示出来

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


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


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


接线方面 5V GND PIN12

2. 程序


四、小结

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表