极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 206849|回复: 85

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

  [复制链接]
发表于 2012-6-20 10:28:58 | 显示全部楼层 |阅读模式
本帖最后由 Muller_r 于 2012-6-20 13:49 编辑

最近在学习用上位机控制Arduino,之前也看到论坛里有朋友讨论这个话题,主要有两种方法,一种是Processing,一种是Labview。

(虽然有大大吐槽Labview控制Arduino有点大材小用,不过我用下来的确很好用,和大家分享一下)

Labview控制Arduino有2种方法都可以尝试,先来说比较简单的一种——Labview Interface for Arduino。这个是Labview官方为Arduino开发的一个界面,这个界面的优点:

1. 容易上手,官方提供了很多已经编好的函数,你只需要知道Labview的基本编程语言(G语言)就可以轻松编写程序;
2. 不需要写Arduino端的程序,只需要在Labview端编好程序就可以用了;

当然他也有一些小缺点:

1. 官方提供的函数毕竟还是有限,目前能控制的传感器有:热敏电阻,光敏电阻,8段数码管,RGB发光管,舵机等等
2. 因为Arduino端不需要编写程序(其实是需要把一个官方函数对应的程序全部烧进Arduino,这个我后面会说)所以如果用到的传感器没有官方函数,就没法搞了。其实就是没有太多的可扩展性。

那现在我们来看看怎么安装这个Labview Interface for Arduino。
(参考的官方教程:https://decibel.ni.com/content/docs/DOC-15971

一、准备
1. 需要一块Arduino Uno开发板或者Arduino 2560开发板,这个是这个开发界面默认的开发板。
   

2. 安装Labview,最新版的Labview 2011 可以去NI的官方网站上下载 http://www.ni.com/trylabview/ 你能下载到的是一个30天的试用版,当然如果想永久使用的话~~自己想办法,我是不会告诉你网上有破解补丁的。

3. 你安装好Labview后需要安装一个叫Visa的Labview插件,这个插件的功能是管理串口,Labview与Arduino之间的通讯全靠这个插件完成。
Windows Download
Linux Download
Mac Download

4. VISA安装好后,我们开始安装Labview Interface for Arduino, 安装这个需要用到另外一个软件叫 JKI VI Package Manager (VIPM) Community Edition (free)

(1) 我们去这个网站VIPM Download   点击:


(2) 把这个软件下载下来,安装好后启动VIPM


(3) 在窗口界面中找到Labview Interface for Arduino


(4) 点击 Install &Upgrade Packages 按钮


(5) 点击 Continue 然后等一会儿等他下载完


(6) 点击 Finish


5. 现在我们把该安装的东西都安装好了,我们进行Arduino UNO板和PC的连接

(1) 去Arduino官网下一个最新的IDE(最好是1.0版本以上的,里面有UNO的USB串口驱动)http://arduino.cc/en/Main/Software

(2) 把IDE解压到 C:\Program Files.

(3) 把你的Arduino UNO 板用USB连接线连上PC

(4) Windows会尝试着去识别UNO,但Windows这么弱的系统当然是识别不出来的(Mac和Linux就可以),这就需要我们手动去加载驱动程序。


(5) 点击更新驱动程序


(6) 选择浏览计算机以查找驱动程序软件


(7) 选择路径为: C:\Program Files\arduino_1.xx\drivers


(8) 点击下一步

(9) 点击关闭


(10) 现在你就可以在你的设备管理器里的端口(COM和LPT)里找到你的UNO了


6. 很好,我们现在成功安装好了UNO,我们可以开始把Labview写的官方Arduino程序烧进UNO里了
(这个程序里有Labview Interface for Arduino里的函数所需要用到的所有Arduino指令,不过这也使Arduino只能完成那些Labview函数的功能,干不了别的)

文件的地址:......\LabVIEW 2011\vi.lib\LabVIEW Interface for Arduino\Firmware\LVIFA_Base\LVIFA_Base.pde

恭喜你,前期的准备工作终于完成了!!


二、让我们来实际做一个例程

1. 让我们打开Labview 2011


对于第一次接触Labview的人(比如2个星期前的我)可以先看一下软件自带的Labview入门指南,还有就是查找范例里自带的大量例程,这能帮助你快速起步(别去图书馆借什么Labview的书,那个效率太低了)

2. 现在我们就来用热敏电阻和Arduino做一个简单的温度计,用Labview来显示读取的温度,点击主界面上的 VI


3. 这个时候我们就看到了Labview的界面,界面由两部分组成——前面板和程序框图。前面板是以后仪器的主界面,程序框图是你编程的地方,旁边还有3个工具栏分别是——工具、函数和控件


稍微需要解释一下的是程序框图里主要用到的事各种函数,前面板里主要用到的各种控件(比如数值输入,按钮,图表)

4. 选中程序框图,我们开始编一个小程序,Arduino先要做的一件事是初始化,我们在函数工具箱里找到Arduino-->Init这个函数


点击一下,然后把他拖到程序框图里


5. 初始化之后我们需要用一个函数来读取热敏电阻的温度值,在函数工具箱里找到Arduino-->Sensors-->Thermistor Read


同样把这个函数拖到程序框图里

6. 最后我们需要一个函数作为结束,在函数工具箱里找到Arduino-->Close这个函数


把他拖到程序框图里

7. 一般在Labview里还需要一个报错的函数,这个函数在编程-->对话框与用户界面-->简易错误处理器,我们把他拖过去。


8. 很好,我们选择好主要的函数后我们需要给程序加一个结构,在Arduino里我们的主程序都是在一个void loop的函数下的,这个函数其实就是一个循环,所以我们现在要给程序框图里加一个While循环结构,这个结构可以在函数工具箱里 编程-->结构-->While 循环 找到。我们用While循环把Thermistor Read这个函数框起来,让他不断去读热敏电阻的值。


9. 这样子主要的函数和程序结构就建立好了,接下来我们要给函数加入输入输出控件,Labview的帮助菜单下有一个显示即时帮助是初学者的好帮手,我们可以直接用这个去看这个函数到底功能是什么,需要什么输入输出控件。我们把他打钩,然后点击程序框图里的Thermistor Read就可以知道这个函数的详细信息。


根据这个帮助的提示,我们开始给这个函数加入输入控件
(1) 模拟输入的Pin口(我们选01号模拟输入口)
(2) 串联了一个多大的电阻(我们选择10000欧姆的电阻)

以及输出控件
(1) 输出温度

以及常量
(1) Vcc电压(5V)

加参数的方法是,先在主工具箱里选择进行连线


然后把鼠标移到Thermistor Read 函数上会发现他左右上下多出来很多各种颜色的点点,找到其中蓝色的点,把鼠标放上去,程序会自动提示这个接口的意义


然后点鼠标右键,拉出下拉菜单,选择创建-->输入控件


这样程序就会加入一个对应接口的输入控件,如图


同样的方法,我们可以根据这个函数的描述,把各个输入控件,输出控件和常量加入进去

把控件全部加入好之后是这个样子的:


10.加入完控件后编程就进入尾声了,最后我们需要做的只是把 Arduino Resource(粉色) 和 error(土黄色) 这两条线连起来,我们的程序就编完了。


11. 程序编完后,我们回到前面板,在前面板里我们看到Labview自动帮我们加了2个输入框(输入模拟Pin口和电阻值)和一个显示口(显示温度)


12. 美术好的朋友可以对前面板做一下美化,让这个界面更好看一些


13. 最后我们根据硬件图,把电路搭起来


14. 搭好后点击前面板左上方的运行按钮,你的小仪器就开始工作了~~


本章小结:这次的学习笔记参考了网上的很多资料,把他们整理在了一起,差不多是从一开始什么都不知道到最后能编一个小仪器所需要的资料都在里面了,有什么不明白的请在回帖里提问,可能我还有什么没有写清楚的地方。这次教的这个例程在官方的案例库里面有,叫Arduino Thermist Read 如果有什么问题也可以直接去看那个案例。最后这个只是Arduino与Labview通信的一个方法,还有一个方法扩展性更好一些,我过两天再来写,谢谢大家

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2016-7-24 16:27:53 | 显示全部楼层
图中框出来的东西不知道从哪里调用,有高人指点一下

本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2012-6-20 10:43:08 | 显示全部楼层
你使用的是原装Arduino?还是到官网找来的图片,呵呵,看到好眼熟的说!好东西,支持一下!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-20 10:48:25 | 显示全部楼层
Randy 发表于 2012-6-20 10:43
你使用的是原装Arduino?还是到官网找来的图片,呵呵,看到好眼熟的说!好东西,支持一下!

我是从官网找的图片,话说Randy你动作好快,我还没编辑完呢这个帖子
回复 支持 反对

使用道具 举报

发表于 2012-6-20 10:55:35 | 显示全部楼层
Muller_r 发表于 2012-6-20 10:48
我是从官网找的图片,话说Randy你动作好快,我还没编辑完呢这个帖子

哈哈,必须的,写详细点,我也沾点光学习学习一下Labview,哈哈!
回复 支持 反对

使用道具 举报

发表于 2012-6-20 11:15:42 | 显示全部楼层
好资料,labview偶也得玩玩
回复 支持 反对

使用道具 举报

发表于 2012-6-20 11:28:24 | 显示全部楼层
弘毅 发表于 2012-6-20 11:15
好资料,labview偶也得玩玩

前几个月我纠结了好久才会玩  arduino 和 labview....
回复 支持 反对

使用道具 举报

发表于 2012-6-20 12:52:38 | 显示全部楼层
本帖最后由 shidoukou 于 2012-6-20 12:59 编辑

很好的教程
最好做出几个例子来玩一玩!
我也在学习arduino 与labview,只是没有好的ideal 加上最近比较忙!
回复 支持 反对

使用道具 举报

发表于 2012-6-20 12:55:22 | 显示全部楼层
很好的教程~~
回复 支持 反对

使用道具 举报

发表于 2012-6-22 18:38:22 | 显示全部楼层
顶一下。。小学时候做lego的机器人用过labview…话说arduino可以当做采集卡放在labview上用啊哈哈哈。。。原装的采集卡太贵了……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-22 18:41:24 | 显示全部楼层
friskit 发表于 2012-6-22 18:38
顶一下。。小学时候做lego的机器人用过labview…话说arduino可以当做采集卡放在labview上用啊哈哈哈。。。原 ...

请问采集卡是什么?(乘机学习一下)
回复 支持 反对

使用道具 举报

发表于 2012-6-23 10:10:46 | 显示全部楼层
Muller_r 发表于 2012-6-22 18:41
请问采集卡是什么?(乘机学习一下)

就是外设硬件,用来采集信息到电脑上……传感器啊之类的。。。labview自己支持很多种采集卡。。。但是labview的采集卡都相当贵……动辄几万。。。
回复 支持 反对

使用道具 举报

发表于 2012-6-23 10:31:44 | 显示全部楼层
恩,半年前,关注这个直接用labview编程的组件,迟迟来下手搞,看来落后了。下个星期准备做labview与Arduino蓝牙联机,上下位机通信,主要是测试下新买的蓝牙模块。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-23 12:46:39 | 显示全部楼层
宜昌城老张 发表于 2012-6-23 10:31
恩,半年前,关注这个直接用labview编程的组件,迟迟来下手搞,看来落后了。下个星期准备做labview与Arduin ...

哦,真的,请到时候做好了给我看看
回复 支持 反对

使用道具 举报

发表于 2012-6-23 21:18:19 | 显示全部楼层
Muller_r 发表于 2012-6-23 12:46
哦,真的,请到时候做好了给我看看

可以交流下,我的labview + Arduino的专题文章:http://www.eefocus.com/zhang700309/blog/cate_5113_0.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-24 08:40:20 | 显示全部楼层
宜昌城老张 发表于 2012-6-23 21:18
可以交流下,我的labview + Arduino的专题文章:http://www.eefocus.com/zhang700309/blog/cate_5113_0.h ...

哦,我想起来了,我前段时间自学Labview的时候拜读过您的博客,对了,最近我想用Labview控制Arduino输出PWM波,您知道是用哪个函数吗?
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 00:59 , Processed in 0.051177 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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