国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

用LD3322實(shí)現(xiàn)嵌入式語音控制的兒童玩具*

2018-12-07 08:32:00,,,
關(guān)鍵詞:語音指令波特率藍(lán)牙

,,,

(長沙師范學(xué)院 信息科學(xué)與工程學(xué)院,長沙 410100)

引 言

隨著傳感技術(shù)、計(jì)算機(jī)科學(xué)、人工智能等相關(guān)學(xué)科的迅速發(fā)展,玩具機(jī)器人正向智能化方向發(fā)展。智能玩具機(jī)器人控制系統(tǒng)包括計(jì)算機(jī)技術(shù)、自動(dòng)控制技術(shù)、傳感器技術(shù)和人工智能技術(shù)等。目前,開發(fā)模塊化、功能強(qiáng)大、價(jià)格低廉的智能語音互動(dòng)玩具已成為全國智能玩具的發(fā)展趨勢[1],而智能語音互動(dòng)玩具在國內(nèi)外市場占有巨大的市場[2]。在全球,智能玩具領(lǐng)域幾乎被美國、日本等國家壟斷。在中國,智能玩具是一個(gè)新興的領(lǐng)域,語音控制玩具將為玩具市場注入新的活力。

1 系統(tǒng)結(jié)構(gòu)與總體方案

本系統(tǒng)的設(shè)計(jì)主要以STC89C52單片機(jī)、LD3320語音芯片構(gòu)成的ASR M08-A語音識別模塊為核心,設(shè)計(jì)實(shí)現(xiàn)了具有語音交互[3]的智能玩具,它能夠在藍(lán)牙和語音兩種方式的控制下實(shí)現(xiàn)前進(jìn)、后退、左轉(zhuǎn)和右轉(zhuǎn)等功能。藍(lán)牙和語音兩種控制方式增強(qiáng)了人與玩具車的交互性,操作方便、實(shí)用性強(qiáng)。本設(shè)計(jì)主要由5大功能模塊組成:

① 語音識別模塊,可以實(shí)現(xiàn)與小朋友的簡單對話、語音控制播放兒歌、古詩等。語音控制小車移動(dòng)(語音指令是:“直走”、“后退”、“左轉(zhuǎn)”、“右轉(zhuǎn)”、“結(jié)束”)。

② LED燈陣模塊,是玩具的小眼睛,實(shí)現(xiàn)開關(guān)機(jī)閃爍效果以及視覺美感。

③ 電源模塊,在底盤小車的上面做成兩個(gè)連在一起的圓柱形腿,腳下直接連接輪子(圓柱形內(nèi)放置電池)。

④ 藍(lán)牙控制模塊,手機(jī)APP通過藍(lán)牙通信方式控制玩具的簡單動(dòng)作[4](比如滑動(dòng)、走向等)。

⑤ 避障模塊設(shè)置超聲波檢測傳感器用于檢測玩具運(yùn)動(dòng)方向上的障礙物,同時(shí)提供避障信息。

2 系統(tǒng)硬件設(shè)計(jì)

設(shè)計(jì)一個(gè)實(shí)用的智能兒童玩具,不僅要求包含一定的智能功能,還要求在使用時(shí)具有交互友好性,運(yùn)行穩(wěn)定性和可靠性,同時(shí)還具備經(jīng)濟(jì)性。本設(shè)計(jì)中的玩具具有運(yùn)動(dòng)功能(前進(jìn)、后退、左行、右行),為了使玩具能夠穩(wěn)定運(yùn)行和成功實(shí)現(xiàn)語音控制功能,對抗干擾的能力就要求比較強(qiáng),這樣的玩具才能在不同的環(huán)境穩(wěn)定移動(dòng),玩具中的語音交互功能更適合寶寶的使用。

2.1 硬件總體設(shè)計(jì)

本玩具系統(tǒng)設(shè)計(jì)的主控電路核心器件為STC89C52單片機(jī),運(yùn)動(dòng)控制功能由其完成[5],開啟和復(fù)位玩具由按鍵完成。藍(lán)牙模塊構(gòu)成玩具的移動(dòng)系統(tǒng)(前進(jìn)、后退、左行、右行、避障等),另外單片機(jī)控制語音識別模塊實(shí)現(xiàn)語音控制玩具播放音頻或者作出回應(yīng)以及LED燈的閃爍。

玩具運(yùn)動(dòng)功能采用四輪驅(qū)動(dòng)來調(diào)節(jié)輪子的轉(zhuǎn)速,從而達(dá)到控制轉(zhuǎn)向的目的。將單片機(jī)主控芯片和語音識別模塊通過銅柱的支撐裝在底盤上面,當(dāng)人發(fā)出語音操作指令并被語音識別模塊檢測到時(shí),系統(tǒng)做出反應(yīng),如唱歌、放古詩、簡單問答等。系統(tǒng)總框架圖如圖1所示。

圖1 系統(tǒng)總框架圖

2.2 語音和藍(lán)牙控制

本設(shè)計(jì)是一個(gè)可以語音控制的玩具機(jī)器人,語音識別部分主要實(shí)現(xiàn)的功能是:首先實(shí)現(xiàn)與小朋友之間的簡單問答的指令檢測;其次通過檢測不同語音指令進(jìn)入不同控制模式,包括藍(lán)牙控制和語音控制;最后,語音識別模塊檢測到不同的語音指令,從而控制玩具電機(jī)的轉(zhuǎn)速和正反轉(zhuǎn)方向,使玩具實(shí)現(xiàn)左轉(zhuǎn)、右轉(zhuǎn)、前行和后退。

藍(lán)牙模塊:利用手機(jī)APP發(fā)送信息實(shí)現(xiàn)單片機(jī)對玩具電機(jī)的控制,藍(lán)牙模塊主要作用是智能無線數(shù)據(jù)傳輸,利用主從一體功能來實(shí)現(xiàn)手機(jī)藍(lán)牙控制玩具動(dòng)作。該模塊主要是對電機(jī)驅(qū)動(dòng)模塊和藍(lán)牙模塊的傳輸數(shù)據(jù)進(jìn)行分析,從而控制電機(jī)的轉(zhuǎn)速、啟動(dòng)和停止以及藍(lán)牙無線數(shù)據(jù)的傳輸。

語音模塊:首先對接收到的語音信號進(jìn)行一系列的運(yùn)算處理,然后和關(guān)鍵詞列表中所有的關(guān)鍵詞進(jìn)行對比,對每一個(gè)關(guān)鍵詞的相似度打分,得分最高的那個(gè)關(guān)鍵詞就認(rèn)為是正確的,最后輸出。這樣,當(dāng)接收到相似度比較高的語音時(shí),可以通過設(shè)置“無用關(guān)鍵詞”把它過濾掉,這是一個(gè)非常有效的手段,設(shè)置“無用關(guān)鍵詞”越多,誤識別率越低,但是不可避免地要犧牲關(guān)鍵詞列表地址。語音模塊串口與51單片機(jī)相連時(shí)的接線方法如圖2所示。

圖2 語音串口接線圖

3 系統(tǒng)軟件設(shè)計(jì)

軟件設(shè)計(jì)分為兩個(gè)部分,即主程序框架部分和語音控制部分。主控部分整個(gè)系統(tǒng)的軟件流程如圖3所示,主要是模式選擇和藍(lán)牙控制部分。當(dāng)主程序開始時(shí),首先是對單片機(jī)、藍(lán)牙、語音識別模塊進(jìn)行初始化,保證各個(gè)部分都能正常工作。對單片機(jī)設(shè)定其工作模式、開啟外部中斷,在語音模塊有識別結(jié)果輸出的時(shí)候會輸出一個(gè)中斷信號,這時(shí)單片機(jī)就可以讀取相關(guān)寄存器的識別結(jié)果了。

圖3 系統(tǒng)主程序流程圖

3.1 語音識別原理

在嵌入式系統(tǒng)中,語音識別的難點(diǎn)主要在于語音信號的動(dòng)態(tài)性和連續(xù)性。主流的語音識別技術(shù)原理如圖4所示。

圖4 主流的語音識別技術(shù)原理圖

在本設(shè)計(jì)中,與主流的語音識別技術(shù)相同,但是語音參考庫沒有主流識別技術(shù)豐富。本設(shè)計(jì)的語音參考庫是自己建立的,首先通過ASR設(shè)置器(界面如圖5所示)將需要的指令寫入語音識別模塊中,進(jìn)行語音訓(xùn)練,提取該指令的十六進(jìn)制特征參數(shù)。其次將提取的特征參數(shù)與自建庫中的參數(shù)比較,輸出相符的參數(shù)完成語音識別。最后將參數(shù)傳送至STC89C52單片機(jī)中執(zhí)行相應(yīng)的操作。還可以利用ASR設(shè)置器中的“添加關(guān)鍵詞”寫入系統(tǒng)所需的語音指令,通過查詢關(guān)鍵詞獲取語音庫。

圖5 ASR設(shè)置器界面圖

3.2 語音識別模塊的波特率設(shè)置

波特率是指串行端口每秒內(nèi)可以傳輸?shù)牟ㄌ匚粩?shù)。在使用串口做通信時(shí),一個(gè)很重要的參數(shù)就是波特率,只有上位機(jī)和下位機(jī)的波特率一樣,才可以進(jìn)行正常通信。通過查找語音識別模塊的使用手冊可知,模塊支持1 200、2 400、4 800、7 200、9 600、14 400、19 200、38 400、57 600、115 200 Baud共10種波特率。如果波特率較低,ASR設(shè)置器界面顯示的中文會出現(xiàn)亂碼,同時(shí)STC89C52單片機(jī)通常使用9 600 Baud的波特率,所以波特率設(shè)置為9 600 Baud。

語音識別模塊的波特率設(shè)置可以直接通過ASR設(shè)置器中的波特率設(shè)置模塊直接設(shè)置,發(fā)送指令“Baud,9600,$”。

單片機(jī)會以16倍波特率的速度進(jìn)行采樣,而在本設(shè)計(jì)中用到的是10位異步收發(fā)方式,因此要將SM0置0,SM1置1。而其中的10位有8位數(shù)據(jù)位,第一位和最后一位是發(fā)送數(shù)據(jù)的起始與結(jié)束。采用高的波特率就不會出錯(cuò)。單片機(jī)的串行接口有4種工作方式,對應(yīng)三種波特率。由于輸入的移位時(shí)鐘來源不同,所以各種方式的波特率計(jì)算公式也不相同。

3.3 語音識別模塊的兩種檢測模式

(1)普通檢測模式

同一時(shí)間內(nèi),50條關(guān)鍵詞的任何一條都能被識別到,但是這種方式如果“垃圾關(guān)鍵詞”吸收工作做得不好,會帶來一定的誤識別。

(2)口令式檢測模式(又稱密碼式檢測)

ASR M08-A 模塊對關(guān)鍵詞的返回值“254”做了特殊的處理,返回值“254”作為整個(gè)關(guān)鍵詞列表的識別入口。在口令式檢測模式下,寫入一條關(guān)鍵詞,然后將其返回值設(shè)定為“254”,這條關(guān)鍵詞便成為了“口令關(guān)鍵詞”。這時(shí)候,只有在識別到此“口令關(guān)鍵詞”之后的8 s內(nèi)才能對其他關(guān)鍵詞進(jìn)行識別,8 s過后,入口關(guān)閉,除了“口令關(guān)鍵詞”能再被識別之外,其他所有關(guān)鍵詞均不能被識別。

由于口令檢測模式有效降低了誤識別帶來的嚴(yán)重后果,大大提高了系統(tǒng)的可靠性,使得語音識別模塊能應(yīng)用在普通的智能控制系統(tǒng)當(dāng)中,缺點(diǎn)是響應(yīng)一個(gè)動(dòng)作需要講兩個(gè)關(guān)鍵詞。

3.4 語音識別模塊初始化

圖6 語音檢測流程圖

語音識別模塊初始化程序如下:

SCON=0x50; //設(shè)定串口工作方式

PCON=0x00; //波特率不倍增

TMOD=0x20;

//定時(shí)器1工作于8自動(dòng)重載模式,用于產(chǎn)生波特率

EA=1; //打開串口中斷

ES = 1; //允許串口中斷

TL1=0xfd;

TH1=0xfd; //設(shè)置波特率為9 600

TR1=1;

本設(shè)計(jì)是一個(gè)可以語音控制的玩具機(jī)器人,因此語音識別部分主要實(shí)現(xiàn)的功能包括:① 實(shí)現(xiàn)與小朋友之間的簡單問答的指令檢測;② 通過檢測不同語音指令判斷是進(jìn)入藍(lán)牙控制模式還是語音控制模式;③ 語音識別模塊檢測到不同的語音指令,從而控制玩具電機(jī)的轉(zhuǎn)速和正反轉(zhuǎn)方向,使玩具實(shí)現(xiàn)左轉(zhuǎn)、右轉(zhuǎn)、前行和后退。圖6為語音檢測模式流程圖,表1為語音識別模塊的返回值列表,表2為語音識別模塊指令集。

表1 語音識別模塊返回值表

表2 語音識別模塊指令集

4 系統(tǒng)測試

① 電機(jī)正反轉(zhuǎn)測試:開機(jī)后,玩具按照程序設(shè)定的模式運(yùn)動(dòng),即來回跑動(dòng)。

② 語音功能測試:開機(jī)后,ASR M08-A語音模塊上電,發(fā)出指定的語音指令,玩具能做出相應(yīng)的回答。

③ 語音控制玩具運(yùn)動(dòng)測試:開機(jī)后,ASR M08-A語音模塊上電,玩具輪子不轉(zhuǎn),當(dāng)發(fā)出“直走”的語音指令時(shí),可以觀察到輪子(按規(guī)定的前方)正轉(zhuǎn);當(dāng)發(fā)出“后退”的語音指令時(shí),可以觀察到輪子反轉(zhuǎn);當(dāng)發(fā)出“左轉(zhuǎn)”指令時(shí),兩邊輪子的轉(zhuǎn)速不同(左輪大于右輪),從而開始左轉(zhuǎn);同理,發(fā)出“右轉(zhuǎn)”指令時(shí),開始右轉(zhuǎn)。當(dāng)發(fā)出的語音指令不是所設(shè)定的指令時(shí),輪子停止轉(zhuǎn)動(dòng),原因是正轉(zhuǎn)、反轉(zhuǎn)同時(shí)進(jìn)行導(dǎo)致的輪子不動(dòng)。

④ 藍(lán)牙控制測試:開機(jī)后,首先由語音指令進(jìn)入藍(lán)牙模式,然后可以實(shí)現(xiàn)藍(lán)牙控制。

⑤ LED模塊測試:開機(jī)后,由語音指令可以實(shí)現(xiàn)LED燈陣的功能。

結(jié) 語

猜你喜歡
語音指令波特率藍(lán)牙
藍(lán)牙音箱的直線之美
基于機(jī)載語音識別軟件中的分段識別設(shè)計(jì)
用樹莓派做自己的智能音箱
CAN 總線波特率自適應(yīng)程序設(shè)計(jì)
智能制造(2020年5期)2020-07-03 06:24:00
簡易分析判斷語音識別智能車的設(shè)計(jì)
簡單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
基于FPGA的異步串行通信波特率容錯(cuò)設(shè)計(jì)
電子測試(2018年7期)2018-05-16 06:27:18
適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
玩具世界(2017年8期)2017-02-06 03:01:38
C*Core芯片SCI串口波特率容限優(yōu)化
平凉市| 辽阳县| 田阳县| 东莞市| 绍兴县| 浙江省| 蓝山县| 长子县| 水城县| 门头沟区| 柳州市| 吉隆县| 贡嘎县| 绥德县| 鹿泉市| 通化市| 乌兰察布市| 毕节市| 镇平县| 喜德县| 商丘市| 高邮市| 仁化县| 新郑市| 锡林郭勒盟| 河东区| 大新县| 长乐市| 峨山| 马鞍山市| 陆良县| 余姚市| 岳池县| 双江| 克山县| 蕉岭县| 长海县| 建平县| 浮山县| 陈巴尔虎旗| 开化县|