單片機(jī)開(kāi)發(fā)
-
您當(dāng)前所在位置: 首頁(yè) >> 電子技術(shù) >> 單片機(jī)開(kāi)發(fā)
單片機(jī)智能窗簾系統(tǒng)
基于單片機(jī)智能窗簾控制系統(tǒng)設(shè)計(jì)
進(jìn)入二十一世紀(jì)后,隨著各類(lèi)科技的不斷發(fā)展,理論知識(shí)與生活實(shí)際的結(jié)合越來(lái)越密切,人們的生活水平不斷提高,與此同時(shí),應(yīng)用越來(lái)越廣泛的科技智能化也使得人們的隱私安全受到了很大的侵犯,所以人們對(duì)自身隱私的安全與否也愈加重視,而作為家庭住所中必備的窗簾,它對(duì)保護(hù)居民隱私與遮擋外部光線十分有用?,F(xiàn)在市面上大部分的傳統(tǒng)窗簾都需要手動(dòng)開(kāi)關(guān),這樣不僅吃力,而且還有可能錯(cuò)過(guò)最佳光照時(shí)間,所以窗簾的智能控制就顯得十分重要且有效了。
一、智能窗簾控制系統(tǒng)設(shè)計(jì)方案
該設(shè)計(jì)主要是實(shí)現(xiàn)光控窗簾系統(tǒng),其中包括光控、定時(shí)和手動(dòng)三種功能。因此需用借助各種接口和MCU連接這些控制元。應(yīng)用AT89C52系列單片機(jī)設(shè)計(jì)系統(tǒng),安裝ADC0832芯片、VS1838b、ULN2003芯片等,控制窗簾在不同光照下的打開(kāi)或是關(guān)閉。按鍵掃描模塊、紅外遙控模塊、光敏電阻、步進(jìn)電機(jī)、AT89C52共同構(gòu)成此次的設(shè)計(jì)系統(tǒng)。應(yīng)用光敏電阻采集模擬信號(hào)通過(guò)模數(shù)轉(zhuǎn)換A/D電路將其轉(zhuǎn)換成數(shù)字信息,并以此來(lái)操控步進(jìn)電機(jī)順時(shí)針旋轉(zhuǎn)或是逆時(shí)針旋轉(zhuǎn)來(lái)模擬窗簾的起閉。自動(dòng)光控起閉窗簾運(yùn)用的是光控的原理來(lái)完成的,當(dāng)外部的光線強(qiáng)度到達(dá)系統(tǒng)內(nèi)部預(yù)設(shè)值上限時(shí),窗簾被打開(kāi);當(dāng)外部的光線強(qiáng)度到達(dá)系統(tǒng)內(nèi)部預(yù)設(shè)值下限時(shí),窗簾被關(guān)閉?;谝陨瞎ぷ髟?,設(shè)計(jì)系統(tǒng)的實(shí)現(xiàn)不僅成本低,而且還方便快捷,實(shí)現(xiàn)的結(jié)原理圖如圖1:
除此之外,窗簾的自動(dòng)起閉還可以通過(guò)時(shí)間來(lái)預(yù)先設(shè)置或是直接通過(guò)按鍵來(lái)啟動(dòng)關(guān)閉窗簾。該系統(tǒng)優(yōu)點(diǎn)較多,結(jié)構(gòu)較單一,系統(tǒng)穩(wěn)定,不易受外部環(huán)境的干擾。
二、單片機(jī)智能窗簾控制系統(tǒng)硬件設(shè)計(jì)
2.1主程序模塊
該系統(tǒng)采用AT89C52單片機(jī)晶振電路,所謂的石英晶體振蕩器即是單片機(jī)電路中的晶振。晶振通常是一個(gè)電容和電阻并聯(lián)之后再串聯(lián)上一個(gè)電容,存在兩個(gè)諧振點(diǎn),諧振串聯(lián)在一起是低頻率的;諧振并聯(lián)在一起是高頻率的。晶體振蕩器可以給單片機(jī)提供脈沖信號(hào),也即單片機(jī)的工作速度。晶體振蕩器會(huì)和單片機(jī)引腳中的X1、X2引腳相連接,此時(shí)這個(gè)電路會(huì)引生諧波,而諧波的存在會(huì)使得振蕩器的穩(wěn)定性受到影響。為了解決這個(gè)問(wèn)題,我們?cè)诰д褚_處接入瓷片電容,這個(gè)電容一般選擇在10到50 pF,需要接地。此次設(shè)計(jì)使用的晶振是12MHz的石英晶體。
2.2按鍵模塊
該次設(shè)計(jì)中按鍵模塊的功能是在自動(dòng)光照窗簾之外,能夠通過(guò)按鍵來(lái)定時(shí)使窗簾關(guān)閉或是直接用按鍵來(lái)控制窗簾的打開(kāi)或是關(guān)閉。此次設(shè)計(jì)需要用到5個(gè)獨(dú)立按鍵。它們分別實(shí)現(xiàn)的功能有設(shè)定鍵(設(shè)定自動(dòng)光控窗簾的啟閉時(shí)間);數(shù)字值加鍵;數(shù)字值減鍵;啟動(dòng)窗簾按鍵(按下此鍵后窗簾被打開(kāi));關(guān)閉窗簾鍵(按下此鍵后窗簾被關(guān)閉)。
2.3光敏和AD轉(zhuǎn)換模塊
自動(dòng)光控起閉窗簾系統(tǒng)是根據(jù)外部光照的情況變化來(lái)及時(shí)地打開(kāi)或是關(guān)閉窗簾,光敏電阻負(fù)責(zé)完成此部分所需要的功能。光敏電阻能夠?qū)ν獠抗庹諒?qiáng)度值感應(yīng)十分敏感,對(duì)電阻值的改變與否有著直接作用。電阻值與光照強(qiáng)度呈負(fù)相關(guān),強(qiáng)度增加電阻值減少,反之則電阻增大。
ADC0832是8位逐次逼近模數(shù)轉(zhuǎn)換器。與TLC0832可以代換,它有兩個(gè)可多路選擇的輸入通道。串行輸出可配置為和標(biāo)準(zhǔn)移位寄存器或微處理器接口,其多路器可用軟件配置為單端或差分輸入,差分的模擬電壓輸入可以抑制共模電壓,但輸入基準(zhǔn)電壓不可以調(diào)整大小,在內(nèi)部已經(jīng)連到VCC。ADC0832芯片有四條數(shù)據(jù)連接線,它們分別與單片機(jī)相連接,分別是CS片選端;CLK芯片時(shí)鐘輸入端;DI數(shù)據(jù)信號(hào)輸入端;DO數(shù)據(jù)信號(hào)輸出端。在單片機(jī)進(jìn)行通信時(shí),DI與DO端都是與單片機(jī)雙向連接的且它們不能同時(shí)生效工作,所以在電路中將此兩端并聯(lián)起來(lái)到一根數(shù)據(jù)線上。
兩端數(shù)據(jù)分別顯示為1、0時(shí),CH0引腳端實(shí)現(xiàn)單通道轉(zhuǎn)換。CH1引腳端進(jìn)行單通道轉(zhuǎn)換在2位數(shù)據(jù)為1、1的情況下。CH1引腳端和CH0引腳端在數(shù)據(jù)顯示為0、0時(shí)分別用作反輸入端IN-和正輸入端IN+。兩位數(shù)據(jù)顯示為0、1時(shí),CH1和CH0的正負(fù)輸入端極性發(fā)生變化。若第三個(gè)脈沖下沉,DI端在第三個(gè)脈沖來(lái)之前就會(huì)失去輸入功用。采用DO/DI端輸出數(shù)據(jù)來(lái)輸出DO。用DO端來(lái)輸出轉(zhuǎn)換數(shù)據(jù)的DATA7當(dāng)?shù)谒膫€(gè)脈沖下沉?xí)r。DO端在D0端輸送出最低位數(shù)據(jù)DATA0之前會(huì)一直輸入數(shù)據(jù),輸出數(shù)據(jù)是在每個(gè)脈沖下沉之前。接收到DATA0數(shù)據(jù)之后這一字節(jié)數(shù)據(jù)就輸出結(jié)束了。之后再輸出相反字節(jié)數(shù)據(jù)。將CS片選使能引腳端置為高電平,此時(shí)芯片不能使用。AD轉(zhuǎn)換芯片的輸入電壓均為0到5V,此電壓僅適用于它被作為單通道的模擬信號(hào)時(shí)。它的電壓的精度在八位分辨率時(shí)是19.53mV,當(dāng)用作正負(fù)輸入端時(shí),應(yīng)該預(yù)定較大的范疇值的電壓值,并用次來(lái)提升轉(zhuǎn)換時(shí)的精度。
2.4步進(jìn)電機(jī)設(shè)計(jì)模塊
步進(jìn)電機(jī)是一種開(kāi)環(huán)的節(jié)制器件,角位移就是在其電脈沖的轉(zhuǎn)換下得來(lái)的,脈沖信號(hào)的頻率和數(shù)目會(huì)影響到電機(jī)的轉(zhuǎn)動(dòng)。例如當(dāng)一個(gè)脈沖信號(hào)輸送到步進(jìn)電機(jī)的驅(qū)動(dòng)器時(shí),其可以使得此電機(jī)按照我們先前假設(shè)的正方向或是反方向轉(zhuǎn)動(dòng)一個(gè)一定的角度,我們稱(chēng)此角為步距角。步進(jìn)電機(jī)可以快速地開(kāi)啟和停止。步進(jìn)電機(jī)由于轉(zhuǎn)速和步進(jìn)角的關(guān)系多被用在精度較高的電路中,而這些只與脈沖的頻率相關(guān)聯(lián)。
ULN2003的七個(gè)引腳與單片機(jī)P1.0~P1.7連接。在ULN2003芯片旁邊安裝插線排針,也就是電機(jī)的五線接口,用于連接步進(jìn)電機(jī)。5V電源直接連接J4的第一引腳端口。與電機(jī)相連接,直接驅(qū)動(dòng)電機(jī)正反轉(zhuǎn)從而來(lái)模擬控制窗簾的起閉。步進(jìn)電機(jī)是包括單相電機(jī)和多相電機(jī)兩類(lèi),這兩類(lèi)都是同步步進(jìn)電機(jī)。單路電脈沖可以驅(qū)使單相電機(jī)運(yùn)作,單相電機(jī)由于其本身的低輸出功率一般用作驅(qū)使微小電路。步進(jìn)電機(jī)很適合應(yīng)用于微處理器控制主要是因?yàn)槟苤苯咏邮諗?shù)字量。
2.5顯示部分模塊
該次設(shè)計(jì)中用來(lái)顯示實(shí)時(shí)時(shí)間、開(kāi)關(guān)窗簾定時(shí)時(shí)間、光照強(qiáng)度值的是LCD1602,在1602上顯示的時(shí)間可以通過(guò)按鍵調(diào)整,通過(guò)按鍵設(shè)定起閉窗簾的時(shí)間,在1602上實(shí)時(shí)顯示;也可以通過(guò)1602顯示我們采集到的光照數(shù)字值。P0在此用作數(shù)據(jù)口的連接,在1602處與7到14引腳相連接,在連接線路上來(lái)傳輸寫(xiě)數(shù)據(jù)或是寫(xiě)指令。而且在線路的連接中必須加入上拉電阻。LCD1602的4引腳是RS寄存器選擇端,可以用來(lái)選擇數(shù)據(jù)還是命令;LCD1602的5腳是R/W讀寫(xiě)控制端,它能決定讀數(shù)據(jù)還是寫(xiě)數(shù)據(jù),與單片機(jī)芯片的P2.0端口貫串;LCD1602的六引腳是E使能信號(hào)端,可以控制器件是否工作,與單片機(jī)芯片P2.2端口相銜接。在此次設(shè)計(jì)中采用旋轉(zhuǎn)電位器來(lái)調(diào)節(jié)1602的背光亮度。
三、智能窗簾控制系統(tǒng)軟件設(shè)計(jì)
此系統(tǒng)的主程序需要完成的功能有:?jiǎn)纹瑱C(jī)各個(gè)模塊的初始化操作,定時(shí)器初值設(shè)置以及開(kāi)啟電機(jī)運(yùn)轉(zhuǎn),顯示時(shí)間光照數(shù)字量等。通過(guò)主函數(shù)void main()來(lái)調(diào)用各個(gè)模塊子函數(shù)以此來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。軟件流程圖如圖7。
總結(jié)
該系統(tǒng)設(shè)計(jì)采用AT89S52單片機(jī)的最小系統(tǒng)設(shè)計(jì),通過(guò)控制一個(gè)可逆、直流電動(dòng)機(jī)來(lái)控制窗簾的打開(kāi)和關(guān)閉,使用遙控、光控方式使得窗簾系統(tǒng)變得智能化,這正符合現(xiàn)在智能家居的發(fā)展方向,能夠讓智能生活理念得到更好的推廣。
以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的基于單片機(jī)智能窗簾控制系統(tǒng)設(shè)計(jì)流程。我們有豐富的智能電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是松翰單片機(jī)代理商、應(yīng)廣單片機(jī)代理商,出售并開(kāi)發(fā)sonix與應(yīng)廣的MCU與語(yǔ)音IC方案。我們代理并開(kāi)發(fā)杰理、安凱、全志、realtek等系列的IC與方案,還開(kāi)發(fā)BLE藍(lán)牙IC、雙模藍(lán)牙模塊、wifi模塊、物聯(lián)網(wǎng)模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙開(kāi)發(fā)、wifi技術(shù)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
注:部分圖片內(nèi)容來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪除。
- 返回頂部