详解智能建筑消防预警系统设计与实现
主要内容
项目场景说明
火焰传感器介绍
红外接收管
项目实现
一、项目场景
高层建筑越来越多,高楼大厦的消防隐患就更加严峻,加之目前的消防救援车辆对高层的火灾救援仍旧没有很好的解决方案,因此大楼在发生火灾后通常只能等待大火燃尽熄灭,造成的经济损失,社会影响都比较严重。为了避免此类问题的发生,大楼的消防预警系统就成为了现代高楼设计的重中之重。
二、任务目标
某百层以上的摩天大楼即将完工,为提高大楼的安全性需要对大楼的消防设施进行配套。为配合喷淋及大楼报警装置的使用,需要使用火焰传感器对大楼内的明火进行提前预警。请使用火焰传感器对明火信号进行监测,并将监测结果发送至上位等待对明火的进一步处理。
三、火焰传感器介绍
火焰是由各种燃烧生成物、中间物、高温气体、碳氢物质以及无机物质为主体的高温固体微粒构成的。火焰的热辐射具有离散光谱的气体辐射和连续光谱的固体辐射。
火焰传感器检测火焰主要依靠光谱中的特征波长的光线。
火焰传感器类型
火焰传感器检测火焰主要依靠光谱中的特征波长的光线,根据不同特征的光线可将火焰传感器分为远红外火焰传感器和紫外火焰传感器。
红外接收管
火焰传感器之所以能够检测火焰接受到红外信号的原因是由于使用红外接收头做为火焰传感器的眼睛。常见的940nm红外接收管如图。
远红外火焰传感器可以用来探测火源或其它一些波长在700纳米~1100纳米范围内的热源。
红外接收管的特征与原理
红外线接收管是将红外线光信号变成电信号的半导体器件,它的核心部件是一个特殊材料的PN结,和普通二极管相比,在结构上采取了大的改变,红外线接收管为了更多更大面积的接受入射光线,PN结面积尽量做的比较大,电极面积尽量减小,而且PN结的结深很浅,一般小于1微米。
红外线接收二极管是在反向电压作用之下工作的。没有光照时,反向电流很小(一般小于0.1微安),称为暗电流。当有红外线光照时,携带能量的红外线光子进入PN结后,把能量传给共价键上的束缚电子,使部分电子挣脱共价键,从而产生电子——空穴对(简称:光生载流子)。
四、项目分析
本项目设计中通过940nm的红外接收管经过运算放大器采集火焰红外信息,并将采集信息打印在PC上,定时进行更新,硬件结构主要由STM32F407、火焰传感器、串口和LCD屏幕组成。
五、项目硬件图
火焰传感器原理图
六、火焰传感器程序逻辑
七、项目实现
主函数模块
/********************************************************************************************** 头文件*********************************************************************************************/#include "stm32f4xx.h"#include "delay.h"#include "led.h"#include "key.h"#include "lcd.h"#include "usart.h"#include "Flame.h"/********************************************************************************************** 名称:main()* 功能:火焰传感器驱动逻辑代码* 参数:无* 返回:无* 修改:*********************************************************************************************/void main(void){unsigned char led_status = 0; //存储火焰状态变量delay_init(168); //延时初始化led_init(); //初始化LED控制管脚key_init(); //初始化按键检测管脚lcd_init(FLAME1); //LCD初始化usart_init(115200); //串口初始化flame_init(); //火焰传感器初始化while(1){ //循环体if(get_flame_status() == 1){ //检测到火焰led_status = ~led_status; //LED灯的状态反转 printf("fire!\r\n"); //串口打印提示信息//LCD更新数据LCDDrawFnt16(4+30,30+20*7,4,320," 检测到火焰",0x0000,0xffff);}else{ //没有检测到火焰led_status = 0; //熄灭LED灯printf("no fire!\r\n"); //串口打印提示信息//LCD更新数据LCDDrawFnt16(4+30,30+20*7,4,320,"未检测到火焰",0x0000,0xffff);}if(led_status == 0) //根据LED灯的状态控制LED灯的变化led_control(0); //关闭LED灯elseled_control(D3|D4); //点亮LED灯delay_ms(1000); //延时1秒}}
火焰传感器初始化
void flame_init(void){GPIO_InitTypeDef GPIO_InitStructure; //定义一个GPIO_InitTypeDef类型的结构体RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); //开启火焰相关的GPIO外设时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //选择要控制的GPIO引脚GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //设置引脚的输出类型为推挽GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; //设置引脚模式为输入模式GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; //设置引脚为下拉模式GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //设置引脚速率为2MHzGPIO_Init(GPIOB, &GPIO_InitStructure); //初始化GPIO配置}
获取火焰传感器状态
unsigned char get_flame_status(void){if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_10))return 1;elsereturn 0;}
八、项目思考
- 火焰传感器检测火焰信号的原理是什么?
- 火焰传感器在工业上有哪些应用?
- LiteOS操作系统如何移植进项目?
- 项目如何对接华为云平台?
详解智能建筑消防预警系统设计与实现相关推荐
- macd指标在实战应用中效果如何,如何证明MACD指标详解能起到预警的作用
<MACD指标详解>课程学员:如何判定MACD的实战效果? 同济桥博士:大家好,欢迎来到<MACD指标详解>课堂,我是老桥!因为这门课程也推出有半年多的时间了,我们也来总结一下 ...
- 详解:CDH预警配置 QQ邮箱 与 企业实操
CDH预警配置 QQ邮箱 一:在qq邮箱中开启SMTP服务 为什么要用qq邮箱 也可以用公司的,不过就是要下载app占用内存,没有qq邮箱方便,你也可以用手机短信提醒的 qq邮箱 --设置--账户 1 ...
- Python爬取酷狗音乐-详解(多图预警)
目录 1.前言 2.分析一下 1. 2. 3. 3.代码解释 4.完整代码 5.结语 1.前言 前面发布了一篇关于QQ音乐爬取的教程,但对于我们这种文艺青年来说,一个平台的歌曲怎么够我们听的,也是因为 ...
- Spark 3.2.0 版本新特性 push-based shuffle 论文详解(一)概要和介绍
前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...
- Spark 3.2.0 版本新特性 push-based shuffle 论文详解(二)背景和动机
前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...
- 地面指示标志_详解消防应急照明和疏散指示系统的施工及安装方法消防施工
详解消防应急照明和疏散指示系统的施工及安装方法消防施工 消防应急照明与疏散指示系统在生活中随处可见,相信您并不陌生,它是为人员疏散.消防作业提供照明和疏散指示的系统,由各类消防应急灯具及相关装置组成. ...
- python的图书管理项目教程_基于python图书馆管理系统设计实例详解
写完这个项目后,导师说这个你完全可以当作毕业项目使用了,写的很全,很多的都设计考虑周全,但我的脚步绝不止于现在,我想要的是星辰大海!与君共勉! 这个项目不是我的作业, 只是无意中被拉进来了,然后就承担 ...
- ElasticSearch预警服务-Watcher详解-Schedule配置
介绍 Watcher服务详解-定时器的设定 关于Schedule配置选择,Watcher提供了丰富的时间语法支持,采用UTC时间,来我们一起看下如何设置: 支持的设置方式: hourly:按小时周期设 ...
- python图书馆管理系统实验报告_基于python图书馆管理系统设计实例详解
写完这个项目后,导师说这个你完全可以当作毕业项目使用了,写的很全,很多的都设计考虑周全,但我的脚步绝不止于现在,我想要的是星辰大海!与君共勉! 这个项目不是我的作业, 只是无意中被拉进来了,然后就承担 ...
最新文章
- jsp连接mysql数据库 例子_jsp连接mysql数据库的例子
- 优秀的服务器托管服务商的必备要素
- 添加拦截器解析用户信息
- RabbitMQ -- Hello world
- oracle表复制为mysql表_oracle 将数据库的表复制到另一个数据库表内
- 台阶问题(洛谷P1192题题解,Java语言描述)
- 【Pre蓝桥杯嵌入式】【STM32】Unkown device
- asp.net常见数据类型
- Win 7 安装VMware Workstation Pro 14出现 “Intel VT-x禁用”问题以及“无法连接 MKS: 套接字连接尝试次数太多;正在放弃”问题的实质性解决
- 线性基——数集压缩自动机
- C语言运行时检查失败#2 周围的堆栈已损坏。
- 444 nginx_nginx发布静态资源
- 个人项目需求分析案例
- 局域网连接外网时,二级路由器设置
- 信奥赛一本通 C++题解 2041【例5.9】新矩阵
- 《麦田里的守望者》中最喜欢的两句话
- windows install clean up
- Linux(信号,进程间通信)共享内存,信号量,消息队列
- java毕业设计——基于java+JSP+MySQL的电脑彩票销售管理系统设计与实现(毕业论文+程序源码)——彩票销售管理系统
- android qq账号登陆验证手机号码,注册QQ号如何跳过手机验证
热门文章
- es6 Class 的 Generator函数
- ROS笔记(40) 通讯节点
- pcl中set程序_PCL中分割方法的介绍(3)
- 概率整形 Peobabilistic Shaping PS 第一节
- 画面设置_LOL手游设置界面翻译:基本设置/画面/音效/功能与快捷语音
- 分布式任务队列--Celery的学习笔记
- CF1060C Maximum Subrectangle
- 常见的问题:https://localhost:1158/em 无法打开
- 同步与异步阻塞与非阻塞
- C# Attribute(中)——Attribute本质论