武漢理工大學(xué)華夏學(xué)院 羅云貴
現(xiàn)在很多鬧鐘在鬧鈴的時候,用戶可以很容易伸手將其關(guān)掉后繼續(xù)睡覺,這樣常會導(dǎo)致上班時間緊迫甚至遲到。為了解決這個問題,本文提出來了讓鬧鐘在房間里“無障礙的跑動”的設(shè)計。即當鬧鐘響起的時候,鬧鐘小車會在地上到處跑動,用戶如要關(guān)閉鬧鐘,就必須起床去抓住它。否則,鬧鐘小車就會不停地在房間里無障礙的亂跑,且不會卡到死角而停下來。
鬧鐘小車除了具備精準的萬年歷時鐘和鬧鐘功能外,還要能夠無障礙的跑動。具體設(shè)計達到以下要求:(1)能顯示年月日、星期、實時時間和鬧鈴時間,斷電后不丟失。(2)能修改和設(shè)定鬧鈴時間,開啟和關(guān)閉鬧鈴功能;(3)當鬧鈴響起會播放電子音樂,并開始跑動起來。跑動方式為:每跑動5秒,停止1秒等待用戶來抓??;(4)具有自動繞開障礙物功能。
圖1 系統(tǒng)框圖
圖2 紅外避障電路
圖3 電壓比較電路
圖4 電機驅(qū)動電路
(1)主控芯片選擇:根據(jù)設(shè)計要求,我們可以選用功能強一點的,具有獨立PWM通道的ATmega16單片機作為主控芯片。
(2)時鐘選擇:采用DS1302作為時鐘芯片。它具有實時時鐘功能,在配備了后備電池的前提下,時間數(shù)據(jù)斷電不丟失。
(3)顯示模塊:因為要顯示的內(nèi)容比較多,如時間、日期、鬧鐘等,所以采用液晶LCD1602作為顯示器。
(4)鬧鈴:采用無源蜂鳴器,可以根據(jù)不同頻率產(chǎn)生不同的音調(diào)。
(5)電機驅(qū)動:采用L298N作為小車電機的驅(qū)動芯片,該芯片可以同時驅(qū)動兩路直流電機。同時,通過單片機PWM信號的輸出來控制電機的轉(zhuǎn)速,從而完成鬧鐘小車的前進,后退,左轉(zhuǎn),右轉(zhuǎn)等動作。
(6)繞開障礙物:采用38K紅外線傳感器來檢測障礙物,因為調(diào)制后的紅外線傳感器抗干擾能力強。
通過以上分析,整個電路的系統(tǒng)框圖如圖1所示。
圖5 系統(tǒng)時鐘及LCD顯示電路
圖6 主流程圖
圖7 小車運動控制流程圖
圖8 系統(tǒng)仿真電路圖
系統(tǒng)的硬件電路包括:
(1)鍵盤電路:主要包括校時功能鍵,計數(shù)加鍵,計數(shù)減鍵,鬧鐘開關(guān)鍵。
(2)蜂鳴器電路:采用無源蜂鳴器,通過輸送不同頻率的脈沖信號發(fā)出不同音色的聲音,并編排成音樂放出。
(3)紅外避障電路:小車設(shè)四個方向的的避障模塊,主要由單片機來產(chǎn)生38K左右頻率的波形,并驅(qū)動紅外二極管發(fā)射紅外光線。如果發(fā)射出去的紅外線遇到障礙物反射回來,傳感器HS0038接受到后會產(chǎn)生一個低電平。電路圖如圖2所示。
(4)電壓比較電路:通過傳感器返回來的電平信號可能達不到單片機引腳所判斷的高低電平,因此加一個額外的電壓比較器來處理傳感器的信號,供單片機去識別并控制電機的運行。電路圖如圖3所示。
(5)電機驅(qū)動電路:采用L298N電機驅(qū)動芯片去驅(qū)動兩個小型的直流電機。電路圖如圖4所示。
(6)系統(tǒng)時鐘及LCD顯示電路:時鐘電路采用DALLAS公司的一款高性能、低功耗、帶RAM的實時時鐘DS1302作為時鐘芯片;顯示電路采用LCD1602液晶模塊,它具有兩行顯示區(qū)域,主要用于顯示英文和數(shù)字。電路圖如圖5所示。
(1)系統(tǒng)主流程圖:主要包括系統(tǒng)的初始化程序(LCD1602的初始化,DS18B20的初始化),時鐘的獲取和顯示,按鍵處理程序(時間的設(shè)置和鬧鐘的開關(guān)),鬧鐘處理程序(鬧鐘音樂播放和小車運動控制程序)等。具體軟件流程圖如圖6所示。
(2)小車運動控制流程圖:小車運動控制程序的流程圖如圖7所示。
系統(tǒng)可以先通過Proteus仿真調(diào)試,檢驗軟件設(shè)計的邏輯關(guān)系是否正確,調(diào)試成功后再下載到鬧鐘小車上進行實體調(diào)試。系統(tǒng)的Proteus仿真結(jié)果如圖8所示,其中電機運動的方向控制用按鍵來模擬。
最后,鬧鐘小車在實體測試過程中,運行良好,所有功能達到了設(shè)計要求。鬧鐘小車如果要形成產(chǎn)品,還需要在外形設(shè)計上進行創(chuàng)新和優(yōu)化。
[1]江志紅.AVR單片機系統(tǒng)開發(fā)實用案例精選[M].北京:北京航空航天大學(xué)出版社,2010.
[2]秦志強,彭建盛,譚立新.AVR單片機與小型機器人制作[M].北京:電子工業(yè)出版社,2009.