camp医学上是什么意思| 星期三打喷嚏代表什么| 三个直念什么| 波涛澎湃是什么意思| 多囊卵巢综合征是什么意思| 吃什么可以壮阳| 张家界莓茶有什么功效| 消炎药都有什么| 涅盘是什么意思| 补蛋白吃什么最好| 身份证号码代表什么| 湿气重是什么原因引起的| 蛲虫吃什么药| 什么的兵马俑| 缺钙吃什么补钙最快| 聚首一堂是指什么生肖| 斯密达什么意思| 女人吃什么补肾| 降尿酸吃什么药| bang什么意思| 直肠炎是什么原因引起| 振水音阳性提示什么| 烟台有什么特产| 护照办理需要什么材料| 夫妻备孕检查挂什么科| 半夜是什么生肖| 用盐水洗脸有什么好处| 白猫来家里有什么预兆| 肾阴虚吃什么中药| 电磁炉用什么锅| 充电宝充电慢是什么原因| nac是什么| 宫颈肥大是什么原因造成的| 人间蒸发是什么意思| 为什么会面瘫| 月经不规律是什么原因| 十一月是什么星座的啊| 梦见两条大蟒蛇是什么征兆| 支气管炎吃什么药好| 为什么不能空腹喝豆浆| 治疗腱鞘炎用什么药效果好| 胆囊炎是什么原因引起的| 茯苓泡水喝有什么功效| 男性什么适合长期泡水喝| 单反是什么意思| 唐氏筛查临界风险是什么意思| 红线女是什么意思| 通讯地址是什么意思| 副校长是什么级别| 撞车了打什么电话| 1943年属什么生肖| 夜盲症是什么症状| 作业是什么意思| 肠粉是什么| 冠状动脉肌桥是什么病| 喝酒过敏是什么原因| 继发性高血压是什么意思| guava是什么水果| 骨折吃什么药恢复快| 鼻窦粘膜增厚什么意思| 梦见杀鸡是什么意思| 睡觉脚麻是什么原因| 纳少是什么意思| 神经元特异性烯醇化酶偏高是什么意思| 疱疹吃什么药可以根治| 衣服发黄是什么原因| 乳腺结节挂什么科| 什么是增强ct| 什么东西补铁效果好而且最快| 嗜酸性粒细胞偏低是什么意思| 农村什么赚钱| 大便很粗是什么原因| 打生长激素有什么危害和副作用| 梦见包丢了是什么意思| 视什么如什么| 码是什么意思| 支原体肺炎用什么药| 脂蛋白是什么意思| 翘首企盼是什么意思| 梦见自己流鼻血是什么预兆| 什么体投地| 孩子感冒发烧吃什么药| 打坐有什么好处| 颞下颌关节挂什么科| 先明后不争什么意思| 入珠是什么意思| 阴蒂长什么样| 胆汁反流性胃炎吃什么中成药| 7大营养素是什么| 皲裂是什么意思| 十二生肖它第一是什么生肖| mra是什么牌子| 胃窦糜烂是什么意思| 夺嫡是什么意思| 祖母是什么意思| 血常规能检查出什么| 为什么养鱼双数是大忌| 肠胃性感冒吃什么药| 什么是肾阴虚| 夏祺是什么意思| 什么的脸庞| 42天产后复查都查什么| 眼睛长眼屎是什么原因| 知柏地黄丸主治什么| 四面八方什么生肖| 变应性鼻炎是什么意思| 一个三点水一个有读什么字| 月经黑色的是什么原因| 黄疸挂什么科| 大门是什么生肖| 一什么机枪| 甜菜碱是什么东西| 割韭菜什么意思| 青少年手抖是什么原因| 性张力什么意思| 出血热是什么病| 性腺六项是查什么的| 重色轻友是什么意思| 白马怕青牛是什么意思| 动脉硬化有什么危害| 黄芪丹参山楂泡水有什么功效| 吐槽是什么意思啊| 贞操带是什么| 74年出生属什么生肖| 宝宝咳嗽挂什么科| 小孩铅过高有什么症状| 肉麻是什么意思| 二人世界是什么意思| 3月16是什么星座| hm是什么| 移动电源和充电宝有什么区别| 斯文败类是什么意思| 什么是五官| bape是什么品牌| 胰腺ca是什么意思| 日食是什么现象| 家里养什么鱼好| 腰间盘突出挂什么科室| 心动过缓吃什么药| 破壁机什么牌子的最好| 过门是什么意思| 凤尾是什么菜| 什么是汛期| bpo是什么意思| 眼睛飞蚊症用什么药能治好| 女人吃什么能活血化瘀| 什么人容易得圆锥角膜| esr医学上是什么意思| 美尼尔综合症吃什么药| 大宝是什么意思| 4p是什么意思| 蚊子怕什么气味| 热得什么填空| 什么方法可以降血压| panerai是什么牌子| 韭菜花炒什么好吃| 亚甲减是什么意思| 明信片是什么| 双子座是什么象星座| 凶宅是什么意思| 孕育是什么意思| 什么是黄体破裂| 老抽是什么| 铎读什么| 副高相当于什么级别| 不知为什么| 什么多么什么| 下面痒用什么药| 早上打嗝是什么原因呢| 窝里横是什么意思| 桂花是什么生肖| 输卵管造影什么时候检查最好| 呼吸道感染吃什么药最好| 日干是什么| 黄子韬爸爸是干什么的| 什么是凌汛| 氯雷他定片是什么药| 左上腹是什么器官| 什么情况下做试管婴儿| 被毒蛇咬了有什么症状| 喝陈皮有什么好处| 多糖是什么| 氟利昂什么味道| 消炎药是什么药| 细胞是什么| 办理港澳通行证需要带什么证件| 怀孕初期需要补充什么营养| 三个白念什么| 吃阿胶对女人有什么好处| 口干舌燥口苦吃什么药| 什么的威尼斯| 什么是职业病| 喝茶对身体有什么好处| 什么是黄道吉日| 绞股蓝长什么样子| 龟头炎用什么软膏最好| 南京市长是什么级别| 走资派是什么意思| 睡醒后腰疼是什么原因| 10月30日什么星座| 什么叫数字货币| 土方是什么| 肠胃不好喝什么奶粉好| 肚子疼去医院挂什么科| 发际线高的人说明什么| edd是什么意思| 经常呛咳是什么病的征兆| 观音菩萨保佑什么| 梦见下大雨是什么意思| 洗假牙用什么洗最好| 梦见好多水果是什么预兆| 丁丁历险记的狗是什么品种| 耳廓上长痣代表什么| 晚上十一点半是什么时辰| 备考是什么意思| 结节是什么原因引起的| 小儿舌苔白厚什么原因| 肾衰透析病人吃什么好| 多囊是什么原因引起的| 胰岛素针头4mm和5mm有什么区别| 吃维生素c片有什么好处| 人为什么会感冒| 雪纺是什么面料| 轻描淡写是什么意思| 溜肩是什么意思| 什么避孕套好用| 支原体阳性是什么意思| 黄疸偏高有什么危害| 嘴唇发紫是什么病| 胃溃疡吃什么| 咏柳是什么意思| 呦呦是什么意思| acei是什么意思| 前列腺增生用什么药好| 云南什么族| 小便无力是什么原因男| 人老珠黄是什么动物| 网球大满贯什么意思| 喉咙痒痒的吃什么药| 检查是否怀孕要做什么检查| 驿马星是什么意思| 带状疱疹用什么药膏| 奶水不足是什么原因造成的| 摄政王是什么意思| 糖尿病的诊断标准是什么| 躺平什么意思| 人工流产后可以吃什么| 尿常规红细胞高是什么原因| 骨髓炎是什么病| 芬太尼是什么药| 绿豆不能和什么同吃| 胃复安又叫什么名字| 孕反一般什么时候开始| 双侧中耳乳突炎是什么意思| 榴莲不能和什么吃| 亚硝酸钠是什么| 钠低是什么原因| 乳房挂什么科| 人中附近长痘痘什么原因| 眼睛看什么科| 行尸走肉是什么意思| 折寿是什么意思| 嘴子是什么意思| 女性体毛多是什么原因| 百度
"); //-->

博客专栏

EEPW首页 > 博客 > LabVIEW Arduino ZigBee无线气象站(项目篇—3)

集成吊顶排气扇安装 集成吊顶排气扇好坏鉴别

发布人:美男子玩编程 时间:2025-08-03 来源:工程师 发布文章
百度 你,一定要来体验一次!还有,请记住你此时的感受。

1


项目概述


目前,国内气象站对地面气象数据的采集大多采用传统的有线方式,其布线成本高,维护不方便,尤其对于山区等一些复杂的地形来说,这种缺点更为明显。传统的无线通信方式有很多,无线电、微波、红外线、蓝牙、射频等,在某些只需简单的无线连接的应用领域对数据速率的要求并不很高,设备的功耗是更需要考虑的问题。ZigBee网络是低功耗、低成本、高可靠性的无线传感器网络,其在环境检测等领域中有着广阔的应用前景。



2


项目架构


本篇博文将要介绍一种基于Arduino、LabVIEW和ZigBee的个人小型无线自动气象站,可以实现自主采集温度、湿度、气压、粉尘浓度,并且将数据实时上传至LabVIEW上位机软件。气象站终端设备采用Arduino作为控制核心,上位机软件采用LabVIEW,两者通过基于ZigBee技术的XBee模块实现无线通信。


个人小型气象站的总体框图如下图所示:


图片



3


传感器选型


3.1、温湿度传感器


SHT11是瑞士Sensirion公司推出的一款数字温湿度传感器芯片,将传感元件和信号处理电路集成在一块微型电路板上,输出完全标定的数字信号,采用CMOSens专利技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器芯片内部包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上与14位的A/D转换器以及串行接口电路实现无缝连接。因此,具有品质卓越、响应迅速、抗干扰能力强、性价比高等优点,广泛应用于暖通空调、汽车、消费电子、自动控制等领域。


每个传感器芯片都在极为精确的湿度腔室中进行标定,校准系数以程序形式储存在OTP内存中,用于内部的信号校准。两线制的串行接口与内部的电压调整,使外围系统集成变得快速而简单。微小的体积、极低的功耗,使SHT11成为各类应用的首选。


图片


拓展学习:

LabVIEW控制Arduino采集热电偶温度数值(进阶篇—2)

LabVIEW控制Arduino采集多路DS18B20温度数值(进阶篇—3)

LabVIEW控制Arduino采集DHT11温湿度数值(进阶篇—4)


3.2、压力传感器


气压是指作用在单位面积上的大气压力,它等于单位面积上到大气上界的垂直空气柱的重量,大气压力测量的基本单位是帕斯卡(Pa,即牛顿每平方米)。此处采用BMP085气压传感器实现气压的测量。


BMP085是一款高精度、超低能耗的压力传感器,可以应用在移动设备中。它的性能卓越,绝对精度最低可以达到0.03hPa,并且耗电极低,只有3uA。BMP085采用强大的8-pin陶瓷无引线芯片承载(LCC)超薄封装,可以通过I2C总线直接与各种微处理器相连。而且,BMP085利用温度补偿来提高气压的测量精度,反应时间7.5ms,待机电流0.1uA,无需外部时钟电路,无铅,符合RoHS规范。BMP085气压传感器模块如下图所示:


图片


3.3、空气质量传感器


粉尘是指悬浮在空气中的固体微粒。按照国际标准化组织规定,粒径小于75um的固体悬浮物定义为粉尘。大气中粉尘的存在是保持地球温度的主要原因之一,大气中过多或过少的粉尘将对环境产生灾难性的影响。但在生活和工作中,过多的粉尘是人类健康的天敌,是诱发多种疾病的主要原因。


随着经济的发展,环境污染越发严重,随着生活水平的提高,人们的健康意识也越来越强,在小型气象站中增加粉尘传感器,用于监测空气中的粉尘等可吸入固体颗粒。


GP2Y1010AU0F是夏普公司的光学空气质量传感器,可以测量空气中尘埃的含量。该装置中包含一个红外发光二极管和光电晶体管,且呈对角布置,允许其检测的反射光在空气中的灰尘,可以非常有效地检测比较微小的颗粒,如香烟烟雾,并且是常用的空气净化器系统。GP2Y1010AU0F实物图效果如下图所示:


图片



4


硬件环境


将SHT11温湿度传感器的VCC、GND、SCK、DATA分别接至Arduino Uno控制板上的+5V、GND、模拟端口A2和A3。


将BMP085气压传感器的VCC、GND、SCL、SDA分别接至Arduino Uno控制板上的3.3V、GND、SCL和SDA。若Arduino Uno控制板上没有标注的SCL和SDA端口,则将BMP085的SCL和SDA分别接至模拟端口A5和A4上。


GP2Y1010AU0F粉尘传感器VLED串联150Ω电阻接至Arduino Uno控制板上的+5V,LED-GND接至GND,LED接至数字引脚D2,S-GND接至GND,Vo接至模拟输入A0,Vcc接至5V。


Arduino Uno控制器与XBee模块、BMP085和SHT11的硬件连接,如下图所示:


图片



5


Arduino功能设计


在基于Arduino与LabVIEW的个人小型气象站中,Arduino Uno控制器需要完成两个功能:接收和判断命令,采集和传输温湿度、气压、粉尘浓度的数据,Arduino Uno控制器通过XBee模块接收上位机发来的命令,分析得到有效命令,读取温湿度、气压、粉尘浓度等数据,并上传给LabVIEW软件。


个人气象站Arduino控制器程序代码如下所示:





























































































#include <Wire.h>#include <BMP085.h>#include <SHT1x.h> #define temp_Command      0x10   //采集命令字#define humidity_Command  0x20   //A1采集命令字#define pressure_Command  0x30   //D0采集命令字#define dust_Command      0x40   //D1采集命令字 // Specify data and clock connections and instantiate SHT1x object#define dataPin  A3#define clockPin A2SHT1x sht1x(dataPin, clockPin);BMP085 bmp;  byte comdata[3]={0};      //定义数组数据,存放串口接收数据float temp_c;float humidity;int dustPin=0;int dustVal=0;int PressureVal=0; int ledPower=2;int delayTime=280;int delayTime2=40;float offTime=9680;  void receive_data(void);      //接受串口数据void test_do_data(void);         //测试串口数据是否正确,并更新数据 void setup(){  Serial.begin(9600);        pinMode(2, INPUT);  pinMode(3, INPUT);  pinMode(ledPower,OUTPUT);  pinMode(4, OUTPUT);  analogReference(INTERNAL);  bmp.begin();  }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] == 0xFF)     {        switch(comdata[2])          {               case temp_Command:                   temp_c = sht1x.readTemperatureC();                Serial.print(temp_c, 2);                   break;            case humidity_Command:                    humidity = sht1x.readHumidity();                 Serial.print(humidity,2);                 break;            case pressure_Command:                    PressureVal=bmp.readPressure();                 Serial.print(PressureVal,2);                                     break;            case dust_Command:                    digitalWrite(ledPower,LOW); // power on the LED                 delayMicroseconds(delayTime);                 dustVal=analogRead(dustPin); // read the dust value via pin 5 on the sensor                 delayMicroseconds(delayTime2);                 digitalWrite(ledPower,HIGH); // turn the LED off                 delayMicroseconds(offTime);                 Serial.println(dustVal);                                              break;                         }       }   }}



6


LabVIEW功能设计


LabVIEW上位机部分需要完成以下功能:

1、向下位机Arduino控制器发送温度、湿度、气压数据的采集命令,Arduino控制器通过串口接收上位机命令,完成相应的数据采集之后并将采集的数据回传,LabVIEW软件将回传的数据显示在前面板上。

2、向下位机Arduino控制器发送粉尘浓度的采集命令,Arduino控制器通过串口接收上位机命令,完成粉尘浓度的电压采集之后并将采集的电压数据转换为粉尘浓度,LabVIEW软件接收Arduino返回的粉尘浓度并显示在前面板上,同时将粉尘浓度的变化显示在波形图上。


6.1、前面板设计


LabVIEW前面板分为仪表盘显示和波形图显示两个部分,仪表盘部分用于显示当前的数据,包括温度、湿度、气压和粉尘浓度;波形图显示部分用于显示粉尘浓度的变化趋势。基于Arduino与LabVIEW的个人小型气象站的LabVIEW上位机前面板,如下图所示:


图片


6.2、程序框图设计


在LabVIEW上位机的程序设计中,温度、湿度、气压和粉尘浓度的采集需要向Arduino Uno控制器发送不同的命令码,并获取Arduino Uno控制器返回的测量数据,为了使得程序结构更加清晰明朗,此处将温度、湿度、气压和粉尘浓度采集分别编写成子VI。


温度采集子程序的前面板和程序框图,如下图所示:


图片


图片


湿度采集子程序的前面板和程序框图,如下图所示:


图片


图片


气压采集子程序的前面板和程序框图,如下图所示:


图片


图片


粉尘浓度采集子程序的前面板和程序框图,如下图所示:


图片


图片


采用条件结构+移位寄存器的状态机来实现LabVIEW上位机主程序,将主程序划分为5个状态:0状态为串口初始化,1状态为温度测量,2状态为湿度测量,3状态为气压测量,4状态为粉尘浓度测量,且初始状态为0状态(串口初始化)。


在0状态中,通过设置的串口号来初始化串口通信。在1状态中,读取温度数据并显示,在2状态中,读取湿度数据并显示,在3状态中,读取气压数据并显示,在4状态中,读取粉尘浓度数据并显示在波形图上。最后,关闭串口通信。


串口初始化程序框图如下所示:


图片


温度采集程序框图如下所示:


图片


湿度采集程序框图如下所示:


图片


气压采集程序框图如下所示:


图片


粉尘浓度采集程序框图如下所示:


图片


本节介绍的基于ZigBee的个人小型气象站可以通过无线方式实现温湿度、气压和粉尘浓度的测量,如需要增加其他的测量参数,则需要添加相应的传感器即可。

另外,利用ZigBee的组网技术,在一定的区域内布置多个测量站点,可以实现区域性的气象参数的测量。


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

电容式接近开关相关文章:电容式接近开关原理
光电开关相关文章:光电开关原理


关键词: LabVIEW

相关推荐

技术专区

关闭
1921年是什么年 乔治阿玛尼和阿玛尼有什么区别 6月1号是什么星座 三联律是什么意思 去三亚需要什么证件
英雄的动物是什么生肖 不停的放屁是什么原因 淡竹叶有什么功效 豆腐不能和什么一起吃 客套是什么意思
81年属什么的 禄蠹是什么意思 肝郁化火吃什么中成药 脾切除对身体有什么影响 嫑怹是什么意思
sm是什么意思 爸爸生日送什么礼物 扁桃体肿大吃什么药 野鸭吃什么 胃出血吃什么药
武五行属什么hcv7jop7ns1r.cn 三情六欲是什么意思hcv7jop5ns4r.cn 学制是什么hcv8jop3ns3r.cn 结节是什么东西hcv7jop6ns5r.cn 女人性冷淡吃什么药效果好hcv7jop4ns5r.cn
碳酸盐是什么hcv9jop0ns9r.cn 为什么拉的屎是黑色的hcv9jop4ns6r.cn 女性血热吃什么好得快hcv8jop0ns7r.cn 6月5日是世界什么日hcv9jop4ns3r.cn 血氯高是什么原因hcv9jop2ns1r.cn
肝功能四项检查什么cj623037.com roa是什么意思hcv7jop9ns5r.cn 1988年出生是什么命hcv9jop3ns4r.cn 思诺思是什么药hcv8jop6ns6r.cn rap是什么意思hcv7jop6ns2r.cn
立秋是什么时候hcv7jop9ns5r.cn 忌诸事不宜是什么意思hcv9jop3ns1r.cn 自己是什么意思hcv7jop6ns0r.cn 化疗能吃什么水果xinmaowt.com 血糖高适合喝什么酒hcv8jop3ns1r.cn
百度