彭玲(廣東科技學院 廣東 東莞 523083)
基于SPCE061A的聲控汽車的設計與實現
彭玲
(廣東科技學院 廣東 東莞 523083)
本文利用語音識別技術設計了聲控小汽車系統,該系統能利用凌陽SPCE061A單片機把特定的聲音模擬信號轉化為控制電機的數字信號,從而使小汽車運動起來。
SPCE061A;語音識別;驅動;電機
20世紀20年代,語音識別技術就開始得到研究[1]。隨后,各類語音識別系統相繼誕生,語音識別技術也逐漸得到完善[2]。最近幾年,語音識別技術作為一門相對成熟且與人聯系密切的技術,被廣泛應用于各行各業中,本課題研究的聲控小汽車,是希望語音識別技術能運用到汽車中,讓汽車變得更加智能化。本課題研究設計的聲控小汽車是對語音識別功能運用到汽車控制上的初步探討和簡單設計,設計出小汽車的整體模型,實現聲音控制小汽車行駛。
聲控小汽車采用了凌陽SPCE061A作為整個小汽車系統的數據處理中心,該單片機具有語音識別和語音播放的功能[3],主要負責聲音指令獲取和識別的工作,聲音信號從MIC麥克風處傳入,經過一系列的語音處理步驟,將模擬信號轉化為控制電機的數字信號,并把處理后的數據通過I/O口輸出。該設計的基本架構如圖1所示。

圖1 聲控小汽車總體架構圖
聲控小汽車在硬件層上的設計分為語音識別層設計、驅動層設計和車體設計三部分。語音識別層設計由SPCE061A單片機構成,主要負者將接收的聲音信號轉換為數字信號,并通過自身強大的計算能力和較多的I/O接口把處理完的信息傳遞給驅動部分。驅動部分的構成有驅動板和電機,驅動板的作用是控制小汽車的工作方式,分別有前進、后退、左轉和右轉四種方式。選用直流型電機負者驅動小汽車,降低了小汽車控制的難度。車體部分采用了較為實用性的托盤式三輪車,這樣做可以直接將前兩個部分的硬件固定在托盤上,簡化了整體硬件設計的難度。
聲控小汽車的軟件設計主要包括訓練子程序、識別子程序和驅動控制子程序。訓練的目的是為了獲取聲音模板,這些模板會被存儲到模板庫中。到了識別階段,最新獲取到的模板會和之前訓練的模板進行匹配,最接近的一組將作為識別結果輸出對應的信息,這些信息將會通過I/O口輸出到驅動模塊中。控制子程序的功能是讓電機正向轉動或反向轉動,從而改變小汽車的運動狀態和方向。具體流程如圖2所示。

圖2 聲控小汽車語音訓練和識別的流程圖
首先將聲控小汽車的硬件連接,包括SPCE061A單片機與電源的連接、SPCE061A單片機與驅動板的連接、SPCE061A單片機與喇叭的連接、驅動板與電機的連接四個部分,連接后的實物圖如圖3所示。然后按照代碼設計的順序,根據提示音對聲控小汽車進行訓練,訓練順序為前進、倒車、左轉、右轉四個指令。每個指令會訓練兩次,如果每個訓練都成功,車上的喇叭會播放訓練成功的提示音。等成功完成訓練環節,小汽車就可以開始語音識別環節了。聲控小汽車在接收到“前進”指令時,會往前移動一段距離;聲控小汽車在接收到“倒車”指令時,會向后移動一段距離;聲控小汽車在接收到“左轉”指令時,會向左前方移動;聲控小汽車在接收到“右轉”指令時,會向右前方行駛。

圖3 聲控小汽車連線后的實物圖
本設計的聲控小汽車經過多次測試,基本達到了預期目標,小汽車能實現前進、后退、左轉、右轉的功能,同時,小汽車的語音識別功能運行比較穩定,不會出現經常不識別或識別錯誤的現象,當然也存在著許多不足的地方,比如在功能設計方面較為單一。在后期的維護中,會適當地增加一些功能,比如增加小汽車蔽障功能,采用PWM波控制小汽車驅動,進而控制電機的轉速,完善聲控小汽車的設計。
[1]陳磊.帶噪環境下的漢語連續語音識別研究[D].合肥:安徽大學,2010年.
[2]景新幸.基于DSP的語音識別系統的研究與應用[D].桂林:桂林電子科技大學,2011年.
[3]薛強強.新型導游機服務系統設計[D].太原:中北大學,2013 年.
[4]徐理英.基于語音辨識的遙控小車的設計[J].微計算機信息,2009年11期.
TP11
A
1009-5624(2016)06-0157-02