張 婷
(山西大學商務(wù)學院,山西 太原 030031)
我想有個家,我想有個溫暖的家。家是每個人的舒適地帶,忙碌了一天回到家可以全身心放松自己。隨著社會的發(fā)展,近些年,智能家居在家裝領(lǐng)域被人們的接受度越來越高。智能家居可以讓人們有更加方便舒適的居家體驗。智能家居涉及家用的方方面面,比如燈具、空調(diào)、窗簾、電視、廚房電器和清潔電器等。除了常用電器外,智能音箱、智能玩具等也在慢慢被人們所接受。智能百寶箱可以為夢想擁有自己首飾盒、化妝盒或者私藏物品盒的人們提供美好的體驗。盒子的閉合與否可以由手機來進行控制,然后美美的欣賞自己收藏的物品、首飾。如果在環(huán)境光比較暗時還可以手機控制百寶箱內(nèi)LED燈光打開,還可以邊欣賞、試戴,邊聽優(yōu)美的音樂。智能首飾盒是基于單片機開發(fā)的小規(guī)模智能家用物品。智能首飾盒包含的藍牙模塊,不僅包含了單片機串口通信的知識點,還可以掌握對外部設(shè)備LED、蜂鳴器的控制,而且播放音樂可以通過程序編寫實現(xiàn)私人定制。項目將有用和有趣集于一身,不僅提高了學生的學習興趣,還有助于培養(yǎng)學生創(chuàng)新思維。
智能百寶箱由單片機控制主電路、LED模塊、蜂鳴器、繼電器模塊和藍牙模塊組成。系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
圖1中單片機模塊是整個控制系統(tǒng)的核心,通過單片機串口連接藍牙???,可以發(fā)送給手機藍牙信號或者接收手機藍牙發(fā)來的數(shù)據(jù),還可以通過接收判斷藍牙數(shù)據(jù)從而控制LED燈亮滅、閃爍;控制蜂鳴器發(fā)聲;控制繼電器從而模擬鎖開關(guān)。外圍電路中藍牙模塊采用的HC08可以實現(xiàn)80m范圍內(nèi)通信,LED模塊中有光敏電阻可以在開鎖后,由單片機控制LED燈亮滅。蜂鳴器采用了無源蜂鳴器,可以編寫程序自行實現(xiàn)音樂播放。
圖1 智能百寶箱結(jié)構(gòu)框圖
智能百寶箱項目采用STC89系列為核心控制器件。單片機想要工作,需要有時鐘電路、供電電路及復(fù)位電路配合[1-2]。AT89C52為常用的時鐘電路采用內(nèi)部時鐘電路,配合外部12M晶振和電容與XTAL1和XTAL2連接組成,為單片機提供基本的機器周期脈沖。單片機復(fù)位電路為手動復(fù)位電路,當單片機發(fā)生異常工作時可通過復(fù)位按鈕讓單片機復(fù)位[2],當然單片機復(fù)位電路也可以用上電自動復(fù)位,上電后自動復(fù)位。
單片機STC89系列共有40個引腳,4個8位I/O口,串口接口在P3.0和P3.1,連接藍牙模塊P1口接LED燈,蜂鳴器接P2.7口,繼電器接P2.6口。
藍牙是一種短距離無線技術(shù)標準,可實現(xiàn)設(shè)備之間的短距離無線通信,最新版的5.0協(xié)議通信距離100m。藍牙通信可以讓有線的通信變?yōu)闊o線,代替全雙工通信時的連線。智能百寶箱項目采用了HC08藍牙模塊,采用藍牙4.0協(xié)議,通信頻段2.4KG,通信參考距離為80m[3]。
藍牙模塊與單片機的連接方式如圖2,藍牙模塊的發(fā)送接單片機的P3.0串口接收,藍牙模塊的接收接單片機的P3.1串口發(fā)送。即可進行串行通信,實現(xiàn)數(shù)據(jù)的收發(fā)。
圖2 單片機與藍牙模塊連接
在智能百寶箱項目中,將藍牙設(shè)為發(fā)送,單片機寫入接收程序即可實現(xiàn),手機藍牙控制LED燈亮滅,控制蜂鳴器發(fā)聲功能。
手機端采用串口調(diào)試軟件,可實現(xiàn)數(shù)據(jù)的發(fā)送,以及接收數(shù)據(jù)觀察。
常見的蜂鳴器分為有源蜂鳴器和無源蜂鳴器。源是指內(nèi)容是否有振蕩源。有源蜂鳴器加電壓即可發(fā)聲,無源蜂鳴器則需要一定頻率的方波信號驅(qū)動。智能百寶箱利用單片機的P2.7口輸出方波信號驅(qū)動蜂鳴器發(fā)聲。蜂鳴器實際使用中需要加PNP三級管進行驅(qū)動,驅(qū)動電路如圖3所示。
圖3 蜂鳴器驅(qū)動電路
繼電器是用較小的輸入電流控制較大的輸出電流的一種開關(guān)器件,當輸入量達到規(guī)定值時,開關(guān)閉合或者導(dǎo)通從而控制外圍電路開閉[4]。
圖4 繼電器驅(qū)動電路
如圖單片機控制的為一個雙路繼電器,繼電器有常閉端和常開端,當單片機控制三極管B極高電平時三極管截止,從而線圈流過一定的電流后,產(chǎn)生的磁效應(yīng)將常開端接通,從而發(fā)光二極管點亮;反之當單片機控制三極管B極低電平三極管導(dǎo)通,從而繼電器斷開。智能百寶箱的鎖可以用繼電器來進行模擬開合。當繼電器閉合時LED點亮,代表開鎖。
LED模塊采用普通彩色發(fā)光二極管,與單片機采用低電平驅(qū)動方式進行連接,采用此種連接方式驅(qū)動電流大。即單片機P1口控制位低電平則發(fā)光二極管點亮。通過程序還可實現(xiàn)不同的LED點亮狀態(tài),從而形成炫彩LED效果。
項目具有可擴展性,甚至可以加入點陣模塊,在播放歌曲同時可以顯示相關(guān)字符。比如在之前的課程環(huán)節(jié),加入了“我愛我的祖國”點陣顯示項目。
智能百寶箱項目的核心問題就是采用了藍牙連接單片機的串口,并通過手機連接藍牙模塊。手機和藍牙模塊的連接采用一般的藍牙助手軟件即可實現(xiàn)連接。主要問題是單片機的串口程序。
單片機的串口項目較常見的如雙機通信、多機通信可以觀察數(shù)據(jù)在多機之間傳輸并通過LED燈的亮滅進行驗證數(shù)據(jù)正確與否,項目具有一般性,沒有藍牙項目具有有趣適用性,更能激發(fā)學生的學習興趣。
智能百寶箱中單片機和藍牙的通信可以采用串口的方式1或者方式2,3均可實現(xiàn)。本文采用了串口的方式3??傮w流程如圖5所示,首先確保手機和藍牙模塊連接成功,連接成功后藍牙模塊進入慢閃狀態(tài),接著單片機進行串口初始化,然后一直等待手機發(fā)來的數(shù)據(jù),如果有數(shù)據(jù)進行比對,并根據(jù)比對結(jié)果跳轉(zhuǎn)到相應(yīng)功能。比如比對數(shù)據(jù)發(fā)現(xiàn)是開燈指令,就讓單片機控制LED燈點亮。
串口初始化過程,首先設(shè)置串口工作方式寄存器SCON,SM0和SM1為11,即選擇了串口工作方式3,REN=1允許接收,其余各位設(shè)為0。所以初始化SCON=0XD0。波特率不倍增,PCON寄存器為0。接著設(shè)置波特率,藍牙模塊通信波特率為9600,所以設(shè)置定時計數(shù)器波特率也為9600。采用定時計數(shù)器T1方式2,設(shè)置TCON=0X20,TH1=0XFD,TL1=0XFD。最后啟動定時計數(shù)器,單片機串口初始化完成[5]。串口接收程序當通過while(RI==0)判斷接收完成后進行RI清零。
圖5 主程序流程圖
智能百寶箱采用無源蜂鳴器,當單片機產(chǎn)生不同頻率方波信號時,就能發(fā)出不同音調(diào)。不同音調(diào)的頻率可以在網(wǎng)上查找。比如低音5所對應(yīng)的頻率為392Hz,那么周期就是頻率分之一,可計算出周期T,讓單片機引腳持續(xù)T/2的高電平再持續(xù)T/2的低電平即可控制蜂鳴器發(fā)出低音5。項目重點在于串口,所以定時采用了普通的延時,比如1個12us的延時程序,裝入不同次數(shù)即可得到低音5的音調(diào),根據(jù)以上原理就可以得到不同音調(diào)的延遲時間。
想要播放音樂除了音調(diào)還需要控制每個音調(diào)播放的音長,根據(jù)譜子可以設(shè)定不同音長的值,假設(shè)一拍為12個時間單片,那么1/2拍為6,1/4拍為4,從而寫成一段音樂的音長數(shù)組。
有了音符和音長數(shù)組就成功了一半。通過判斷數(shù)組是否完畢從而判斷歌曲是否播放完畢,如果沒有播放完畢就在音長的時間內(nèi)以音符的頻率讓蜂鳴器不斷取反,直到歌曲播放完畢。從而實現(xiàn)利用無源蜂鳴器播放自己喜歡的歌曲。將課程思政融入單片機課程項目的點點滴滴,百寶箱項目中,帶領(lǐng)同學們實現(xiàn)了《我和我的祖國》歌曲的片段演奏,并順便觀看了建國70周年短視頻,讓學生們時刻心懷愛國情愫。
核心代碼如下:
while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)
{
for(j=0;j { BEEP=~BEEP; delay12u(SONG_TONE[i]); } i++; } 百寶箱項目課下設(shè)計時,學生可通過Proteus軟件實現(xiàn)對LED,繼電器和蜂鳴器控制的仿真。Proteus軟件是較為強大的單片機仿真軟件,平時學生自己設(shè)計沒有硬件時可通過仿真軟件先驗證設(shè)計的思路,課上再利用實物進行驗證,大大提高了設(shè)計效率。 藍牙通信模塊,可通過電腦串口助手觀察數(shù)據(jù)。 智能百寶箱通過單片機實物驗證,可以正常使用。智能百寶箱不僅具有實用的存儲功能還滿足了少女夢、寶箱夢,也可以作為孩子重要物品的收納箱。 單片機課程采用百寶箱項目可以讓學生形象的掌握串口通信的內(nèi)容,項目本身具有趣味性,更能增強學生的興趣,相較最初課程使用雙機通信單片機甲按鍵控制單片機乙按鍵的歷程,有更好的教學效果。 百寶箱項目實現(xiàn)中,項目的每個細節(jié)都可以有不同,有創(chuàng)新。例如,藍牙串口可通過不同串口通信方式實現(xiàn);LED燈的點亮狀態(tài),流水燈,閃爍,閃爍快慢可以進行個性化設(shè)計;蜂鳴器播放的音樂可以實現(xiàn)個性化設(shè)計;繼電器和藍牙模塊結(jié)合,有的同學還實現(xiàn)了藍牙密碼鎖項目。項目有低配,有高配,可以讓不同層次,不同想法都融入其中,每個學生最終做出來的項目都不盡相同。實現(xiàn)了因材施教,也拓展了學生的創(chuàng)新性。4 仿真
5 結(jié)論