王偉
摘要 設計了一種基于Arduino平臺、伺服舵機、舵機驅動板、LD3320中文語音識別模塊控制的模仿人類動作的機械頭。該機械頭可以實現根據非特定人的不同語音命令完成扭頭、轉眼、搖手臂、說話、唱歌等動作的機器模型,具有一定的實用、娛樂和參考價值。
【關鍵詞】Arduino 語音識別 舵機
近年來語音識別技術為使用者提供各種服務,語音識別技術實現了簡單易行的人機交互接口,更好的提升了用戶體驗度。為此,筆者2013年底設計了一款仿人類動作的機械頭模型。
1 機械頭模型設計原理
基于Arduino平臺語音控制仿人類機械頭模型,其工作原理為:非特定人發(fā)出的語音信號經語音識別模塊轉換成特定的字符串傳送到Arduion開發(fā)板,開發(fā)板接收到命令后發(fā)送指令到舵機驅動板,由驅動板驅動相應舵機轉動,配合事先錄入的MP3語音信息作出相應的語音輸出,達到動作和語音相統(tǒng)一,實現人機對話和互動。
2 機械頭硬件設計介紹
本文設計的基于Arduino的語音控制仿人類機械頭,是建立在語音識別技術基礎上,該機械頭主要包括五個部分:1個Arduino Uno模塊、1個LD3320語音識別模塊、1個32路舵機驅動版,6個伺服舵機、1個方便面盒子。
2.1 Arduino Uno模塊工作原理
Arduino Uno采用的微處理器是ATmega328.該版本包括14個數字10,6個模擬輸入IO,16MHZ的晶體,USB接口,電源接口,燒錄頭,復位按鈕等。Arduino還提供了自己的IDE開發(fā)環(huán)境,支持Winows、LinuX、MACOS等主流的操作系統(tǒng)。如圖1所示。
2.2 LD3320中文語音識別模塊工作原理
LD3320是ICRoute公司生產的一款非特定語音識別芯片,它內置有非特定語音識別的DSP (Digital Signal Processing)算法,支持動態(tài)添加50條識別指令,無需外掛其它輔助器件,單一芯片即可完成語音識別,并且直接支持MP3數據的語音播放。如圖2所示。
2.3 舵機驅動板工作原理
舵機轉動時電流較大,Arduino上的芯片可能會因為過流保護而導致損害,因此不能采用Arduino板上的電源直接給舵機供電,需要采用外部電源。舵機有三根引線,黑色或棕色為地線,紅色為電源線,黃色為信號線。該舵機驅動板能獨立供電,同時控制32路通道,并且速度可調,信號輸出:PWM(精度0.5us)。鴕機驅動分辨率:0.5us,0.045度。波特率范圍9600, 19200, 38400, 57600, 115200,128000。支持98%以上的舵機,板載512K存儲芯片。如圖3所示。
2.4 舵機的工作原理
舵機主要是由外殼、電路板、驅動馬達、減速器與位置檢測元件所構成。其工作原理是由接收機發(fā)出訊號給舵機,經由電路板上的IC驅動無核心馬達開始轉動,透過減速齒輪將動舵機力傳至擺臂,同時由位置檢測器送回訊號,判斷是否已經到達定位。如圖4所示。
2.5 方便面盒子
該設計中方便面盒子的作用主要用于舵機的位置固定,固定2個眼睛、2個手臂、1個上嘴巴,1個扭頭關節(jié)。如圖5所示。
3 各硬件模塊連接介紹
語音識別模塊的TX與Arduino控制器的RX連接,Arduino控制器的TX與舵機控制板的RX連接,舵機控制板使用外置電源連接VS和GND。Arduino供電用的USB供電,語音識別模塊用USB供電。舵機分別連接舵機控制板的Sl-S6。
4 軟件設計部分
本項目軟件包括Arduino IDE,舵機上位機UI,語音識別模塊配置文件修改。
4.1 Arduino Uno軟件設計
在Arduino IDE編程設計中,主要作用是像人的大腦一樣識別判斷從語音識別模塊中傳過來的值,并將信號傳送給舵機驅動板,讓驅動板驅動相應舵機做相應的動作。
例如以下代碼:
int comdata=O;//初始化值為O
void setup()
{
Serial.begin(9600); 11定義波特率為9600
)
void loop()
{
if (Serial.available()>O)//判斷語音模塊是否傳值過來
{
comdata+=int (Serial.read());//獲取所傳的值
delay(20);
Serial.println(comdata);,/將獲取到的值傳送給舵機驅動板
)
if( comdata==5) //判斷傳過來的值是否等于“5”,接著執(zhí)行“轉眼睛”命令
{
Serial.print(”#1P800TlOOO\r\n);//1號舵機旋轉到脈寬為800的位置,使用時間lOOOms
delay(1000);//延時lOOOms,舵機剛好執(zhí)行完上一條命令
} )
4.2 舵機驅動板上位機
上位機是指可以直接發(fā)出操控命令的計算機, 一般是PC/host computer/mastercomputer/upper computer,屏幕上顯示各種信號變化(液壓,水位,溫度等)。在概念上,控制者和提供服務者是上位機,被控制者和被服務者是下位機。如圖6所示。
4.3 語音識別模塊配置文件的修改
MP3語音文件需要事先錄入好存入語音識別模塊的SD卡中,通過SD卡中的mi配置文件修改參數配置,如圖7所示。
5 結語
本文設計了一種基于Arduino平臺、伺服舵機、舵機驅動板、LD3320中文語音識別模塊控制的模仿人類動作的機械頭。本文取得了一定語音控制仿人類機械頭的初步研究成果,在此基礎上可以繼續(xù)研究仿人類表情的機器人的設計和研制。
參考文獻
[1]林敏,李強,科技資訊,基于arduino的語音控制系統(tǒng)[J].科技資訊,2016.
[2]蔡睿妍,基于Arduino的舵機控制系統(tǒng)設計[J].電腦知識與技術,2012.