黃古喬 李 卓
(桂林理工大學,廣西 桂林 541006)
在當今物聯網時代,新時代背景下的“物聯網+”智能家居作為劃時代的新型家電的代表,智能家居是以家為平臺,兼備建筑、自動化和智能化于一體的高效、舒適、安全、便利的家居環境[1]。
本文基于單片機控制系統的基礎之上設計一個智能窗簾控制系統,主要實現智能窗簾的基本功能,系統具備有光控、時控、遙控和手動四種模式,可根據當前的模式實現相應的功能。本設計主要用到的硬件模塊包括單片機、按鍵、液晶顯示屏、步進電機、光敏電阻、時鐘芯片和紅外遙控[2]。
采用STC89C51 單片機作為控制核心來實現智能窗簾的整體控制,同時,運用多個模塊分別實現各項要求,其中光控模塊使用光敏電阻來實現光亮度信息收集并量化;時間控制模塊使用DS1302 時鐘芯片,將信號傳送給1602 液晶顯示以實現時間日期的顯示和定時作用;手動控制使用按鍵控制模塊來實現模式的切換和窗簾的手動控制;遙控則是使用紅外接收頭再加上遙控器來實現。電機模塊和指示燈模塊相配合,用指示燈的亮與滅顯示電機運轉狀態,指示燈亮則電機正轉,指示燈滅則電機沒有正轉。為防止窗簾電機運行過快,設計時采用步進電機,設置步進電機的最大旋轉圈數用以實現窗簾的防過卷[3]。其智能窗簾系統框圖如圖1 所示。

圖1 智能窗簾系統框圖
STC89C51 單片機是一種抗干擾能力強、高性能、低功耗的8 位微控制器,包含8K 字節可擦除閃存只讀存儲器和256 位的隨機存取數據存儲器,STC89C51 單片機還含有Flash 存儲單元和8 位的中央處理器CPU[4-5]。
單片機的最小系統電路包括電源電路、晶振電路和復位電路。電源電路為單片機的引腳40、20 分別接電源和地。晶振電路是將晶振與單片機的工作引腳18、19 相并聯,用于起振給單片機提供震蕩電路,兩個電容的引腳分別接單片機的引腳18、19再接地。復位電路是將電容的正極與電源相連接,負極與單片機的復位腳相連接,同時電阻與電容并聯,電阻的另一腳接地。電路接線圖如圖2 所示。

圖2 單片機最小系統
DS1302 時鐘芯片是一款具有涓細電流充電能力的芯片,它擁有兩個電源引腳,即一個主電源加上一個備用電源,該芯片常用于與單片機構成時鐘模塊。DS1302的電路簡單、成本很低、使用方便,因此能夠被廣泛地應用。
芯片引腳1 和8 分別連接主電源和備用電源,當遇到主電源停止供電的情況時,會啟用紐扣電池作為備用電源供電的模式,利用備用電源來維持芯片的運轉,以保證時鐘芯片內部繼續計時,在下一次主電源開始供電以后能為單片機繼續提供正確的時間信息。引腳RST 即復位端,當該引腳為高電平時,初始化DS1302 芯片內部的數據;當該引腳為低電平時,芯片停止傳輸數據。
光敏電阻是利用半導體的光電效應制作而成的一種感光元件,電阻增大當光照強度增加時,電阻減小;當光照強度減小時,電阻會由小變大,但仍然小于原來的阻值;當無光照時,電阻會恢復到原來的阻值。
ADC0832 數模轉換器擁有8 位的分辨率,同時其擁有256級的分辨率,能夠將光敏電阻的光亮度模擬信號轉換成數字信號,再將信號傳送到單片機內進行處理,以此實現光敏電阻與單片機之間的連接與控制,AADC0832 模數轉換器在閑置狀態時,CS 端為高電平,此時芯片呈現出禁用狀態。當芯片開始使用時,CS 端為低電平狀態,此時芯片內部開始啟動模數轉換功能,在時鐘脈沖信號的配合之下,DI 端負責接收模擬信號,將信號經過模數轉換后由DO 端輸出。光照電路強度采集模塊由光敏電阻搭配ADC0832 模數轉換器來實現光控模式的功能,其電路圖如圖3 所示。

圖3 光照電路強度采集模塊電路
液晶顯示屏是一種體積小、重量輕、功耗低,用于顯示文本、圖形等的元器件,其良好的顯相體驗和極長的使用壽命使得被廣泛應用于各種智能設備[3]。
液晶顯示芯片的引腳3與電位器連接,屏幕顯示的對比度會隨著電位器阻值的改變而改變。引腳4與單片機的引腳P1.3相連接,用來做寄存器的選擇。引腳5 通過判斷輸入的電平高低執行讀指令或者寫指令,因此與單片機的引腳P1.4 相連接。通過判斷使能信號端口的電平是否由高變為低從而選擇是否運行,因此引腳6與單片機的引腳P1.5 相連接。引腳7-14 是液晶的數據/地址8 位總線,依次連接到單片機的P0.0 至P0.7端。
ULN2003 常用于小型電機驅動電路上,用于放大電路電流,使之與步進電機所需要的驅動電壓相匹配[4]。ULN2003 芯片左邊是信號輸入引腳,右邊是信號放大輸出引腳。由于步進電機有4 個驅動引腳,因此左邊需要接單片機的4 個輸出引腳,電機模塊如圖4 所示。

圖4 步進電機模塊電路圖
將紅外接收頭與單片機的引腳12 相連接,發送端為遙控器,負責讀取按鍵信息然后將信號發送到紅外接收頭。接收端為單片機與配套的紅外接組合成的接收模塊,負責濾波、放大和解調。其電路圖如圖5 所示。

圖5 紅外遙控模塊電路圖
按鍵部分是實現人機互動的最主要的部分,人們通常需要通過按鍵部分來操縱和調節產品的初始化,也在客戶使用的時候通過按鍵來實現相應的功能。在本次智能窗簾系統的設計中,一共有6 個按鍵,按鍵1-5 分別實現“切換模式”、“時間設置”、“閾值設置”、“加”、“減”等功能,按鍵6 為“電源開關”功能,按鍵輸入模塊電路圖如圖6 所示。

圖6 按鍵輸入模塊電路圖
本次智能窗簾的軟件部分使用Keil 作為編輯軟件,采用C語言作為編程語言進行輔佐,以STC89C51 單片機作為主體控制器的同時,運用多個模塊分別實現各項功能。整個設計圍繞著單片機最小系統展開,結合光敏電阻等外部傳感元器件,將環境因素的模擬信號轉換成可供單片機識別處理的數字信號,進一步控制窗簾的開啟與關閉。
本設計以51 單片機為整個系統的控制中心,搭配可實現不同功能的外圍電路,通過增添時鐘模塊、光照強度采集模塊、按鍵模塊、遙控模塊等來采集用戶欲達到的目的,同時通過顯示模塊和電機模塊給予用戶最直觀的反饋。系統整體成本低、功能多樣、操作簡單、安裝便捷,在兼顧舒適性、安全性、高效性、智能性、便捷性、環保性和美觀性的同時,創造了前所未有的全新生活環境,人們對生活的追求已不再是以往的單一模式,而是走向更加數字化、智能化。在這樣的大背景下,智能窗簾的市場競爭力會越來強。