莫強華
(鄭州工業應用技術學院,河南 鄭州451100)
從節約能源方面以及使用效果考慮,未來智能化的家居必然代替傳統的家居,人們對于照明不再僅僅局限于燈光的亮滅,而是更在乎其體驗感。一般而言,人們在午夜的時候,對于燈光的亮度需求不會太高,只需要簡單的照明即可,同時白天的時候,對于光照強度大的地方,也不需要燈光。對于在傍晚時分,人們對于燈光的智能化要求最高。若僅僅依靠光敏電阻的感光來決定燈光的強弱,顯然無法完成復雜的控制。并且其可靠性低,易被外界光照干擾,同時午夜時分的燈光亮度最高,白白浪費能源。為解決該現象,同時結合傳統燈光控制手段,設計一種基于紅外控制的無線調光燈。
本系統設計的功能如下:
2.1.1 按鍵1 按下或者紅外按鍵長按切換模式(自動模式,手動模式)。
2.1.2 按鍵2 或者紅外按鍵短按調節燈亮度,屏幕會顯示亮度具體值。
2.1.3 自動模式MODE : automatic,表示模式為自動模式;PERSON:NO 表示:附近無人PERSON :YES 表示附近有人,LIGHT:H_light 表示光照強度充足。
2.1.4 自動模式下,光照強度充足則關閉燈;光照強度不足時,若附近無人光照強度為20%,若監測到有人在附近則光照強度為100%。
本設計利用單片機作為主控制芯片,采用OLED 作為顯示模塊,通過按鍵或者紅外遙控器控制燈的開關。總體框圖如下圖1 所示。

圖1 總體框圖
選擇STM32F1 系列處理器作為主控芯片,該系列單片機內核頻率相對較高,運行內存和FLASH 充足,運行速度快。而且外設資源豐富,且具備常用通信總線。可以完成本設計控制,而且方便后期系統升級。
考慮到本產品顯示部分較多,需要顯示燈光亮度等級,因此無法使用數碼管作為顯示器部分,從價格以及使用壽命方面考慮,選擇OLED 顯示屏作為顯示器。利用驅動芯片SSD1306 控制OLED,可采用SPI 或者IIC 進行單片機與OLED 之間的通訊,OLED 具有主動發光的特性,無需背光源,每個點都可以自己發光,可顯示漢字、圖案等,并且屏幕具有較寬的視角,即使從側面看,顯示部分也不會失真。
本設計用兩個按鍵模塊控制對燈的亮度的調節,一個按鍵用來增加亮度,另外一個實現降低亮度。采用接下拉電阻的按鍵,當IO 口設置輸入模式,常態低電平,按鍵按下時輸入高電平。
本設計采用的紅外接收模塊型號為HX18388,可以數據數字量,供電電壓為5V,可以通過串口對其接收數據之后對其進行解析。
熱釋電紅外接收模塊也是基于紅外線技術的自動控制產品,人離開之后可以自動輸出低電平,同時可以設置延時時間。該模塊還自帶光敏電阻,可以通過硬件跳線選擇是否設置該項。
硬件原理總圖如圖2 所示。
系統在上電復位后,先對單片機系統、紅外遙控模塊、OLED顯示模塊等各個硬件模塊初始化、賦予初始默認值,設置定時器及中斷系統的工作方式等初始化工作。在系統初始化完成之后,OLED 屏上顯示“MODE/PERSON/LIGHT”等信息,同時熱釋電人體紅外傳感器模塊一直處于激活狀態,若人體處于其感應范圍內時,輸出高電平;人離開其探測范圍時,自動將引腳電平拉低。另外其紅外接收端一直處于接收狀態,當接收到紅外遙控器發出的信號后,通過解調后執行相關指令。

圖2 硬件原理總圖
為方便展示,本設計利用面包板作為底板,將各模塊通過焊接的方式與主控制芯片連接在一起。將主控制器通電,電源指示燈常亮,同時OLED 屏幕顯示出亮度等級、模式、附近是否有人信息。此時,可以利用紅外遙控器對其進行燈亮度調節,或者使用按鍵開關對其進行調節。整體調試圖片如圖3 所示。

圖3 總體調試頁面
本設計是基于單片機的紅外調光燈設計,第一點要做的就是要保證紅外傳感器的接收與發射的正確,在我調試該部分時,發現解碼成功率不高,通過查閱資料以及實際測量電路發現,紅外發光二極管與其限流電阻內部接觸不良導致遙控器失靈,解碼成功率不高。在OLED 屏顯示界面中,因為要進行幾個頁面的切換,所以都要進行清屏處理,但是如果每刷新一次屏幕都清屏一次,會出現刷屏的問題,后來我想到UCOSII 操作系統里的向量集思想,在每個界面刷新設置一個標志位,只在每次界面切換的時候刷新一次屏幕,這樣就解決了刷屏的問題。在熱釋電紅外傳感器模塊的學習過程中,一開始對這個模塊沒有了解,無從下手,后來請教他人,自己也在網上找資料,了解整個模塊的工作流程以及工作原理,使用時只需要對其通電,讀取其輸出引腳的高低電平狀態即可。