倪春暉 楊俊偉
收稿日期:2023-07-13
基金項(xiàng)目:2023年教育部供需對接就業(yè)育人項(xiàng)目(20230110155);揚(yáng)州大學(xué)廣陵學(xué)院大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(YJ202331)
DOI:10.19850/j.cnki.2096-4706.2023.22.034
摘? 要:隨著高新技術(shù)及電子器件的發(fā)展,光控、溫控及遙控窗簾應(yīng)運(yùn)而生,給人們的生活帶來很多方便。因此,研究和設(shè)計(jì)智能窗簾控制系統(tǒng)具有深遠(yuǎn)的實(shí)際意義。系統(tǒng)設(shè)計(jì)的主控模塊選取STM32F103C8T6單片機(jī)。選取串口屏SDWa043C03T作為人機(jī)交互模塊,負(fù)責(zé)顯示采集到的溫度和濕度。選取DHT11作為濕度采集模塊,熱敏電阻作為溫度采集模塊,通過BH1750采集室內(nèi)光照強(qiáng)度,利用HC-05作為藍(lán)牙模塊。所設(shè)計(jì)的智能窗簾成本更加經(jīng)濟(jì),結(jié)構(gòu)更加簡單可靠,控制方式更加豐富便捷。
關(guān)鍵詞:STM32F103C8T6;光照強(qiáng)度;溫度;濕度;藍(lán)牙
中圖分類號:TP27? ? 文獻(xiàn)標(biāo)識碼:A? ? 文章編號:2096-4706(2023)22-0156-05
Design of Intelligent Curtain Based on STM32
NI Chunhui, YANG Junwei
(Guangling College of Yangzhou University, Yangzhou? 225000, China)
Abstract: With the development of high and new technology and electronic devices, light control, temperature control and remote control curtains come into being, bringing much convenience to people's lives. Therefore, the research and design of an intelligent curtain control system has far-reaching practical significance. The main control module of the system design selects STM32F103C8T6 Single-Chip Microcomputer. The serial screen SDWa043C03T is selected as the human-computer interaction module, and it is responsible for displaying the collected temperature and humidity. The DHT11 is selected as the humidity acquisition module. The thermistor is selected as the temperature acquisition module. It collects the indoor light intensity by BH1750, and uses HC-05 as a Bluetooth module. The cost of the designed intelligent curtain is more economical, the structure is more simple and reliable, and the control mode is more abundant and convenient.
Keywords: STM32F103C8T6; light intensity; temperature; humidity; Bluetooth
0? 引? 言
隨著電子信息技術(shù)高速發(fā)展,人們的生活水平逐步提高。人們對美好生活的期盼也不斷提高,智能化的家居產(chǎn)品需求也越來越旺盛。有需求就會有市場,各種智能家居噴涌而出,例如:智能門鎖、智能櫥柜、智能音箱、智能臺燈等。這些產(chǎn)品的出現(xiàn)使人們的生活更加的便利。因?yàn)槿藗儗χ悄芗揖拥男枨蟠?,并且智能家居有著廣泛的市場。所以,在目前階段,智能家居系統(tǒng)的產(chǎn)生就非常有必要。智能家居是現(xiàn)代電子技術(shù)、通信技術(shù)及自動化技術(shù)相結(jié)合的產(chǎn)物。因?yàn)楦咝阅芸刂菩酒牟粩喈a(chǎn)生,電子和控制技術(shù)不斷提高,所以現(xiàn)在市場上出現(xiàn)了很多的智能化的窗簾,例如光控窗簾、聲控窗簾,抑或是通過藍(lán)牙技術(shù)即可遙控的窗簾。生活因?yàn)檫@些智能化家居的產(chǎn)生而變得更加美好,正因如此,研究和設(shè)計(jì)更為可靠的智能窗簾控制系統(tǒng)具有深遠(yuǎn)的現(xiàn)實(shí)意義。本文的智能窗簾主要朝著家居的智能化、自動化方向發(fā)展。通過結(jié)合藍(lán)牙、串口屏、單片機(jī)等元件對升降窗簾進(jìn)行一些改造,使得升降窗簾更加智能化,更能滿足人們對智能家居的需求[1]。
1? 方案的總體設(shè)計(jì)
系統(tǒng)是以單片機(jī)最小系統(tǒng)為核心控制,由溫度采集電路、濕度采集電路、光照強(qiáng)度采集電路、藍(lán)牙控制電路[2]、電機(jī)電路和顯示電路組成。利用溫度采集電路實(shí)時采集室內(nèi)溫度。采用濕度采集電路實(shí)時采集室內(nèi)濕度,通過光照強(qiáng)度采集電路實(shí)時采集室內(nèi)的光照強(qiáng)度,對采集到的光照強(qiáng)度進(jìn)行處理[3],進(jìn)而發(fā)出指令控制窗簾的狀態(tài)。通過藍(lán)牙模塊實(shí)現(xiàn)對窗簾的遙控,并基于串口屏實(shí)現(xiàn)溫濕度顯示,以及控制模式的選擇,再通過對電機(jī)的控制實(shí)現(xiàn)對窗簾運(yùn)動的控制。圖1為系統(tǒng)架構(gòu)框圖。
智能窗簾擁有2種工作模式:自動模式、手動模式[4]。自動模式是通過光照強(qiáng)度采集模塊采集室內(nèi)光照強(qiáng)度,發(fā)送給單片機(jī),單片機(jī)判斷采集到的光照強(qiáng)度。如果光照強(qiáng)度過大,則單片機(jī)發(fā)送指令給電機(jī),控制窗簾降下,從而使室內(nèi)的光照強(qiáng)度下降到一個合適的范圍內(nèi)。如果光照強(qiáng)度過小,則單片機(jī)發(fā)送指令給電機(jī),控制電機(jī)上升,從而使室內(nèi)的光照強(qiáng)度上升到一個合適的范圍內(nèi)[5]。而手動模式主要依靠的串口屏,通過串口屏配置的頁面,可以進(jìn)行手動和自動模式的切換,也可以通過配置的按鈕進(jìn)行對窗簾運(yùn)動的控制,還可以通過手機(jī)藍(lán)牙進(jìn)行對窗簾的遙控。
2? 系統(tǒng)硬件設(shè)計(jì)
2.1? STM32F103C8T6最小系統(tǒng)
最小系統(tǒng)主要有以下五大部分:電源電路、時鐘電路、調(diào)試電路、復(fù)位電路、控制芯片。
2.2? 溫度采集方案設(shè)計(jì)
室內(nèi)溫度的范圍一般是-10 ℃至40 ℃,而熱敏電阻的測溫范圍完全可以滿足這一范圍,并且其具有穩(wěn)定性好、過載能力強(qiáng)的特點(diǎn)。測溫電路采用3.3 V供電,熱敏電阻與10 kΩ的電阻相連接,R1作為補(bǔ)償電阻,即當(dāng)熱敏電阻溫度變化時將相對應(yīng)的輸出電壓線性化。PA0為輸出。通過此方案設(shè)計(jì)能夠?qū)?10 ℃至40 ℃的溫度通過傳感器采集,且誤差在±5%。
2.3? 光照強(qiáng)度采集電路設(shè)計(jì)
BH1750的能夠檢測到0~65 535勒克斯(Lux)范圍內(nèi)的光照強(qiáng)度,誤差變動為±20%。輸出的是檢測到的光照強(qiáng)度的數(shù)字值,這種數(shù)值相較于其他傳感器輸出的模擬量而言更加容易處理。BH1750引腳1為VCC采用3.3 V電源供電。引腳6為SCL,IIC時鐘線,時鐘輸入引腳。引腳4為SDA,IIC數(shù)據(jù)線,用來傳輸數(shù)據(jù)。引腳2為ADDR。引腳3為GND。引腳5為DVI。通過此方案設(shè)計(jì)將室內(nèi)的0~10 000勒克斯(Lux)光照強(qiáng)度通過傳感器采集,測量精度為±20% Lux。光照強(qiáng)度采集電路圖如圖2所示。
2.4? 濕度采集電路設(shè)計(jì)
DHT11濕度檢測范圍為20%~90%相對濕度(RH),精度范圍為±5%相對濕度(RH)。擁有較高的可靠性和穩(wěn)定性,抗干擾能力強(qiáng)。DHT11一共3個引腳,引腳1是VCC,使用3.3 V電源進(jìn)行供電,引腳2是DOUT輸出數(shù)據(jù),引腳3是GND接地。通過此方案設(shè)計(jì)能夠?qū)?0%~90%相對濕度(RH)通過傳感器采集,且誤差在±5%相對濕度(RH)。
2.5? 藍(lán)牙電路設(shè)計(jì)
藍(lán)牙電路圖如圖3所示。HC-05藍(lán)牙模塊傳輸距離為10 m,波特率最低可至4 800 bit/s,最高可以達(dá)到1 382 400 bit/s。藍(lán)牙模塊與單片機(jī)之間的通信方式為串口通信。HC-05藍(lán)牙模塊引腳1是EN。引腳2是VCC,使用3.3 V電源供電,引腳3是GND接地。引腳4是TXD用來發(fā)送藍(lán)牙模塊的輸出數(shù)據(jù),通過連接單片機(jī)的RXD,使單片機(jī)接收到藍(lán)牙模塊發(fā)送的數(shù)據(jù)。引腳5是RXD用來接收單片機(jī)發(fā)送給藍(lán)牙模塊的數(shù)據(jù),通過連接單片機(jī)的TXD,使藍(lán)牙模塊接收到單片機(jī)發(fā)送的數(shù)據(jù)。引腳6是STATE。通過此方案可以實(shí)現(xiàn)手機(jī)藍(lán)牙對智能窗簾的遙控。
2.6? 電機(jī)驅(qū)動電路設(shè)計(jì)
該設(shè)計(jì)使用的電機(jī)為28BYJ-48步進(jìn)電機(jī)。此電機(jī)一般配備的驅(qū)動板為ULN2003。ULN2003是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品[6],它具有以下特點(diǎn):具有比較高的電流增益、工作時的電壓比較高、工作的溫度范圍比較廣、帶負(fù)載能力強(qiáng)。ULN2003驅(qū)動板使用5 V電源供電,單片機(jī)的4個I/O口分別連接驅(qū)動板的IN1、IN2、IN3和IN4。通過I/O口輸出高低電平來實(shí)現(xiàn)電機(jī)的控制。通過此方案設(shè)計(jì)可以實(shí)現(xiàn)對28BYJ-48步進(jìn)電機(jī)的控制,進(jìn)而實(shí)現(xiàn)對窗簾的控制。
2.7? STM32F103C8T6配置
該設(shè)計(jì)采用的主控芯片為STM32F103C8T6[7],它需要通過SMT32cubeMX進(jìn)行I/O口、時鐘、串口的配置。為便于在串口屏上顯示出實(shí)時時間,因此需要配置一個定時器,STM32使用內(nèi)部高速振蕩器即HSI通過鎖相環(huán)PLL倍頻到72 MHz。時間走時采用TIM2,選取內(nèi)部時鐘,Prescaler配置為7 199,Counter Period配置為9 999,這樣配置的時間就為1秒。
為保證串口屏SDWa043C03T和單片機(jī)之間順利通信,因此需要在SMT32cubeMX中配置串口,這里選取USART1作為串口屏與單片機(jī)通信的串口,波特率配置為115 200 bit/s,字節(jié)長度為8個字節(jié),停止位為1個字節(jié)。PA9配置為USART1_TX通過與串口屏SDWa043C03T的RX連接,將單片機(jī)的指令傳輸給串口屏SDWa043C03T。PA10配置為USART1_RX通過與串口屏SDWa043C03T的TX連接,將串口屏的指令傳輸給單片機(jī)。溫度采集是使用的AD采集,因此要在SMT32cubeMX中配置ADC1,選取IN0,其對應(yīng)的I/O口為PA0。濕度采集采用DHT11溫濕度檢測模塊,它有3個引腳,分別是VVC、GND和DOUT,配置PB9的GPIO mode為input mode。用來接收DHT11溫濕度模塊采集到的濕度值。光照強(qiáng)度采集采用BH1750光照強(qiáng)度檢測模塊,此模塊通信方式采用IIC,因此配置PB0為SDA,配置PB1為SCL。藍(lán)牙模塊采用的是HC-05藍(lán)牙模塊,藍(lán)牙模塊和單片機(jī)之間的通信方式是串口通信,因此藍(lán)牙模塊和串口屏一樣都需要配置串口,這里選取USART2作為藍(lán)牙模塊與單片機(jī)通信的串口,波特率配置為115 200 bit/s,字節(jié)長度為8個字節(jié),停止位為1個字節(jié)。PA2配置為USART2_TX通過與藍(lán)牙模塊的RX連接,將單片機(jī)的指令傳輸給藍(lán)牙模塊。PA3配置為USART1_RX通過與藍(lán)牙模塊的TX連接,將藍(lán)牙模塊的指令傳輸給單片機(jī)。28BYJ-48步進(jìn)電機(jī)使用ULN2003驅(qū)動板進(jìn)行驅(qū)動,因此需要單片機(jī)4個I/O口對其進(jìn)行控制,PA4、PA5、PA6及PA7均設(shè)置為output,分別連接ULN2003驅(qū)動板的IN1、IN2、IN3及IN4。通過這四個I/O口輸出高低電平進(jìn)而控制電機(jī)的正轉(zhuǎn)反轉(zhuǎn)。STM32F103C8T6配置圖如圖4所示。
3? 系統(tǒng)軟件設(shè)計(jì)
智能窗簾的主程序主要包括:溫度采集程序、光照強(qiáng)度采集程序、濕度采集程序、藍(lán)牙控制程序和串口屏SDWa043C03T顯示及控制程序等。系統(tǒng)上電后,首先進(jìn)行初始化,串口屏SDWa043C03T開始開機(jī)動畫、溫度采集、濕度采集,等待串口屏SDWa043C03T開機(jī)動畫播放完畢后,進(jìn)入主頁面進(jìn)行溫度和濕度的顯示,還可以在主頁面進(jìn)行自動和手動模式的切換,同時主頁面有時間的顯示,還可以對時間進(jìn)行調(diào)時,可以通過定時控制按鈕進(jìn)入定時控制頁面,設(shè)置定時打開窗簾和定時關(guān)閉窗簾的時間[8]。通過打開定時和關(guān)閉定時2個按鈕來控制定時功能的打開和關(guān)閉。手動模式是通過升上窗簾、降下窗簾和停止窗簾3個按鈕來對窗簾進(jìn)行控制。自動模式通過采集到的光照強(qiáng)度來對窗簾進(jìn)行控制。每種控制都會加上限位,即通過紅外對管檢測窗簾的位置來控制窗簾的停止。主程序流程圖如圖5所示。
本設(shè)計(jì)采用的是熱敏電阻進(jìn)行溫度采集,因此通過AD進(jìn)行采集,將采集到的電壓值通過計(jì)算轉(zhuǎn)化成溫度。利用DHT11進(jìn)行濕度采集[9],DHT11采用單總線雙向串行通信協(xié)議。通過通信得出實(shí)時的濕度值。并且通過BH1750進(jìn)行光照強(qiáng)度的檢測,單片機(jī)通過IIC總線的方式與該模塊進(jìn)行通信,進(jìn)而得出實(shí)時的光照強(qiáng)度,進(jìn)而實(shí)現(xiàn)對窗簾的自動控制。選取HC-05模塊作為藍(lán)牙控制,藍(lán)牙和單片機(jī)之間是串口通信。通過串口通信的方式實(shí)現(xiàn)對窗簾的遙控。選取串口屏SDWa043C03T作為顯示屏,單片機(jī)通過串口的方式與該屏幕實(shí)現(xiàn)通信,通過該屏幕進(jìn)行溫濕度及時間顯示,也可以通過該屏幕發(fā)送對窗簾的控制指令。
4? 實(shí)物及調(diào)試
實(shí)物整體照片如圖6所示。通過下方的串口屏實(shí)現(xiàn)對窗簾的手動控制,并且串口屏負(fù)責(zé)顯示時間及溫濕度,兩個限位開關(guān)負(fù)責(zé)限位,熱敏電阻負(fù)責(zé)測溫,BH1750負(fù)責(zé)檢測光照強(qiáng)度,DHT11負(fù)責(zé)檢測濕度。
本系統(tǒng)設(shè)計(jì)選用串口屏SDWa043C03T作為顯示與控制模塊,因此串口屏與單片機(jī)之間的通信就很重要。需要用到串口屏來顯示室內(nèi)的溫度、濕度以及時間,這些數(shù)據(jù)是單片機(jī)通過串口發(fā)送給串口屏,因此要用到單片機(jī)的TX和串口屏的RX。本設(shè)計(jì)還可以通過串口屏進(jìn)行模式的選擇、調(diào)時、定時以及手動控制窗簾,這些數(shù)據(jù)是串口屏發(fā)送給單片機(jī),這就用到了串口屏的TX和單片機(jī)的RX。因此在使用串口屏前需要對串口屏進(jìn)行一些調(diào)試,來確保串口屏和單片機(jī)之間可以正常通信。時鐘的走時和調(diào)時用到TX與RX,因此選取時鐘的走時與調(diào)時來測試串口屏與單片機(jī)之間的通信[10]。
溫濕度顯示及時間顯示如圖7所示。在屏幕的左下角分別顯示室內(nèi)的溫度及濕度,溫度單位為攝氏度,濕度按百分比來顯示,時間在屏幕的左上角。點(diǎn)擊定時開關(guān)進(jìn)入定時控制頁面,點(diǎn)擊自動模式,窗簾工作模式進(jìn)入自動模式并進(jìn)入自動模式頁面,點(diǎn)擊手動模式,窗簾工作模式進(jìn)入手動模式并進(jìn)入手動模式頁面??梢渣c(diǎn)擊時間進(jìn)行對時間的調(diào)時。
根據(jù)表中的數(shù)據(jù)可以看出,溫度采集存在些許誤差,誤差為±1 ℃,在誤差允許的范圍內(nèi)。用手指觸摸熱敏電阻,通過Debug可以看到溫度值隨著手指的觸摸而升高。由以上數(shù)據(jù)和測試可以得出該采集電路可以達(dá)到測量室內(nèi)溫度的目的的結(jié)論。濕度采集調(diào)試中通過Debug進(jìn)行數(shù)據(jù)查看,用對著DHT11吹氣的方式查看濕度變化。具體采集數(shù)據(jù)如表2所示。
根據(jù)表中的數(shù)據(jù)可以看出,濕度采集存在些許誤差,誤差為±2%,在誤差允許的范圍內(nèi)。對著DHT11吹氣,通過Debug可以看到濕度值會因?yàn)榇禋舛?。由以上?shù)據(jù)和測試得出該采集電路可以達(dá)到測量室內(nèi)濕度的目的的結(jié)論。
定時控制如圖8所示??梢渣c(diǎn)擊打開窗簾和關(guān)閉窗簾后面的時和分進(jìn)行定時時間的選擇,然后點(diǎn)擊打開定時,進(jìn)入定時模式。點(diǎn)擊關(guān)閉定時則退出定時模式。點(diǎn)擊返回按鈕,返回到模式選擇頁面。藍(lán)牙控制如圖9所示。點(diǎn)擊降下窗簾,控制電機(jī)將窗簾降下。點(diǎn)擊升上窗簾,控制電機(jī)將窗簾升上。點(diǎn)擊停止窗簾,電機(jī)停止運(yùn)動,窗簾停止。點(diǎn)擊自動模式,窗簾工作模式進(jìn)入自動模式。點(diǎn)擊降下窗簾、升上窗簾和停止窗簾這三個按鈕都可以使其退出自動模式。
5? 結(jié)? 論
本系統(tǒng)設(shè)計(jì)的智能窗簾因?yàn)檫x取DHT11作為濕度檢測模塊,因此可以檢測室內(nèi)的濕度,使用者可以通過串口屏直觀地了解到室內(nèi)的濕度情況。此外,還選取了熱敏電阻電路作為溫度檢測模塊,使用者可以通過串口屏了解到室內(nèi)的溫度。HC-05藍(lán)牙模塊的使用,使得使用者可以通過手機(jī)APP對窗簾實(shí)行遙控。BH1750光照強(qiáng)度檢測模塊的使用,使得智能窗簾變得更加智能化,其可以讀取室內(nèi)的光照強(qiáng)度,通過將采集到的數(shù)據(jù)發(fā)送到單片機(jī),單片機(jī)處理數(shù)據(jù),進(jìn)而控制窗簾的升降,使得室內(nèi)的光照強(qiáng)度處于一個適宜的狀態(tài)。該智能窗簾適用人群廣泛。在如今各種智能產(chǎn)品遍地的情況下,一些老年人由于不會使用智能手機(jī)就顯得落伍,一些智能產(chǎn)品也不知道該如何去控制。本窗簾可以通過串口屏上的按鍵進(jìn)行模式切換與手動模式進(jìn)行控制。方便老年人使用。年輕人可以通過手機(jī)進(jìn)行遙控,也可以選擇其他模式進(jìn)行控制。此智能窗簾設(shè)計(jì)使得窗簾自動化程度更高,更加智能化,更能滿足人們對智能家居的需求。
參考文獻(xiàn):
[1] 申贊偉,殳國華,張士文,等.基于STM32的智能家居物聯(lián)網(wǎng)系統(tǒng)實(shí)驗(yàn)設(shè)計(jì) [J].實(shí)驗(yàn)室研究與探索,2022,41(2):60-63+93.
[2] 付心儀,張鶴,薛程,等.智能家居綜合實(shí)驗(yàn)平臺設(shè)計(jì)研究與應(yīng)用實(shí)踐 [J].包裝工程,2022,43(16):50-58+108.
[3] 劉小濱,劉寅,沈文浩.基于STM32單片機(jī)的環(huán)境溫/濕度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì) [J].中國造紙學(xué)報(bào),2022,37(3):118-125.
[4] 單立軍,孔永華.基于STM32單片機(jī)的智能窗控制系統(tǒng)設(shè)計(jì) [J].東華大學(xué)學(xué)報(bào):自然科學(xué)版,2021,47(6):84-90.
[5] 陳卯純,孫薇,趙小惠.物聯(lián)網(wǎng)智能家居中的人機(jī)交互 [J].包裝工程,2014,35(2):64-67.
[6] 朱禮智,張艷君.現(xiàn)代老年公寓智能家居系統(tǒng)的設(shè)計(jì) [J].包裝工程,2013,34(10):31-33+94.
[7] 郭宇.人工智能與家居設(shè)計(jì) [J].包裝工程,2017,38(16):12-15.
[8] 繆珂,肖亦奇,施斌.新中產(chǎn)生活情境下智能家居產(chǎn)品設(shè)計(jì)策略研究 [J].包裝工程,2021,42(18):410-415.
[9] 馬曉娜,張雨欣,于茜.基于多模態(tài)信息交互的智能家居設(shè)計(jì)研究 [J].包裝工程,2022,43(16):59-67+115.
[10] 王基策,李意蓮,賈巖,等.智能家居安全綜述 [J].計(jì)算機(jī)研究與發(fā)展,2018,55(10):2111-2124.
作者簡介:倪春暉(2000—),男,漢族,江蘇淮安人,本科在讀,研究方向:控制理論與控制系統(tǒng);通訊作者:楊俊偉(1990—),男,漢族,江蘇揚(yáng)州人,講師,博士,研究方向:風(fēng)力發(fā)電控制及流動測量。