




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 ZigBee实验十四无线采集火焰传感器14.1 实验简介 火焰传感器是探测在物质燃烧时,产生烟雾和放出热量的同时,也产生可见的或大气中没有的不可见的光辐射。 火焰传感器又称感光式火灾传感器,它是用于响应火灾的光特性,即探测火焰燃烧的光照强度和火焰的闪烁频率的一种火灾传感器。 根据火焰的光特性,目前使用的火焰传感器有三种:一种是对火焰中波长较短的紫外光辐射敏感的紫外传感器;另一种是对火焰中波长较长的红外光辐射敏感的红外传感器;第三种是同时探测火焰中波长较短的紫外线和波长较长的红外线的紫外/红外混合传感器。 具体根据探测波段可分为:单紫外、单红外、双红外、三重红外、红外紫外、附加视频等火焰传感器
2、; 根据防爆类型可分为:隔爆型、本安型 实验目的14.2 训练目的 14.2.1 通过本实验了解Z-STACK中串口传送火焰传感器的数据。14.3实验设备14.3.1 硬件:(1) 智能网关一台电源及开关USB程序下载接口显示屏ZigBee模块图14-1 智能网关(2) ZIGBEE调试底板一个;指示灯可调电阻ZigBee_DEBUG红外发射ZigBee复位ZigBee按键拨码开关节点按键复位传感器接口1J-LINK接口传感器接口3传感器接口2电源开关电源图14-2 ZIGBEE调试底板(3) ZIGBEE模块2个;图14-3 ZIGBEE模块(4) 电源2个图14-4 电源(5) Jlink
3、仿真器图14-5 JLINK仿真器(6) 转接板与转接线图14-6 转接板与10PIN转接线(7) 火焰传感器图14-7 火焰传感器(8) 硬件连接图传感器接口电源节点复位按钮连接电脑USBJLINK仿真转接口图14-8 硬件连接图14.3.1 软件(1) 智能网关安卓系统;(2) 智能网关传感器实验程序;(3) 智能网关传感器设置程序。(4) KEIL FOR ARM集成开发环境;(5) JLINK仿真器驱动;实验知识14.414.4.1 火焰传感器原理图14.4.2 火焰传感器原理火焰传感器主要是靠火焰探头采集火焰特定的光波长,当火焰探头采集到特定火焰波长的光时,其内部就相当于处于一个导通
4、状态。然后通过比较器对一个特定的电压进行比较,输出TTL电平。检测到火焰时,输出低电平,否则输出高电平。实验步骤14.514.5.1 参看“关于无线传感器及智能网关环境搭建说明”先将实验环境搭建起来。配置好串口透串模块。图14-9 关于无线传感器及智能网关环境搭建说明14.5.2 打开配套源代码中的“采集程序”的工程文件图14-10 采集程序仿真按钮程序下载按钮编译按钮图14-11 打开采集程序界面14.5.3 按照硬件连接图连接好硬件(ZIGBEE模块,JLINK,ZIGBEE调试底板,传感器),并上电。先点击“编译按钮(F7)”编译程序,再点击“程序下载按钮”将程序下载到ZIGBEE调试底
5、板中的STM32上去,按一下节点“复位”按钮对节点进行复位运行起来。或点击“仿真按钮”进入仿真模式,再点“运行”按钮运行程序。如果JLINK仿真器的固件与驱动版本对应不上时,会出现提出更新固件的对话框,可以选择“否”不更新而继续下载程序。如果不能下载,则检查硬件连接情况。运行按钮图14-12 仿真界面14.5.4 程序运行起来后,按按键“KEY2”启动采集湿度数据。启动后LED(D5)会常亮,而LED(D7)和LED(D8)会闪烁,智能网关上ZIGBEE模块对应的LED也会闪烁,查看智能网关显示屏的显示数据。实验结果参看下一小节“实验验证”。14.5.5 实验结束。实验验证14.6 14.6.
6、1 用打火机打燃置于火焰传感器探测头前,观察显示屏上显示的状态是否发生变化。图14-13 传感器状态显示实验部分参考程序解析(完整程序见源程序文件)14.7代码解释:14.7.1 传感器初始化void Sensor_Exti_init(void) GPIO_InitTypeDef GPIO_InitStructure;EXTI_InitTypeDef EXTI_InitStructure;NVIC_InitTypeDef NVIC_InitStructure; /* GPIOG clock enable */ RCC_APB2PeriphClockCmd(SENSOR_CLOCK, ENABL
7、E); GPIO_InitStructure.GPIO_Pin = Sensor_IO_PIN2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; /上拉输入 GPIO_Init(Sensor_IO_PORT, &GPIO_InitStructure);/* 连接IO口到中断线 */GPIO_EXTILineConfig(Sensor_Exti_PORT, Sensor_Exti_NUM);/* 配置中断线7为边降沿触发*/ EXTI_InitStructure.EXTI_Line = Sensor_Exti_Line_NUM;EXTI_In
8、itStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);/* EXTI7*/NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;N
9、VIC_InitStructure.NVIC_IRQChannelSubPriority = 1;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);参考注解:火焰传感器输出的是TTL电平,配置PB7为输入边降沿触发的中断模式。但是,本例子中,并没有使用中断采集数据。14.7.2 数据采集函数:void GetSensorData(u8* data) data0 = 0;data1 = 0;/如果是声音、震动传感器,则采用中断方式检测if(senser_type = SENSOR_S
10、OUND | senser_type = SENSOR_801S) data2 = sensor_exit_flag; sensor_exit_flag = 0;else data2 = SENSOR2_IN();data3 = 0;data4 = 0;/为了统一,数据进行校正,开关型传感器,0(默认)是正常,1是发生变化/光照、倾斜、凝露、霍尔传感器if(senser_type = SENSOR_LIGHT5537 | senser_type = SENSOR_TILT | senser_type = SENSOR_HDS10 | senser_type = SENSOR_HALL3144)
11、 data2 = (data2)&0x01;参考注解:当特定的采集时间到时,就会调用数据采集函数,其中调用了SENSOR2_IN()读取PB7的值,也就是采集了传感器输出端的值,保存在相应的缓冲变量中,以偏后面使用这采集到的数据。14.7.3 实现原理 while(1) if(senser_type != GetType()/发现传感器类型改变,就重新初始化对应的IO口 Delay(50); /senser_type = GetType(); /senser_Init(senser_type); /USART2_Putc(senser_type); /测试使用,用于指示当前是某一类型传
12、感器 timesend = 300; if(senser_type = SENSOR_ASD) /不同类型的传感器采集时间设置timesend = 50; /按键扫描while(ScanKey() = KEYVAL_1) Delay(20); sendflag= (sendflag) & 0x01 ;/发送标志控制 if(sendflag = 1) Led_Ctr(LED1_ON);/串口发送指示灯 led_ct+; if(led_ct = timesend) if(sensor_get_data(senser_type,&sensordata2) /数据采集 USART2_S
13、enddata(sensordata); /串口发送数据 /-数据发送闪烁LED闪烁 Led_Ctr(LED3_ON);else if(led_ct = timesend*2) Led_Ctr(LED3_OFF); /关闭闪烁LED led_ct = 0; /闪烁重新翻转 else /关闭所有LED指示灯 led_ct = 0; Led_Ctr(LED1_OFF); Led_Ctr(LED2_OFF); /发生倾斜指示灯灭 Led_Ctr(LED3_OFF); Delay(50);参考注解:在程序刚开始运行的时候,并没有开始采集数据,而是一直的扫描按键ScanKey(),当检测到按键返回值为K
14、EYVAL_1时(即KEY2按下),那么就对发送标志控制信号(sendflag)赋值,下面的代码就开始进入发送状态。计数标志(led_ct)达到发送时间的数值(timesend)的时候,就采集传感器的数据然后通过串口发送给ZIGBEE模块。当计数标志(led_ct)为两倍的发送时间(timesend x 2)时,对计数标志清零,重新开始计数。在发送标志信号置位后,程序就开始不停的采集传感器数据,并发送出去。LED(D7)每一次亮的时候,就采集了数据通过串口往ZIGBEE模块,ZIGBEE模块再通过无线发送出去,ZIGBEE模块每成功发送一次无线数据,LED(D8)的状态就会改变一次,而在智能网关上的ZIGBEE模块,每收到一次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 配资炒股借款合同协议
- 2024高级会计新规解读试题及答案
- 2024税务管理实务试题及答案
- 邛崃劳务派遣合同协议
- 典型一级建造师试题及答案解析
- 中级会计考试资源利用指南试题及答案
- 退役猫咪领养合同协议
- 部epc总包合同协议
- 路边广告牌合同协议
- 购买农机机合同协议
- 新版导师制度课件
- 室内设计综合施工图制作教案
- 紫色卡通万圣节节日活动策划PPT模板
- 公司送电工作票
- 《跨境电商美工实务》完整版课件全套ppt教学教程-最全电子讲义(最新)
- 美国药品批发行业发展历程译稿
- 十字头零件的加工工艺规程及精车外圆工装夹具毕业设计(机械CAD图纸)
- 含公式新财务报表模板 包括:三大报表、所有者权益变动表、和相关指标计算
- 第二套全国中小学校园集体舞图解
- 移动通信终端NS_IOT测试解析
- 临床免疫学检验技术(共64页).ppt
评论
0/150
提交评论