- 相關推薦
基于C和串口通信的紅外防盜報警系統(tǒng)設計
選擇熱釋電紅外傳感器搭建報警電路, 采用被動式紅外線探測技術,通過無線傳輸報警信號,用串口完成單片機與PC的通信,用C#完成對紅外線報警軟件的編程,實現(xiàn)上下位機報警、異地報警的功能。下面是小編搜集整理的相關內(nèi)容的論文,歡迎大家閱讀參考。
引言
隨著時代的不斷進步,人們對自己所處環(huán)境的安全性提出了更高的要求,尤其是在家居安全方面。由于紅外線是不可見光,有很強的隱蔽性和保密性,白天黑夜均可使用,而且抗干擾能力強。因此在防盜、警戒等安保裝置中得到了廣泛的應用。此外,在電子防盜、人體探測等領域中,被動式熱釋電紅外探測器也以其價格低廉、技術性能穩(wěn)定等特點而得到了廣泛的應用。本文以被動式熱釋電紅外探測器及單片機為核心電路,設計了能通過串口與PC機交互監(jiān)控信息的紅外防盜報警系統(tǒng)。
一、紅外線報警技術
存在于自然界的,任何溫度高于絕對零度的物體都會產(chǎn)生黑體輻射,溫度越高,輻射越強,輻射波長越短。人體的體溫為37 攝氏度左右,在這個溫度上的物體輻射波長在紅外區(qū)。
被動式紅外探測器主要由光學系統(tǒng)、熱傳感器(或稱為紅外傳感器)及報警控制器等部分組成,其核心是紅外探測器件,通過光學系統(tǒng)的配合作用可以探測到某個立體防范空間內(nèi)的熱輻射的變化[1]。被動紅外探測的基本原理就是利用特殊的紅外接收元件感應人體發(fā)出的紅外源,從而判斷是否有人進入監(jiān)控區(qū)域。在無人或動物進入探測區(qū)域時,現(xiàn)場的紅外輻射穩(wěn)定不變,一旦有人體紅外線輻射進來,經(jīng)光學系統(tǒng)聚焦就使熱釋電器件產(chǎn)生突變電信號,而發(fā)出警報[2]。
二、紅外報警系統(tǒng)硬件芯片及整體設計
本文設計的紅外線報警系統(tǒng)分為子報警系統(tǒng)和父報警系統(tǒng),采用被動式熱釋電紅外傳感器,同時配合菲涅爾透鏡使得檢測距離更遠,信號處理方面利用芯片BISS0001 對傳感器產(chǎn)生的脈沖信號進行濾波、放大、并將輸出信號傳遞給單片機STC89C52,單片機控制語音芯片進行發(fā)聲報警,控制無線傳輸模塊無線傳輸、串口通信,最終完成異地雙報警的功能。
本設計采用價格便宜,性能良好的熱釋電紅外傳感器RE200B, 一種基于熱電效應原理的熱電型紅外傳感器,能以非接觸式檢測出物體放出的紅外線能量變化,并將其轉(zhuǎn)換為電信號輸出。處理電路核心采用BISS0001 芯片,BISS0001 是一款具有較高性能的傳感信號處理集成電路,它配以熱釋電紅外傳感器和少量外接元器件構成被動式的熱釋電紅外開關[5]。單片機選用目前使用比較廣泛的STC89C52,其內(nèi)部含有大容量的Flash 存儲器,在日常生活中有著廣泛的應用。語音芯片采用華邦公司的ISD1760,它不僅可以多段錄音,而且還有獨立按鍵和SPI 兩種工作模式供選擇。設計中選用無線通訊模塊采用基于凌陽61 單片機系列的模塊,該無線傳輸模組以 nRF2401A 芯片為核心,提供了一路的無線發(fā)射和兩路的無線接收功能,可以很方便地將其運用于51 系列單片機上進行無線通信。
中左端D1 為熱釋電紅外傳感器,經(jīng)2 腳輸出后,通過電容耦合,并經(jīng)過運放組成的帶通濾波器和增益放大, 電阻組成偏置電路,將運放偏置電壓設在1/2VCC 上。由于熱釋電紅外傳感器輸出的探測信號電壓十分微弱而且是一個變化的信號,所以就需要傳感器信號處理電路處理傳感器發(fā)出的微弱信號, 將其濾波、放大,最終輸出的信號雜波少且有足夠大的增益驅(qū)動下一級電路[4]。由OP2 輸出的檢測信號和單片機相接,實現(xiàn)智能控制。
將傳感器檢測與接收電路模塊中BISS0001 接入單片機,單片機接入LED 電路,當沒有報警信號時,控制綠燈亮,檢測到報警信號時,控制紅燈閃爍;同時單片機控制蜂鳴器發(fā)聲,無線模塊向父報警系統(tǒng)發(fā)送報警信號。
單片機不斷檢測無線通訊模塊是否收到報警信號,若沒有收到,則控制綠燈亮,紅燈滅;若收到則控制紅燈閃,綠燈滅,同時控制語音報警電路發(fā)出已錄好的聲音提示報警,并通過串口和PC 機進行通信。
三、紅外報警系統(tǒng)的軟件設計
子報警系統(tǒng)的信號是由傳感器檢測端輸入,將其引入單片機,作為開關量,當檢測到輸入為高電平時,相當于“開關”閉合,報警系統(tǒng)進入報警狀態(tài),單片機控制相應的報警模塊報警。子報警系統(tǒng)程序流程圖。
父報警系統(tǒng)的輸入信號是由子報警系統(tǒng)通過無線通信模塊傳輸過來,父報警系統(tǒng)接收到報警信號后,進入報警狀態(tài)單片機控制相應的報警模塊動作,并和PC 進行通信。父報警系統(tǒng)流程圖。
PC 報警系統(tǒng)軟件選用Microsoft Visual Studio 2012 環(huán)境下的C#語言編寫,C#語言本身深受 Java、C 和 C++ 的影響。C#是一個語言,ASP.net 是一個平臺,上面支持用C#或者VB.Net 寫代碼[6]。C#不但可以開發(fā)基于ASP.net 的應用程序,也可以開發(fā)基于WinForm 的程序[3]。
NET 2.0 提供了對串口通信功能的支持,這其中最為重要的是SerialPort 類。SerialPort 控件用于控制串行端口文件資源[2]。SerialPort 類提供同步I/O 和事件驅(qū)動的I/O、對引腳和中斷狀態(tài)的訪問,以及對串口驅(qū)動程序?qū)傩缘脑L問,支持ASCIIEncoding、UTF8Encoding、UnicodeEncoding、UTF32Encoding 以及mscorlib.dll 中定義的編碼。
系統(tǒng)軟件的編程主要是串口數(shù)據(jù)的接收,判斷接收到的數(shù)據(jù)是否為字符“b”,如果是彈出對話框報警,并實例化一個TEXT 類textreceive 為接收顯示區(qū)。
數(shù)據(jù)接收的編程是系統(tǒng)軟件編程實現(xiàn)的重點。數(shù)據(jù)的接收采用事件響應驅(qū)動方案。事件響應驅(qū)動下的串口輸入緩沖區(qū)數(shù)據(jù)讀。.NET 中封裝了SerialPort 類表示串行端口資源。,命名空間: System.IO.Ports , 實現(xiàn)過程:
<1>在設計器編輯串口serialport1 的DataReceived 事件,
<2>加入 textreceive.text 作為串口接收數(shù)據(jù)的顯示組件
<3>在DataReceived 事件響應函數(shù)中讀取串口輸入緩沖區(qū)中的數(shù)據(jù)DataReceived 事件響應函數(shù)修改為如下:
private void serialPort1_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e)
{
serialReadString = serialPort1.ReadExisting();
this.textreceive.Invoke
if (serialReadString == "b")MessageBox.Show("有人闖入!", "警告");
}
}
當有人進入傳感器檢測范圍內(nèi)時,子報警系統(tǒng)和父報警系統(tǒng)相繼報警,同時電腦報警系統(tǒng)軟件彈出對話框顯示“有人進入”。提示報警。
報警系統(tǒng)軟件運行成功,達到監(jiān)控報警系統(tǒng)要求。
四、結(jié)論
紅外線報警器廣泛應用于生活之中,為人們生活安全提供保障。本文采用被動式紅外線探測技術,利用熱釋電紅外傳感器作為傳感器,并設計出子報警系統(tǒng)和父報警系統(tǒng),兩者進行無線通信,父系統(tǒng)和PC 機之間進行串口通信,最終設計出來的紅外線報警系統(tǒng),可以成功完成子系統(tǒng)、父系統(tǒng)、PC 三報警的功能,達到了系統(tǒng)監(jiān)控報警的功能要求。
[參考文獻]
[1] 劉舒祺,施國梁.基于熱釋電紅外傳感器的報警系統(tǒng) [J].國外電子元器件,2005,(3):18~20.
[2] 羅晴蘭. RS-485 總線通信技術在紅外線報警系統(tǒng)中的應用[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# 入門經(jīng)典[M].北京:人民郵電出版社,2005.
【基于C和串口通信的紅外防盜報警系統(tǒng)設計】相關文章:
基于SNMP及串口通信的網(wǎng)絡監(jiān)控與報警系統(tǒng)03-07
基于Vxworks實時操作系統(tǒng)的串口通信程序設計與實現(xiàn)03-18
景區(qū)防盜報警系統(tǒng)簡析03-15
串口通信在雙機冗余系統(tǒng)中應用03-20
基于ISD語音芯片的報警系統(tǒng)03-07