温度计编程

简介: 温度计编程

博客写作背景----项目中解决的问题

最近遇到一个使用Arduino Uno控制板多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。为啥用labview呢,因为LabVIEW是NI的数据采集创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench)/


Arduino是什么?

根据维基百科,Arduino的定义如下:一种开源的单片机控制器,它使用Atmel AVR单片机,采用基于开放源代码的软硬件平台,构建开放源代码simple I/O接口板,并且具有使用类似Java,C语言的Processing/Wiring开发环境。


从维基百科对Arduino的定义中,我们可以知道Arduino不仅是一种基于Atmel AVR单片机的控制器,而且是一个开源系统,包含了硬件(Arduino控制板)、软件(Arduino IDE)以及开源社区。相比于Arduino硬件控制板,Arduino的软件及开源社区是Arduino的精髓所在。


自从2005年被推出以来,随着使用者和爱好者数量不断增加,Arduino控制器得到了快速发展。同时,Arduino设计团队不断推出各式各样、更加强大的Arduino控制器及Arduino扩展板,以满足不同使用者的应用需求。


截止到现在,Arduino开发团队已经推出的Arduino控制器有数十种之多,主要有Uno、Due、Leonardo、Mega 2560、Mega ADK、Micro、Mini、Nano、Ethernet、Esplora、ArduinoBT、Fio、Pro、LilyPad等。


除了Arduino官方设计和生产的Arduino控制器,还有很多Arduino兼容控制器。因为Arduino采用开源协议,任何人或公司均可以利用Arduino公布的文档来生产和销售Arduino控制器,唯一的要求是不能使用Arduino作为商标。


由于Arduino兼容控制器价格较低,受到国内外广大Arduino爱好者的欢迎,这从一定程度上降低了Arduino使用者的门槛和成本,进而让Arduino得到了极大推广。


下面是我最近写程序的一些知识,进行了部分的整理,发出来和大家一起分享,也方便我以后查找自己的编程过程。


(1)编程知识点–基于LabVIEW的温度计程序实现

利用模拟温度传感器LM35和LIAT中的模拟函数库,通过Arduino Uno控制板的模拟端口采集LM35输出的电压值上传给LabVIEW软件,并除以比例因数以获得温度值,实现一个温度计的功能。


(2)硬件连接

将模拟温度传感器LM35的+VS、Vout、GND分别接至Arduino Uno控制板上的5V、模拟端口A2和GND引脚上,如图所示。


a0e2c46b065b4abb9f0481ae51351dc2.png


此处需要注意LM35的电源引脚的位置,一旦接反可能会烧坏LM35。


(3)程序设计

LabVIEW的前面板和程序框图如图2和图3所示。

35ff5edc35d84beca6d518e9fd35a520.png

d6884b87ebdf402e850484247dc112c3.png


LabVIEW程序首先通过设置的串口号与Arduino Uno控制板建立连接,然后进入While循环中,在循环中不断调用Analog Read Pin函数节点获取LM35的输出电压值,并除以LM35的比例因数0.01V/℃,最终获得温度值。最后,断开与Arduino Uno控制板的连接。


点击运行按钮,LabVIEW程序开始执行,在Analog Pin选择A3,可以看到前面板上的温度计显示当前的温度。


目录
相关文章
|
6天前
|
编解码 算法 计算机视觉
LabVIEW荧光显微镜下微管运动仿真系统开发
LabVIEW荧光显微镜下微管运动仿真系统开发
12 1
|
6天前
|
传感器 存储 IDE
LabVIEW开发呼吸分析系统
LabVIEW开发呼吸分析系统
12 0
|
6天前
|
传感器 算法 前端开发
LabVIEW开发血液动力学监测仪
LabVIEW开发血液动力学监测仪
11 0
|
6天前
|
传感器 编解码 算法
2021-07-20LabVIEW编程LabVIEW开发 控制Dantec 激光多普勒测试仪LDV例程与相关资料
2021-07-20LabVIEW编程LabVIEW开发 控制Dantec 激光多普勒测试仪LDV例程与相关资料
13 0
|
8月前
|
算法 Linux Android开发
动手智能小车记(5)-坦克底盘硬件模块大杂烩
动手智能小车记(5)-坦克底盘硬件模块大杂烩
143 0
|
10月前
|
算法 JavaScript 前端开发
温习数据算法—罗盘时钟
温习数据算法—罗盘时钟
|
传感器 数据采集 算法
基于LabVIEW的温度计程序实现
基于LabVIEW的温度计程序实现
112 0
|
存储 数据采集 编解码
LabVIEW热敏电阻温度计程序
LabVIEW热敏电阻温度计程序
95 0
|
算法
基于labview上位机控制的6自由度机械臂
基于labview上位机控制的6自由度机械臂
179 0
|
算法 图形学
LabVIEW示波器编程
LabVIEW示波器编程
86 0