<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          基于GD32 MCU的綠色智能家居

          作者:鐘景成 肖國林 時(shí)間:2015-05-14 來源:電子產(chǎn)品世界 收藏
          編者按:基于綠色節(jié)能的理念,在智能家居模型中加入了蓄電池、太陽能電池板、風(fēng)能發(fā)電機(jī),以GD32 MCU為控制核心,設(shè)計(jì)了紅外檢測、人體檢測、光控LED、溫度監(jiān)測和電子鎖等功能,并可通過GSM短信進(jìn)行報(bào)警。

          3.1.1 主控芯片——

          本文引用地址:http://www.ex-cimer.com/article/273274.htm

            本文采用的,型號為F103VKT6,該芯片具有3072KB的FLASH、96KB的SRAM、10個(gè)基本通用定時(shí)器、2個(gè)高級定時(shí)器、2個(gè)基本定時(shí)器、5個(gè)UART、3個(gè)12位16個(gè)通道ADC、2個(gè)12為DAC、以及看門狗(WDG)、內(nèi)部時(shí)鐘(RTC)、I2C、SPI、CAN2.0、USB2.0等豐富資源。

          3.1.2 GSM模塊

            GSM主要用于短信報(bào)警,該型號為SIM300,利用GD32的UART與該模塊進(jìn)行通信,通過發(fā)送AT指令可以在主人家里遇到狀況時(shí)以短信形式告知主人。

          3.1.3 TFT觸控彩屏

            采用320*240分辨率2.8寸TFT電阻屏,利用GD32外部存儲控制器(EXMC)總線直接驅(qū)動TFT數(shù)字彩屏。這種方案對相應(yīng)的寄存器進(jìn)行配置后就可以自動向TFT數(shù)字彩屏發(fā)送數(shù)據(jù),無需CPU參與,讓CPU有足夠時(shí)間來處理其他程序。

          3.1.4 輸入控制

            采用了4*4按鍵和彩屏觸摸輸入控制,可選擇任意一種方式進(jìn)行各項(xiàng)操作,例如,鎖屏、鎖定系統(tǒng)、修改報(bào)警溫度、修改時(shí)間、修改密碼、修改通知手機(jī)號、關(guān)閉各種報(bào)警開關(guān)等。采用GD32MCU進(jìn)行這些復(fù)雜的操作編寫系統(tǒng)運(yùn)行穩(wěn)定、順暢、進(jìn)行仿真調(diào)試方便。

          3.1.5 光控

            采用GD32MCU的內(nèi)部ADC采集光敏電阻電壓,從而實(shí)現(xiàn)白天自動關(guān)、晚上自動開啟的功能。

          3.1.6 紅外檢測

            紅外檢測裝置由發(fā)射管和接受管構(gòu)成,接受管是個(gè)具有光敏特征的PN結(jié),通過LM393比較器后可以得到供MCU識別的IO電平,需要注意的一點(diǎn)是,比較器輸出結(jié)構(gòu)一般是集電極開漏(OC),需要注意到GD32MCU的IO口可以配置多種模式,例如輸入口有上拉輸入、下拉輸入,輸出口有推挽輸出、開漏輸出。

          3.1.7 其他模塊

            該家居模型還安裝了DS18B20溫度傳感器、人體熱釋電紅外傳感器和采用內(nèi)部PWM驅(qū)動的報(bào)警蜂鳴器,由于篇幅有限,故不贅述。

          3.2 模型軟件構(gòu)架

            軟件架構(gòu)如圖2所示,程序初始化后進(jìn)入主循環(huán),初始化主要包括了系統(tǒng)時(shí)鐘、溫度傳感器、FLASH存儲器、圖形界面、蜂鳴器、報(bào)警和定時(shí)器的中斷初始化。主循環(huán)的主要任務(wù)是控制顯示屏背光、顯示屏界面元素的刷新、按鍵的處理等。其中按鍵處理子程序有多個(gè),根據(jù)程序所處的不同狀態(tài),會動態(tài)掛載不同的子程序。定時(shí)器3負(fù)責(zé)三個(gè)任務(wù),其中按鍵掃描的頻率比較高,通過隊(duì)列方式傳遞鍵盤數(shù)據(jù);門禁的定時(shí)用于產(chǎn)生自動關(guān)門信號;每隔一段時(shí)間檢測一次溫度。定時(shí)器6負(fù)責(zé)門禁檢測,通過紅隊(duì)對管對進(jìn)出門進(jìn)行掃描,同時(shí)也提供震蕩頻率驅(qū)動蜂鳴器進(jìn)行報(bào)警。所有定時(shí)器管理的任務(wù)都只實(shí)現(xiàn)檢測,通過消息的方式傳遞檢測到的數(shù)據(jù),主循環(huán)的任務(wù)根據(jù)共享內(nèi)存中的數(shù)據(jù)完成相應(yīng)任務(wù)。


          4 模型實(shí)現(xiàn)的功能

            在模型中充分利用了GD32 MCU的內(nèi)部資源和相應(yīng)功能,模擬了智能家居的場景,系統(tǒng)啟動后,采用菜單操作,可設(shè)置密碼、修改預(yù)存手機(jī)號碼、修改異常溫度值,還可通過短信方式獲取系統(tǒng)密碼,具有太陽能發(fā)電和風(fēng)能發(fā)電功能,通過紅外方式檢測進(jìn)出門,利用熱釋電紅外傳感器檢測非法入侵,可將火災(zāi)和非法入侵等信息利用短信進(jìn)行報(bào)警,還實(shí)現(xiàn)了溫度檢測和電子鎖等功能,在后續(xù)工作中將增加手機(jī)APP客戶端控制功能。

          5 GD32 MCU應(yīng)用前景

            該MCU產(chǎn)品主要面向工業(yè)和消費(fèi)類嵌入式應(yīng)用,如圖5所示,GD32 MCU適用于工業(yè)自動化、人機(jī)界面、電機(jī)控制、安防監(jiān)控、智能家居家電及物聯(lián)網(wǎng)等領(lǐng)域。

            中國的IC行業(yè)在全球中一直處于落后的地位,很多電子產(chǎn)品的核心IC都來源于國外半導(dǎo)體廠商。2014年12月12日,在《電子產(chǎn)品世界》雜志舉辦的“2014年度電子產(chǎn)品世界編輯推薦獎”評選中,兆易創(chuàng)新 GigaDevice GD32 系列Cortex-M3內(nèi)核微控制器系列產(chǎn)品獲得“最佳本土芯片”大獎。相信在不遠(yuǎn)的將來,GD32 系列MCU將得到更廣泛的應(yīng)用!

          參考文獻(xiàn):

            [1]楊文軍,丁林偉,田維剛,楊靖. 基于物聯(lián)網(wǎng)的智能家居安防系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 數(shù)字技術(shù)與應(yīng)用,2014,11:71-73

            [2]何遙. 未來智能家居的特點(diǎn)與趨勢[J]. 中國公共安全,2014,21:152-156

            [3]童曉渝,房秉毅,張?jiān)朴? 物聯(lián)網(wǎng)智能家居發(fā)展分析[J]. 移動通信,2010,09:16-20

            [4]邵鵬飛,王喆,張寶儒. 面向移動互聯(lián)網(wǎng)的智能家居系統(tǒng)研究[J]. 計(jì)算機(jī)測量與控制,2012,02:474-476

            [5]兆易創(chuàng)新發(fā)布多款GD32F103和GD32F101系列大容量增強(qiáng)型MCU[J]. 電子產(chǎn)品世界,2013,11:27

          光控開關(guān)相關(guān)文章:光控開關(guān)原理
          聲光控開關(guān)相關(guān)文章:聲光控開關(guān)原理
          矢量控制相關(guān)文章:矢量控制原理
          汽車防盜機(jī)相關(guān)文章:汽車防盜機(jī)原理

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();