劉碩
摘要:本文設(shè)計(jì)的自動(dòng)吹泡泡機(jī)系統(tǒng)可分為三大部分,即機(jī)械部分、硬件設(shè)計(jì)部分和軟件編程部分。泡泡機(jī)的控制系統(tǒng)使用AT89C51芯片作為主控制器,以?xún)蓚€(gè)電機(jī)實(shí)現(xiàn)吹泡泡功能,以蜂鳴器和LED小燈實(shí)現(xiàn)報(bào)警提醒,以單片機(jī)的ADC模塊實(shí)現(xiàn)對(duì)液位信息的轉(zhuǎn)換。本文對(duì)泡泡機(jī)的機(jī)械結(jié)構(gòu)、軟硬件進(jìn)行研究并進(jìn)行仿真,設(shè)計(jì)了一種具有報(bào)警提示功能的泡泡機(jī)。
關(guān)鍵詞:泡泡機(jī);51單片機(jī);液位;報(bào)警
引言
隨著科技的發(fā)展,自動(dòng)化與我們的生活愈發(fā)密切相關(guān)。從工業(yè)生產(chǎn)到衣食住行,自動(dòng)化的身影隨處可見(jiàn)。而且隨著生活水平的提高,兒童玩具的種類(lèi)也越來(lái)越多,也有越來(lái)越多的兒童玩具與科技融合。近幾年泡泡機(jī)在幼兒群體甚至是青少年群體中流行起來(lái),樣式也從單一到豐富,深受大家的喜愛(ài)。目前市場(chǎng)上大多數(shù)的泡泡機(jī)采用的都是卡通相機(jī)形象,實(shí)現(xiàn)的功能都是在按下快門(mén)鍵的同時(shí)泡泡機(jī)向外吹泡泡,松開(kāi)按鍵的時(shí)候結(jié)束吹泡泡,也就是說(shuō),只有在按下按鍵的時(shí)候才可以實(shí)現(xiàn)吹泡泡的功能,同時(shí)伴有動(dòng)感的音樂(lè)和炫彩的燈光,實(shí)現(xiàn)的功能比較簡(jiǎn)單,但能夠引起兒童極大的興趣。本設(shè)計(jì)相比于市場(chǎng)上的泡泡機(jī)來(lái)說(shuō),其特點(diǎn)是有一個(gè)報(bào)警功能,在泡泡液低于某一限度時(shí)會(huì)亮指示燈并發(fā)出聲音警報(bào),可以及時(shí)的向使用者傳遞泡泡液缺量的消息,從而提醒使用者及時(shí)補(bǔ)充泡泡液。這也使泡泡機(jī)的外形不受限制,不用再留一部分透明外殼來(lái)觀(guān)察泡泡液的余量,從而使泡泡機(jī)的外形可以更加有趣。
1、?機(jī)械結(jié)構(gòu)設(shè)計(jì)
1.1吹泡泡模塊
有兩個(gè)電機(jī):一個(gè)電機(jī)帶動(dòng)攪拌棒攪拌泡泡液,使泡泡液充分混合,能夠更好的吹出泡泡,令使用對(duì)象有更好的娛樂(lè)體驗(yàn)。另一個(gè)電機(jī)帶動(dòng)風(fēng)扇和出泡孔(一個(gè)圓盤(pán)上有一周圓孔),風(fēng)扇和出泡孔之間通過(guò)兩個(gè)齒輪連接起來(lái),與風(fēng)扇相接的是小齒輪,與出泡孔相接的是大齒輪,從而實(shí)現(xiàn)風(fēng)扇高轉(zhuǎn)速吹出氣流,出泡孔低轉(zhuǎn)速更有效的吹出泡泡。
一個(gè)按鍵:控制吹泡泡模塊的啟動(dòng),按一下按鍵,會(huì)持續(xù)攪拌兩秒鐘,然后自動(dòng)吹泡泡三秒鐘。如果兩次按鍵時(shí)間相隔不到30秒則不攪拌直接吹泡泡。
1.2警報(bào)模塊
用一個(gè)水位傳感器實(shí)時(shí)監(jiān)測(cè)泡泡液的水位,低于某一限定值的時(shí)候開(kāi)始亮指示燈,蜂鳴器開(kāi)始發(fā)出聲音報(bào)警。由于水位傳感器的工作原理是將水位高度信息轉(zhuǎn)化成電壓信息傳送給單片機(jī),所以在模擬仿真的時(shí)候用一個(gè)變阻器改變電壓來(lái)模擬水位的高低。
2、硬件設(shè)計(jì)
本次設(shè)計(jì)使用的是AT89C51單片機(jī)作為主控制器。因?yàn)楸驹O(shè)計(jì)中有兩個(gè)電機(jī),所以選用的電機(jī)驅(qū)動(dòng)器為L(zhǎng)298N,它對(duì)于直流電機(jī)和步進(jìn)電機(jī)都可以驅(qū)動(dòng),并且可以控制兩個(gè)直流減速電機(jī)做不同動(dòng)作且可以實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)反轉(zhuǎn)。水位檢測(cè)模塊的關(guān)鍵在于A(yíng)DC模塊,51單片機(jī)內(nèi)部有ADC模塊。警報(bào)電路以一個(gè)LED燈和一個(gè)蜂鳴器來(lái)實(shí)現(xiàn)功能。
3、軟件設(shè)計(jì)
3.1主函數(shù)設(shè)計(jì)
先給靜態(tài)全局變量count賦初值600,保證第一次按鍵是先進(jìn)行攪拌再吹泡泡。然后對(duì)定時(shí)器0中斷進(jìn)行初始化,對(duì)外部中斷1進(jìn)行初始化,使警報(bào)指示燈和蜂鳴器初始狀態(tài)全部為關(guān)閉狀態(tài)。接下來(lái)獲得水位模擬信號(hào)并進(jìn)行判斷,若低于警報(bào)值則警報(bào)燈亮起蜂鳴器發(fā)出聲音進(jìn)行提醒,若沒(méi)有低于警報(bào)值則警報(bào)燈不亮蜂鳴器不響,繼續(xù)去獲取水位模擬信號(hào)。外部中斷隨時(shí)可能發(fā)生,所以應(yīng)該保證只要給出中斷信號(hào)就開(kāi)始執(zhí)行。
3.2中斷初始化
對(duì)于定時(shí)器中斷,應(yīng)先設(shè)置定時(shí)方式1(十六進(jìn)制),然后設(shè)置定時(shí)50ms,接著打開(kāi)定時(shí)器0中斷、打開(kāi)定時(shí)器0、打開(kāi)總中斷。對(duì)于外部中斷,先打開(kāi)總中斷,然后打開(kāi)外部中斷1中斷,最后設(shè)置觸發(fā)方式為下降沿觸發(fā)。
3.3中斷操作函數(shù)
定時(shí)器中斷操作函數(shù)的內(nèi)容為:先進(jìn)入定時(shí)器中斷,定時(shí)器初始化,然后執(zhí)行count++(每進(jìn)入一次定時(shí)器中斷count加1,即每50ms加1),然后退出定時(shí)器中斷操作函數(shù)。
外部中斷操作函數(shù)的內(nèi)容為:首先進(jìn)入中斷,然后對(duì)count進(jìn)行是否小于600的判斷(即判斷兩次中斷時(shí)間間隔是否小于30s)。若小于600就先使控制攪拌的電機(jī)運(yùn)轉(zhuǎn),然后再使控制吹泡泡的電機(jī)運(yùn)轉(zhuǎn);若大于600就直接驅(qū)動(dòng)控制吹泡泡的電機(jī)??刂拼蹬菖莸碾姍C(jī)開(kāi)始運(yùn)轉(zhuǎn)之后中斷結(jié)束。
3.4液位檢測(cè)
對(duì)于液位檢測(cè)主要用到的是AD轉(zhuǎn)換,AD轉(zhuǎn)換將傳感器檢測(cè)到的模擬信號(hào)(本設(shè)計(jì)中是用變阻器改變電壓進(jìn)行仿真)轉(zhuǎn)換成數(shù)字信號(hào)。在程序部分的設(shè)計(jì)主要為啟動(dòng)AD轉(zhuǎn)換,然后等待轉(zhuǎn)換完成,若轉(zhuǎn)換完成就將數(shù)據(jù)讀入單片機(jī)然后結(jié)束數(shù)據(jù)輸出,否則繼續(xù)等待轉(zhuǎn)換完成。
結(jié)語(yǔ)
本文主要對(duì)自動(dòng)吹泡泡機(jī)的機(jī)械結(jié)構(gòu)、軟硬件進(jìn)行了設(shè)計(jì)和仿真,設(shè)計(jì)了一種具有報(bào)警提示功能的泡泡機(jī)。自動(dòng)吹泡泡機(jī)是科技在生活中的體現(xiàn)的一部分,“自動(dòng)”也是科技發(fā)展的趨勢(shì)。未來(lái)的兒童玩具市場(chǎng)中,自動(dòng)智能類(lèi)玩具一定會(huì)越來(lái)越多,生活促進(jìn)科技,科技也促進(jìn)生活。
參考文獻(xiàn):
[1]張俊謨.單片機(jī)中級(jí)教程:原理與應(yīng)用[J].北京航空航天大學(xué)出版社,2006.10
[2]殷留留,韓森,王芳,等.?基于L298N的直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].?信息技術(shù),2017(6):104-106,111.