色拉油是什么| 红烧肉是什么菜系| 墨菲定律什么意思| 吃蝎子有什么好处| 尿酸高吃什么中药能降下来| 一片冰心在玉壶的冰心是什么意思| 大乌叶是什么茶| 硬不起吃什么药| 卩是什么意思| 什么样的女人容易出轨| 绿心黑豆有什么功效| 清宫手术后需要注意什么| 退烧药吃多了有什么副作用| 什么怎么什么造句| 般若波罗蜜是什么意思| 流云是什么意思| 乳腺腺体是什么| 火气重喝什么茶| 清朝皇帝姓什么| 裂变是什么意思| 死有余辜是什么意思| 中国梦是什么| 取模是什么意思| 什么叫菩提心| 品行是什么意思| 曼月乐是什么| 五谷丰登是什么生肖| 红薯什么季节成熟| 甲状腺结节什么引起的| 青筋明显是什么原因| 为什么会得炎症| 年轻人手抖是什么原因| 金光是什么生肖| 10月28日什么星座| 睾丸疼痛挂什么科| 侧切是什么意思| 红曲米是什么| 牙疼吃什么食物| 日十组成什么字| 风月是什么意思| 神的国和神的义指的是什么| 什么东西养胃| 耳朵痒痒用什么药| 彩超和ct有什么区别| 梦见被蛇追是什么意思| 高级别上皮内瘤变是什么意思| 什么是暗网| 经常的近义词是什么| 婴儿什么时候会说话| 热疹子是什么症状图片| 为什么睡觉后鱼刺没了| 水逆什么意思| 喝什么茶叶减肥效果最好| 全身冰凉是什么原因| 醉氧是什么意思| 社日是什么意思| 兔子怕什么| 吃什么死的比较舒服| ab什么意思| hcho是什么意思| 吃饭咬舌头是什么原因| 彩铅是什么| 肺结节有什么症状| 大脑供血不足吃什么药| 铅中毒有什么症状| 1026什么星座| 寿司的米饭是什么米| 茉莉花茶适合什么季节喝| 什么日什么里| 甲虫吃什么| 讹人是什么意思| 彩虹有什么颜色| 秒后面是什么单位| 7月28号是什么星座| 95年属什么生肖婚配表| 长痣是什么原因| 哺乳期乳腺炎吃什么药| 小腹疼痛是什么原因| 遍体鳞伤是什么意思| 康养中心是做什么的| 天天洗头发有什么危害| 为什么夏天容易拉肚子| 小暑节气吃什么| 吃什么提神醒脑抗疲劳| no是什么| 公安局局长是什么级别| 什么饼不能吃脑筋急转弯| 鱼加它是什么字| 晏字五行属什么的| 先自度其足的度是什么意思| amp是什么意思| 阴虱用什么药物| 荷花的寓意是什么| 6月1日是什么星座| 小孩牙疼吃什么药| 北京的市花是什么花| 117是什么意思| 心律不齐吃什么药效果好| 发票抬头是什么意思| 胆碱酯酶高是什么原因| 菩提子手串有什么好处| 怀孕前期有什么征兆| 一什么二什么| 单纯疱疹病毒吃什么药| 尿比重高是什么意思| 总是犯困是什么原因| 什么太空| 胸口不舒服是什么原因| 绍兴酒是什么酒| 跳跳糖为什么会跳| 桑黄有什么药用价值| 龙须菜是什么| 法学是干什么的| 新生儿c反应蛋白高说明什么| 什么东西能补肾壮阳| 吃生蚝有什么好处| 小蛮腰是什么意思| 甘油三酯查什么项目| 松字五行属什么| 吃什么食物补气血| 2009年是什么生肖年| 4级残疾证有什么优惠政策| 属蛇的五行属什么| 七叶一枝花主治什么病| 吸水石是什么石头| 胃疼吃什么药效果好| 蚯蚓喜欢吃什么| 早上起来嘴巴苦是什么原因| 猫怕什么声音| 心口疼是什么原因引起的| 单人旁的字有什么| 检查肾脏挂什么科| 茯苓和土茯苓有什么区别| 3月20日什么星座| 银杏叶片治什么病| 四十不惑是什么意思| 什么是性压抑| 鹅和什么一起炖最好吃| 家里有壁虎是什么征兆| 争奇斗艳是什么意思| 大德是什么意思| 果酸是什么| 尿发黄是什么原因| 娃娃鱼是什么动物| 寒碜是什么意思| 破釜沉舟的釜是什么意思| 吃头孢为什么不能喝酒| 入职体检挂什么科| 子宫腺肌症有什么症状| 今年二十岁属什么生肖| 走心是什么意思| 1328年属什么生肖| 桑叶泡水喝有什么好处| 缺如是什么意思| ins风格是什么| 供奉财神爷有什么讲究| 什么对雨| 什么是年金| 张艺兴为什么不退出exo| 什么是皮炎| 拉泡沫稀便什么原因| 肝右叶钙化灶什么意思| 脂肪是什么颜色| babies是什么意思| 攻是什么意思| 红枣补什么| 企鹅代表什么生肖| 梦见别人买房子是什么预兆| 离婚的女人叫什么| 脑白质变性什么意思| 喝什么美白| 粉底液是干什么用的| 79岁属什么| 咯血是什么意思| 息肉和囊肿有什么区别| 1963年的兔是什么命| 血栓吃什么药可以疏通血管| 毛五行属什么| 麻辣拌里面都有什么菜| 双花红棍什么意思| 额额是什么意思| 什么叫慢性萎缩性胃炎| 西安有什么好吃的特产| 手电筒的金属外壳相当于电路中的什么| 白化病是什么能活多久| 脚脱皮用什么药膏| 电动轮椅什么牌子质量好| 角色扮演叫什么| 可甜可盐什么意思| 什么饮料解渴| 胎毛是什么| 血口喷人是什么意思| 双侧腋下见淋巴结什么意思| 球菌是什么意思| 女性阳性是什么病| 导管子是什么意思| 什么是假性近视| 锦是什么意思| 卡裆是什么意思啊| miracle是什么意思| 吃葱有什么好处和坏处| 储蓄卡是什么意思| 小孩上户口需要什么材料| 车厘子什么季节吃| 胃火喝什么茶降火| 牛筋面是什么做的| 沙棘对肝脏有什么好处| 泡妞是什么意思啊| 为什么怀孕会孕酮低| 猴跟什么生肖配对最好| 子宁不嗣音什么意思| 白细胞弱阳性是什么意思| phicomm是什么牌子| 老年人吃什么营养品好| 公道自在人心是什么意思| 干燥综合症挂什么科| 一个月一个太念什么| 2月16日是什么星座| hazzys是什么牌子价格| 五行什么意思| 健字五行属什么| 火韦是什么字| 梦见已故的老人是什么意思| jordan是什么牌子| 尿蛋白质弱阳性是什么意思| 什么叫美尼尔综合症| 什么属于轻微糖尿病| 尿细菌计数高是什么原因| 女性绝经前有什么症状| 六块钱麻辣烫什么意思| 开心果树长什么样| 百什么争鸣成语| 稀奶油是什么奶油| 女性脱发严重是什么原因引起的| 五步蛇长什么样| 湿气是什么| 梧桐树叶像什么| 85年的属什么| 热感冒有什么症状| cbg是什么意思| 氯雷他定不能和什么药一起吃| 精子是什么颜色| 七月14号是什么星座| opec是什么意思| 晚饭吃什么| 拌嘴是什么意思| 为什么贫血| 雪莲果什么季节成熟| 大便特别臭是什么原因| sharon是什么意思| 店铺开业送什么礼物好| 男人染上霉菌什么症状| 巧妙是什么意思| 凝滞是什么意思| 痤疮用什么药| 吃瓜是什么意思| 嘴巴很臭是什么原因引起的| 朴实无华是什么意思| 夜尿频多吃什么药效果好| 容易中暑是什么原因| 杆鱼是什么鱼| 脚趾头抽筋是什么原因| 脚底干燥是什么原因| 桂圆和红枣泡水喝有什么好处| 百度
"); //-->

博客专栏

EEPW首页 > 博客 > LabVIEW控制Arduino采集多路模拟量、数字量(进阶篇—1)

茄子吃多了有什么坏处

发布人:美男子玩编程 时间:2025-08-03 来源:工程师 发布文章
百度 ▲中华血液公益行

1


项目概述


数据采集,是指从传感器和其他待测设备的模拟和数字被测单元中自动采集信息的过程。能够实现数据采集功能的系统叫作数据采集系统。


数据采集系统的任务,就是将传感器输出的信号转换成计算机能识别的信号并送入计算机进行处理,然后将处理得到的数据进行显示或打印,以便实现对某些物理量的监测,其中一些参数还会被计算机控制系统用于计算输出的控制量,以实现将某些物理量的控制在某一水平。


Arduino控制器均具有模拟输入功能,Uno拥有6路模拟输入端口(A0到A5),每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,并且可以通过AREF调整参考电压。



2


项目架构


采用Arduino Uno与LabVIEW来实现低成本上下位机数据采集系统,具有模拟量和数字量两种采集功能,可以满足低速、低成本的数据采集需求。其中,Arduino Uno作为下位机,负责A/D转换以及数据传输,LabVIEW编写的数据采集软件作为上位机,上下位机通过USB-TTL接口实现通信。如下图所示为多路数据采集系统框图。


图片



3


硬件环境


数据采集系统中的Arduino下位机部分采用Arduino Uno控制器,模拟量采用电位器分压来实现不同电压值,数字量采用拨动开关在5V和GND之间切换实现高电平与低电平。多路数据采集系统硬件连接如下图所示:


图片



4


Arduino功能设计


Arduino下位机部分需要完成两个功能:数据采集和数据传输,Arduino Uno控制板通过USB-TTL电缆接收上位机发来的命令,完成相应的数据采集,并将采集的数据回传至LabVIEW上位机软件。


数据采集分为模拟量采集和数字量采集两种,此处设置采集路数各为2路,分别采用Arduino Uno控制器上具有模拟量输入的管脚A0、A1和具有数字量输入的管脚2、3。


Arduino Uno控制器负责读取LabVIEW上位机发来的采集命令,并采集相应的数据,通过串口发送回上位机LabVIEW软件。Arduino Uno控制器的程序代码如代码如下所示:







































































#define A0_Command  0x10   //A0采集命令字#define A1_Command  0x11   //A1采集命令字#define D0_Command  0x20   //D0采集命令字#define D1_Command  0x21   //D1采集命令字 byte comdata[3]={0};      //定义数组数据,存放串口接收数据 int AD_Value=0;          //AD转换后的数字量float float_AD_Value;    //数字量换算成浮点电压量int D_Value=0;           //数字量测量的数据 void receive_data(void);      //接受串口数据void test_do_data(void);         //测试串口数据是否正确,并更新数据 void setup(){  Serial.begin(9600);        pinMode(2, INPUT);  pinMode(3, INPUT);}void loop(){  while (Serial.available() > 0)   //不断检测串口是否有数据   {        receive_data();            //接受串口数据        test_do_data();               //测试数据是否正确并更新标志位   }}void receive_data(void)       {   int i ;   for(i=0;i<3;i++)   {      comdata[i] =Serial.read();      //延时一会,让串口缓存准备好下一个字节,不延时可能会导致数据丢失,       delay(2);   }} void test_do_data(void){  if(comdata[0] == 0x55)            //0x55和0xAA均为判断是否为有效命令   {     if(comdata[1] == 0xAA)     {        switch(comdata[2])          {               case A0_Command:                    AD_Value = analogRead(A0);                 //读取A0电压值                 float_AD_Value=(float)AD_Value/1023*5.00;  //换算为浮点电压值                 Serial.println(float_AD_Value,2);          //保留两位小数发送数据                                        break;            case A1_Command:                    AD_Value = analogRead(A1);                 //读取A0电压值                 float_AD_Value=(float)AD_Value/1023*5.00;  //换算为浮点电压值                 Serial.println(float_AD_Value,2);          //保留两位小数发送数据                                        break;            case D0_Command:                    D_Value = digitalRead(2);                  //读取D2数字量                 Serial.println(D_Value);                  //发送数字量测量数据                                     break;            case D1_Command:                    D_Value = digitalRead(3);                  //读取D2数字量                 Serial.println(D_Value);                  //发送数字量测量数据                                      break;                         }       }   }}



5


LabVIEW功能设计


LabVIEW上位机部分需要完成两个功能:向下位机发送命令帧和将数据显示在前面板上,Arduino Uno控制板通过串口接收上位机命令,完成相应的数据采集,并将数据回传至上位机。


数据采集分为模拟量采集和数字量采集,设置采集路数各为2路,分别采用ArduinoUno上具有模拟量输入的管脚A0、A1和具有数字量输入的管脚2、3来实现。模拟量采用电位器分压来实现不同电压值,数字量采用拨动开关在5V和GND之间切换实现高电平与低电平。


5.1、前面板设计


LabVIEW前面板分为模拟量采集和数字量采集两个部分,模拟量采集部分主要针对模拟量输出的传感器,数字量采集部分主要针对数字量的输入。

LabVIEW上位机前面板设计如下图所示:


图片


5.2、程序框图设计


由于有2路模拟量和2路数字量,不同通道的模拟量或数字量的发送数据帧中,通道号不同,数字量与模拟量采集的发送数据帧中,命令号不同。发送数据帧中,具体的命令号和通道号可以自定义,此处模拟量通道0的采集命令为0x55AA10,模拟量通道1的采集命令为0x55AA11,数字量通道0的采集命令为0x55AA20,数字量通道1的采集命令为0x55AA21。

LabVIEW上位机程序框图如下所示:


图片图片图片图片图片图片


Arduino Uno上的模拟输入拥有10位的分辨率,可以满足一般的数据采集的需求同时可以更改参考电压来提高最小分辨率。


对于高精度的应用,需要外部扩展高分辨率的ADC(模数转换器)和高精度的电压基准源。


对于连续数据采集的应用,可以采用LabVIEW Interface for Arduino函数库中的模拟采样库中的Get Finite Analog Sample函数节点来实现。


对于远距离的数据采集的应用,可以采用RS-485总线、无线串口方式或网络方式实现。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: LabVIEW Arduino

相关推荐

技术专区

关闭
唐玄宗为什么叫唐明皇 偏头痛什么原因 是什么原因 什么样的水花 吃葡萄对身体有什么好处
羊与什么相冲 脚脖子浮肿是什么原因引起的 抑郁症看什么科 心脏增大吃什么药 陈皮和什么泡水喝最好
什么样的耳朵 原发性和继发性是什么意思 鼻窦炎首选什么抗生素 大姨妈来了可以吃什么水果 国家电网需要什么专业
慢性胃炎吃什么食物好 居高临下是什么意思 孕妇心率快是什么原因 前列腺炎是什么引起的 吃维生素b1有什么好处和副作用
早上吃什么减肥hcv7jop5ns6r.cn 煮粥用什么锅最好hcv9jop8ns2r.cn 急性上呼吸道感染是什么引起的hcv7jop6ns6r.cn 硝苯地平是什么药hcv9jop0ns0r.cn 丙型肝炎病毒抗体阴性什么意思hcv7jop4ns6r.cn
当我们谈论爱情时我们在谈论什么hcv8jop6ns8r.cn 藿香正气水治疗什么病hcv8jop4ns4r.cn 海龟汤什么意思xjhesheng.com 无犯罪记录证明需要什么材料1949doufunao.com 毛滴虫病是什么病hcv7jop4ns8r.cn
心绞痛是什么感觉hcv8jop9ns1r.cn 喉咙有异物挂什么科hcv7jop6ns4r.cn 为什么白带是褐色的adwl56.com 8月15号是什么星座hcv9jop0ns8r.cn camel什么意思hcv8jop0ns0r.cn
螨虫长什么样子hcv8jop3ns8r.cn 布洛芬缓释胶囊有什么副作用hcv8jop5ns6r.cn 石英表不走了是什么原因hcv8jop5ns9r.cn 85年什么命zsyouku.com 天空蓝是什么颜色hcv8jop1ns0r.cn
百度