摘 要:本文設(shè)計(jì)了基于Arduino的可移動(dòng)鬧鐘控制系統(tǒng)。在硬件設(shè)計(jì)方面,該系統(tǒng)采用Arduino主控芯片、顯示模塊、超聲波模塊、蜂鳴器模塊、電機(jī)模塊和藍(lán)牙模塊等;在軟件設(shè)計(jì)方面,通過向Arduino主控芯片燒錄代碼,完成對(duì)該系統(tǒng)的控制。測試結(jié)果表明,該系統(tǒng)具有可移動(dòng)、可避障、無線通信等功能。
關(guān)鍵詞:Arduino;鬧鐘控制;移動(dòng);避障;無線通信;DS1302
中圖分類號(hào):TP271 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)04-00-03
DOI:10.16667/j.issn.2095-1302.2024.04.016
0 引 言
鬧鐘已成為提醒人們的重要工具,但是傳統(tǒng)鬧鐘的功能較為單一,例如:人們常采用鬧鐘作為提醒起床的工具,但在鬧鐘響起時(shí),許多人會(huì)隨手關(guān)掉繼續(xù)睡覺,使鬧鐘無法發(fā)揮應(yīng)有功能[1-2]。
如今,功能豐富的智能家居產(chǎn)品已逐步走進(jìn)人們的生
活[3],針對(duì)上述問題,本文設(shè)計(jì)了一種可無線連接、可移動(dòng)、可避障的鬧鐘系統(tǒng),用戶必須捕獲移動(dòng)中的鬧鐘才能使其停止工作,進(jìn)而達(dá)到提醒用戶的目的。
1 系統(tǒng)整體架構(gòu)
可移動(dòng)鬧鐘控制系統(tǒng)的整體架構(gòu)如圖1所示。該系統(tǒng)包括主控芯片、時(shí)鐘芯片、顯示模塊、超聲波模塊、蜂鳴器模塊、電機(jī)模塊和藍(lán)牙模塊。
該系統(tǒng)的主要功能包括手機(jī)通過藍(lán)牙模塊實(shí)現(xiàn)無線連接和通信,日期設(shè)置和顯示,通過超聲波模塊識(shí)別障礙物,借助電機(jī)模塊完成系統(tǒng)的移動(dòng)控制等。
2 系統(tǒng)的硬件設(shè)計(jì)
2.1 主控芯片
系統(tǒng)采用型號(hào)為Arduino Uno的開發(fā)板[4],系統(tǒng)的主控芯片為該開發(fā)板中的8位ATmega328微處理器,ATmega328微處理器內(nèi)含32 KB FLASH、2 KB SRAM、1 KB E2PROM以及16 MHz時(shí)鐘頻率。Arduino Uno開發(fā)板還包含如下模塊:
(1)USB接口:與計(jì)算機(jī)連接,可用于程序下載和供電。
(2)外接電源:一般使用9 V電源供電。
(3)電源管腳:可通過Vin給開發(fā)板供電。
(4)模擬輸入:6個(gè)模擬輸入口。
(5)數(shù)字I/O:14個(gè)數(shù)字I/O管腳。
在計(jì)算機(jī)上安裝Arduino的開發(fā)環(huán)境后,計(jì)算機(jī)即可通過USB接口向開發(fā)板燒錄程序。
2.2 時(shí)鐘芯片
系統(tǒng)采用的時(shí)鐘芯片為DALLAS公司推出的DS1302,該芯片能實(shí)現(xiàn)年、月、日、時(shí)、分、秒等的計(jì)時(shí)[3-6],并配備主電源和后備電源,以確保時(shí)間和日期等數(shù)據(jù)能夠長期保存。
DS1302時(shí)鐘芯片與Arduino Uno開發(fā)板的連接見表1所列。
2.3 顯示模塊
系統(tǒng)采用的顯示模塊為OLED顯示屏[7],用以顯示日期、時(shí)間等信息。OLED顯示屏的驅(qū)動(dòng)芯片為SSD1306,其屏幕分辨率為128×64,顯示屏采用發(fā)光二極管點(diǎn)陣顯示信息。OLED顯示屏與Arduino完全兼容,將OLED顯示屏的GND、VCC、SCL和SDA與Arduino Uno開發(fā)板的相應(yīng)引腳連接后,OLED顯示屏和Arduino Uno開發(fā)板即可通過I2C(Inter-Integrated Circuit)協(xié)議通信。
2.4 超聲波模塊
系統(tǒng)采用HC-SR04超聲波模塊。HC-SR04模塊的測距精度可達(dá)3 mm,該模塊包括控制電路、超聲波發(fā)射器與接收器。將HC-SR04模塊的TRIG和ECHO引腳與Arduino Uno開發(fā)板的數(shù)字I/O連接后,在Arduino Uno開發(fā)板的控制下,該模塊發(fā)出40 kHz的超聲波,當(dāng)超聲波被前方障礙物反射回來后,通過計(jì)算觸發(fā)信號(hào)和回響信號(hào)間的時(shí)間差來判斷障礙物的距離[8]。
2.5 蜂鳴器模塊
系統(tǒng)采用MH-FMD蜂鳴器模塊,該模塊用于發(fā)出警報(bào)聲。蜂鳴器根據(jù)是否含有振蕩源分為無源蜂鳴器和有源蜂鳴器兩類。無源蜂鳴器具有價(jià)格低、聲音頻率可控等優(yōu)點(diǎn),缺點(diǎn)是必須采用頻率為2~5 kHz的方波驅(qū)動(dòng)。有源蜂鳴器雖然價(jià)格較高,但其程序控制較為方便。本系統(tǒng)選擇有源蜂鳴器作為報(bào)警模塊。該模塊的正極、負(fù)極和I/O口分別與Arduino Uno開發(fā)板的VCC、GND和數(shù)字I/O連接,Arduino Uno開發(fā)板根據(jù)預(yù)設(shè)條件來控制MH-FMD模塊是否發(fā)出警報(bào)聲[9]。
2.6 電機(jī)模塊
電機(jī)模塊用來控制系統(tǒng)移動(dòng),配合前述超聲波模塊可實(shí)現(xiàn)系統(tǒng)自動(dòng)避障。該電機(jī)模塊由L298N電機(jī)驅(qū)動(dòng)芯片和H-Bridge橋控制直流電機(jī)組成。
L298N芯片可驅(qū)動(dòng)1臺(tái)兩相(或四相)步進(jìn)電機(jī)或2臺(tái)直流電機(jī)。
H-Bridge橋控制直流電機(jī)在L298N電機(jī)驅(qū)動(dòng)芯片的控制下轉(zhuǎn)動(dòng)。在直流電機(jī)轉(zhuǎn)速的調(diào)節(jié)方面,電機(jī)轉(zhuǎn)速由L298N芯片通過IN1/IN2、IN3/IN4接口向直流電機(jī)輸入脈沖寬度調(diào)制(Pulse Width Modulation, PWM)信號(hào)進(jìn)行調(diào)節(jié)。在直流電機(jī)的正反轉(zhuǎn)控制方面,當(dāng)L298N芯片向直流電機(jī)輸出信號(hào)IN1=HIGH、IN2=LOW時(shí),直流電機(jī)正轉(zhuǎn);當(dāng)IN1=LOW、IN2=HIGH時(shí),直流電機(jī)反轉(zhuǎn)。
2.7 藍(lán)牙模塊
系統(tǒng)采用HC-05藍(lán)牙模塊,手機(jī)端可通過內(nèi)置藍(lán)牙模塊與系統(tǒng)進(jìn)行無線連接和通信,進(jìn)而實(shí)現(xiàn)手機(jī)對(duì)系統(tǒng)的設(shè)置和控制[10]。
HC-05模塊的VCC、GND、TXD和RXD分別與Arduino Uno開發(fā)板的VCC、GND和數(shù)字I/O連接。HC-05模塊具有如下2種工作模式:
(1)正常模式。用于藍(lán)牙通信。
(2)AT模式。在該模式下,Arduino Uno開發(fā)板通過串口向HC-05模塊發(fā)送AT指令,用于配置藍(lán)牙模塊參數(shù),包括:藍(lán)牙模塊名稱、配對(duì)密碼、通信頻率等[11-13]。
3 系統(tǒng)的軟件設(shè)計(jì)
3.1 系統(tǒng)主流程
系統(tǒng)控制主流程如圖2所示。
系統(tǒng)上電后,對(duì)Arduino Uno開發(fā)板以及各模塊進(jìn)行初始化。初始化結(jié)束后,系統(tǒng)的初始日期和時(shí)間由Arduino Uno開發(fā)板從DS1302時(shí)鐘芯片獲取并在OLED顯示屏上顯示,或者通過手機(jī)APP進(jìn)行設(shè)置。本文采用wxbit工具在手機(jī)端開發(fā)APP,并通過APP實(shí)現(xiàn)手機(jī)端與系統(tǒng)間的無線通信。
當(dāng)用戶設(shè)置的鬧鐘時(shí)間到時(shí),鬧鐘會(huì)自動(dòng)響起;當(dāng)用戶設(shè)置的時(shí)間未到時(shí),會(huì)返回時(shí)間顯示。
當(dāng)鬧鐘響起時(shí),執(zhí)行鬧鐘移動(dòng)程序,進(jìn)行鬧鐘移動(dòng)控制。當(dāng)鬧鐘被關(guān)掉后,回到程序初始處。
3.2 鬧鐘移動(dòng)控制流程
鬧鐘移動(dòng)控制流程如圖3所示。
鬧鐘響起后,鬧鐘會(huì)向前移動(dòng)。鬧鐘在移動(dòng)過程中通過HC-SR04超聲波模塊來進(jìn)行有無障礙物判斷。本系統(tǒng)采用順時(shí)針規(guī)避法避障,當(dāng)鬧鐘前方存在障礙物時(shí),鬧鐘會(huì)執(zhí)行右轉(zhuǎn)命令,并向前移動(dòng);若右轉(zhuǎn)后前方仍然存在障礙物,則繼續(xù)執(zhí)行右轉(zhuǎn)命令直至前方無障礙物。當(dāng)鬧鐘前方不存在障礙物時(shí),鬧鐘會(huì)一直向前移動(dòng)。避障成功后,鬧鐘繼續(xù)移動(dòng)。若用戶成功捕獲鬧鐘并按下停止鍵,鬧鐘停止移動(dòng);反之鬧鐘持續(xù)向前移動(dòng)[14-15]。
4 結(jié) 語
本文設(shè)計(jì)了一款有趣的可移動(dòng)鬧鐘,在鬧鐘的基礎(chǔ)功能上增加了可移動(dòng)和自動(dòng)避障功能。經(jīng)運(yùn)行測試,預(yù)想的鬧鐘功能均可實(shí)現(xiàn)。該系統(tǒng)運(yùn)行穩(wěn)定、能耗低,可以被廣泛應(yīng)用到實(shí)際生活中。
參考文獻(xiàn)
[1]蘭波萬. Clocky:會(huì)跑鬧鐘的營銷創(chuàng)新課[J].市場觀察,2012,26(2):63.
[2]君堯.今天你的鬧鐘響了幾次[J].青少年科技博覽,2022,30(1):22.
[3]張長春.項(xiàng)目教學(xué)法在單片機(jī)應(yīng)用技術(shù)課程中的應(yīng)用研究[J].職業(yè),2022,29(23):66-68.
[4]崔彥.單片機(jī)在電子技術(shù)中的優(yōu)化應(yīng)用[J].集成電路應(yīng)用,2022,39(11):142-143.
[5]邵林,牛偉納,張小松.物聯(lián)網(wǎng)應(yīng)用場景下自助終端網(wǎng)絡(luò)安全威脅評(píng)估與應(yīng)對(duì)[J].四川大學(xué)學(xué)報(bào)(自然科學(xué)版),2023,60(1):103-113.
[6]段露星,馮治杰,付瑞玲.多功能鬧鐘設(shè)計(jì)[J].黃河科技學(xué)院學(xué)
報(bào),2022,24(8):80-83.
[7]朱廣,黎海濤,馬銀童,等.低功耗物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)[J].國外電子測量技術(shù),2016,35(6):31-36.
[8]鄭偉林.物聯(lián)網(wǎng)應(yīng)用實(shí)踐與信息通信技術(shù)供應(yīng)鏈安全管理[J].數(shù)字技術(shù)與應(yīng)用,2022,40(12):141-143.
[9] BEDROSIAN B.聯(lián)網(wǎng)家庭:無線連接技術(shù)是最大的推動(dòng)力[J].電子產(chǎn)品世界,2016,23(1):11-12.
[10]紐斯.測試無線連接性能在汽車研發(fā)制造中成為關(guān)鍵[J].汽車與配件,2018,38(8):57.
[11]羅云貴.會(huì)跑的鬧鐘的設(shè)計(jì)[J].電子世界,2013,12(6):109.
[12]施永貴.可配置物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2022,12(6):51-54.
[13]郝建軍. 5G時(shí)代物聯(lián)網(wǎng)前景展望[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2021,21(7):3.
[14]周晉,李建軍,王銳.工業(yè)物聯(lián)網(wǎng)無線化趨勢淺析[J].物聯(lián)網(wǎng)技術(shù),2021,11(6):84-86.
[15]江志紅. AVR單片機(jī)系統(tǒng)開發(fā)實(shí)用案例精選[M].北京: 北京航空航天大學(xué)出版社,2010.
收稿日期:2023-04-07 修回日期:2023-05-16
基金項(xiàng)目:貴州省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(S2022142230 92);貴州省教育廳自然科學(xué)研究項(xiàng)目(黔教技〔2022〕029號(hào));貴州省教育廳自然科學(xué)研究項(xiàng)目(黔教合KY字[2021]022)
作者簡介:邵嬌嬌(2002—),女,貴州安順人,本科,學(xué)生。
王 雪(2000—),女,貴州黔西南人,本科,學(xué)生。
崔忠偉(1980—),男,貴州銅仁人,博士,教授,主要研究方向?yàn)槲锫?lián)網(wǎng)、機(jī)器視覺。
冉思彬(2001—),女,貴州遵義人,本科,學(xué)生。
羅 ?。?001—),男,貴州六盤水人,本科,學(xué)生。
羅小悶(2001—),女,貴州黔西南人,本科,學(xué)生。