基于ATmega8單片機的紅外導盲系統(tǒng)設計
系統(tǒng)的語音提示部分采用ISD4004芯片來播放提示語音。ISD4004是一款采用CMOS技術的語音錄放芯片,內(nèi)部集成有片上振蕩器、抗混疊濾波器、平滑濾波器、音頻放大器、自動靜噪功能和高密度多電平FLASH存儲陣列。芯片采用多電平直接模擬量存儲技術,音頻采樣率最大可達8 kHz,具有播放的聲音清晰自然,功耗低等特點。將事先錄制好各種提示和距離值播報語音,存儲在ISD4004的FLASH存儲陣列上,由ATme ga8單片機控制播放,連線如圖5所示。ATmega8單片機通過SPI接口控制ISD4004的工作,ISD4004的模擬和數(shù)字電源輸入端都增加了去耦電容,濾除外部噪聲的干擾。
ISD4004播放的語音信息還需通過音頻功率放大電路進行放大,如圖6所示。功率放大芯片選用LM386音頻集成功放,它的靜態(tài)功耗低,失真小,所需的外圍元件少,適用于手持設備。輸入音頻信號通過一個用于調整音量的變阻器R4分壓后輸入LM386的輸入端,連接在芯片第1和第8引腳間的R5和C7用于設置功放的增益。放大后的音頻信號從第5引腳Vout端輸出,經(jīng)過一個220μF的電容C9隔離直流信號后驅動喇叭發(fā)聲。
3 系統(tǒng)軟件設計
ATmega8單片機控制整個電路系統(tǒng)的協(xié)同工作,其軟件流程圖如圖7所示。開機初始化后,ATmega8通過內(nèi)置的ADC轉換端口依次對3個方向的紅外測距傳感器模擬量輸出值進行A/D采樣。為減小噪聲干擾和測量偶然誤差的影響,采用滑動平均算法,對一個傳感器每隔20 ms連續(xù)采樣8次,取8次采樣的平均值作為這一小段時間內(nèi)的距離測量值。將計算結果與門限閾值進行比較,若判斷出哪個方向的傳感器與障礙物間的距離小于1.5 m,則單片機控制語音芯片發(fā)出報警信息,調用事先存儲在ISD4004上的語音信息,將方位信息和障礙物距離的值播報出來。
4 結語
本系統(tǒng)利用ATmega8單片機采集3個紅外測距傳感器GP2Y0A02YK0F的測量輸出值,探測前、左、右三個方向上的障礙物情況,經(jīng)過滑動平均濾波后得到距離值,并在距離值小于門限閾值的時候發(fā)出語言提示信息。該系統(tǒng)的傳感器采用PSD測量原理,不受障礙物表面反射率和環(huán)境光的影響,抗干擾能力強,測量準確??梢杂行У貛椭と伺袛嗦访嫔险系K物的情況,從而更安全地行走。
評論