基于C和串口通信的红外防盗报警系统设计

时间:2023-03-26 03:39:15 硕士毕业论文 我要投稿
  • 相关推荐

基于C和串口通信的红外防盗报警系统设计

  选择热释电红外传感器搭建报警电路, 采用被动式红外线探测技术,通过无线传输报警信号,用串口完成单片机与PC的通信,用C#完成对红外线报警软件的编程,实现上下位机报警、异地报警的功能。下面是小编搜集整理的相关内容的论文,欢迎大家阅读参考。

       引言

  随着时代的不断进步,人们对自己所处环境的安全性提出了更高的要求,尤其是在家居安全方面。由于红外线是不可见光,有很强的隐蔽性和保密性,白天黑夜均可使用,而且抗干扰能力强。因此在防盗、警戒等安保装置中得到了广泛的应用。此外,在电子防盗、人体探测等领域中,被动式热释电红外探测器也以其价格低廉、技术性能稳定等特点而得到了广泛的应用。本文以被动式热释电红外探测器及单片机为核心电路,设计了能通过串口与PC机交互监控信息的红外防盗报警系统。

  一、红外线报警技术

  存在于自然界的,任何温度高于绝对零度的物体都会产生黑体辐射,温度越高,辐射越强,辐射波长越短。人体的体温为37 摄氏度左右,在这个温度上的物体辐射波长在红外区。

  被动式红外探测器主要由光学系统、热传感器(或称为红外传感器)及报警控制器等部分组成,其核心是红外探测器件,通过光学系统的配合作用可以探测到某个立体防范空间内的热辐射的变化[1]。被动红外探测的基本原理就是利用特殊的红外接收元件感应人体发出的红外源,从而判断是否有人进入监控区域。在无人或动物进入探测区域时,现场的红外辐射稳定不变,一旦有人体红外线辐射进来,经光学系统聚焦就使热释电器件产生突变电信号,而发出警报[2]。

  二、红外报警系统硬件芯片及整体设计

  本文设计的红外线报警系统分为子报警系统和父报警系统,采用被动式热释电红外传感器,同时配合菲涅尔透镜使得检测距离更远,信号处理方面利用芯片BISS0001 对传感器产生的脉冲信号进行滤波、放大、并将输出信号传递给单片机STC89C52,单片机控制语音芯片进行发声报警,控制无线传输模块无线传输、串口通信,最终完成异地双报警的功能。

  本设计采用价格便宜,性能良好的热释电红外传感器RE200B, 一种基于热电效应原理的热电型红外传感器,能以非接触式检测出物体放出的红外线能量变化,并将其转换为电信号输出。处理电路核心采用BISS0001 芯片,BISS0001 是一款具有较高性能的传感信号处理集成电路,它配以热释电红外传感器和少量外接元器件构成被动式的热释电红外开关[5]。单片机选用目前使用比较广泛的STC89C52,其内部含有大容量的Flash 存储器,在日常生活中有着广泛的应用。语音芯片采用华邦公司的ISD1760,它不仅可以多段录音,而且还有独立按键和SPI 两种工作模式供选择。设计中选用无线通讯模块采用基于凌阳61 单片机系列的模块,该无线传输模组以 nRF2401A 芯片为核心,提供了一路的无线发射和两路的无线接收功能,可以很方便地将其运用于51 系列单片机上进行无线通信。

  中左端D1 为热释电红外传感器,经2 脚输出后,通过电容耦合,并经过运放组成的带通滤波器和增益放大, 电阻组成偏置电路,将运放偏置电压设在1/2VCC 上。由于热释电红外传感器输出的探测信号电压十分微弱而且是一个变化的信号,所以就需要传感器信号处理电路处理传感器发出的微弱信号, 将其滤波、放大,最终输出的信号杂波少且有足够大的增益驱动下一级电路[4]。由OP2 输出的检测信号和单片机相接,实现智能控制。

  将传感器检测与接收电路模块中BISS0001 接入单片机,单片机接入LED 电路,当没有报警信号时,控制绿灯亮,检测到报警信号时,控制红灯闪烁;同时单片机控制蜂鸣器发声,无线模块向父报警系统发送报警信号。

  单片机不断检测无线通讯模块是否收到报警信号,若没有收到,则控制绿灯亮,红灯灭;若收到则控制红灯闪,绿灯灭,同时控制语音报警电路发出已录好的声音提示报警,并通过串口和PC 机进行通信。

  三、红外报警系统的软件设计

  子报警系统的信号是由传感器检测端输入,将其引入单片机,作为开关量,当检测到输入为高电平时,相当于“开关”闭合,报警系统进入报警状态,单片机控制相应的报警模块报警。子报警系统程序流程图。

  父报警系统的输入信号是由子报警系统通过无线通信模块传输过来,父报警系统接收到报警信号后,进入报警状态单片机控制相应的报警模块动作,并和PC 进行通信。父报警系统流程图。

  PC 报警系统软件选用Microsoft Visual Studio 2012 环境下的C#语言编写,C#语言本身深受 Java、C 和 C++ 的影响。C#是一个语言,ASP.net 是一个平台,上面支持用C#或者VB.Net 写代码[6]。C#不但可以开发基于ASP.net 的应用程序,也可以开发基于WinForm 的程序[3]。

  NET 2.0 提供了对串口通信功能的支持,这其中最为重要的是SerialPort 类。SerialPort 控件用于控制串行端口文件资源[2]。SerialPort 类提供同步I/O 和事件驱动的I/O、对引脚和中断状态的访问,以及对串口驱动程序属性的访问,支持ASCIIEncoding、UTF8Encoding、UnicodeEncoding、UTF32Encoding 以及mscorlib.dll 中定义的编码。

  系统软件的编程主要是串口数据的接收,判断接收到的数据是否为字符“b”,如果是弹出对话框报警,并实例化一个TEXT 类textreceive 为接收显示区。

  数据接收的编程是系统软件编程实现的重点。数据的接收采用事件响应驱动方案。事件响应驱动下的串口输入缓冲区数据读。.NET 中封装了SerialPort 类表示串行端口资源。,命名空间: System.IO.Ports , 实现过程:

  <1>在设计器编辑串口serialport1 的DataReceived 事件,

  <2>加入 textreceive.text 作为串口接收数据的显示组件

  <3>在DataReceived 事件响应函数中读取串口输入缓冲区中的数据DataReceived 事件响应函数修改为如下:

  private void serialPort1_DataReceived(object sender,

  System.IO.Ports.SerialDataReceivedEventArgs e)

  {

  serialReadString = serialPort1.ReadExisting();

  this.textreceive.Invoke

  if (serialReadString == "b")MessageBox.Show("有人闯入!", "警告");

  }

  }

  当有人进入传感器检测范围内时,子报警系统和父报警系统相继报警,同时电脑报警系统软件弹出对话框显示“有人进入”。提示报警。

  报警系统软件运行成功,达到监控报警系统要求。

  四、结论

  红外线报警器广泛应用于生活之中,为人们生活安全提供保障。本文采用被动式红外线探测技术,利用热释电红外传感器作为传感器,并设计出子报警系统和父报警系统,两者进行无线通信,父系统和PC 机之间进行串口通信,最终设计出来的红外线报警系统,可以成功完成子系统、父系统、PC 三报警的功能,达到了系统监控报警的功能要求。

  [参考文献]

  [1] 刘舒祺,施国梁.基于热释电红外传感器的报警系统 [J].国外电子元器件,2005,(3):18~20.

  [2] 罗晴兰. RS-485 总线通信技术在红外线报警系统中的应用[J].电工电气,2012,(5):26~30.

  [3] 刘锐宁.宋坤Visual C#2012 控件使用范例详解 [M].北京:清华大学出版社,2012.

  [4] 董吉虹,白明,郎培,解峰,梁为.热释电红外报警器的设计 [J].天津理工大学学报,2007.10:71~74

  [5] 杨波.陈忧先.热释电红外传感器的原理和应用[J].仪表技术,2012,6:66~68.

  [6] James Foxall. Visual C# 入门经典[M].北京:人民邮电出版社,2005.

【基于C和串口通信的红外防盗报警系统设计】相关文章:

探讨基于多种通信方式并存的配网自动化通信系统06-01

基于web的异地并行设计与制造系统研究06-02

基于PLC的断路器型式试验系统设计03-10

基于电话网络的热网远程控制系统设计05-11

分析基于三维扫描的特种设备管理系统设计论文05-26

C语言程序设计 (一)05-11

基于dsp三相变流器滑模变结构控制(c)06-03

卫星移动通信系统的论文(通用7篇)07-26

操控系统无线通信论文(精选8篇)07-27

基于J2EE的远动系统Web实时曲线的研究05-11