- 相關推薦
基于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和串口通信的紅外防盜報警系統設計】相關文章:
基于Vxworks實時操作系統的串口通信程序設計與實現03-18
景區防盜報警系統簡析03-15
串口通信在雙機冗余系統中應用03-20
住宅小區防盜報警系統方案03-19
基于ISD語音芯片的報警系統03-07
基于通信器S1503的門禁系統的設計03-19
基于CAN總線的對等式火災報警系統03-18
基于CPLD的系統中I2C總線的設計03-18