當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 智能應(yīng)用
[導(dǎo)讀]來21ic潛水了好久,發(fā)現(xiàn)這次的活動很給力,我也來分享一下自己正在做的項(xiàng)目。這個(gè)是基于MSP430G2553和LD3320的語音識別智能家居設(shè)計(jì),是我以前的大學(xué)老師幫我找的項(xiàng)目,感謝王老師。大家先看下視頻:h()t()tp://v.yo

來21ic潛水了好久,發(fā)現(xiàn)這次的活動很給力,我也來分享一下自己正在做的項(xiàng)目。這個(gè)是基于MSP430G2553和LD3320語音識別智能家居設(shè)計(jì),是我以前的大學(xué)老師幫我找的項(xiàng)目,感謝王老師。

大家先看下視頻:

h()t()tp://v.youku.com/v_show/id_XNTg2MDUwNjM2.html(去掉括號)

這個(gè)項(xiàng)目現(xiàn)在已近做好的部分包括:

一,電腦軟件部分的上位機(jī)用VB寫的,來實(shí)現(xiàn)圖形界面和反饋。

二,語音識別部分使用芯片LD3320和STC89LE52,來實(shí)現(xiàn)語音識別。

三,接收語音識別碼再和電腦通信使用MSP430G2553作為主機(jī)。

四,MSP430G2553主機(jī)控制NRF24l01模塊與另一塊帶有NRF24l01控制繼電器的MSP430G2553節(jié)點(diǎn)通信。

五,最后就是為了實(shí)現(xiàn)語音控制家電用另一個(gè)MSP430G2553節(jié)點(diǎn)來模擬遙控器,實(shí)現(xiàn)語音控制電視的功能。

 

 

硬件部分的話,為了先寫代碼,調(diào)試程序方便就用了2塊LUANCHPAD,一塊做主機(jī)一塊做節(jié)點(diǎn)(各自帶有NRF24l01模塊)。還有一塊LD3320模塊上面帶了一塊STCLE52,通過

STCLE52控制LD3220進(jìn)行語音識別,再把識別出來結(jié)果通過串口和LUANCHPAD主機(jī)通信,來實(shí)現(xiàn)語音識別。最后臨時(shí)用萬用板焊了一塊繼電器來控制燈的開關(guān),還有一塊是

模擬遙控發(fā)射的電路板。LUNCHPAD的電路我看21ic的大家因該不陌生了,NRF24l01模塊因該都用過了,那就說下LD3320實(shí)現(xiàn)語音識別的電路,這個(gè)芯片主要通過80總線和

STCLE52通信,也可以用SPI通信。這個(gè)芯片只要外接一些電容電阻,還有最重要的麥克風(fēng)就可以了。麥克風(fēng)推薦用電容麥。

 

最主要和21ic的大家分享一下軟件的實(shí)現(xiàn)了。首先說下上位機(jī)。我在學(xué)校學(xué)過C++,但是由于但是不用功,所以如果要用C++寫個(gè)好的上位機(jī)不是一件容易的事,所以說改用

比較容易的VB來開發(fā)。這個(gè)上位機(jī)主要實(shí)現(xiàn)的功能是串口通信,接收來自單片機(jī)的語音識別碼和溫度數(shù)據(jù),通過播放動畫來實(shí)現(xiàn)互動和反饋。這個(gè)上位機(jī)啟動是就自動檢測

串口,搜索那個(gè)串口是和單片機(jī)連接的。就等待單片機(jī)發(fā)來的命令了,通信協(xié)議是這樣的,如果是語音識別碼就直接發(fā)過來,如果是溫度數(shù)據(jù)則先發(fā)送一個(gè)數(shù)據(jù)0xea,接

著就發(fā)MSP430G2553內(nèi)部的溫度傳感器測的溫度。例如上位機(jī)收到0xea+0x1a,這就表示收到了測的是溫度數(shù)據(jù)而且溫度是26度,最后根據(jù)溫度來播放動畫。

調(diào)用MSComm1控件實(shí)現(xiàn)串口通信的代碼

Private Sub MSComm1_OnComm()

Select Case MSComm1.CommEvent

Case comEvReceive

ax1 = MSComm1.Input

MSComm1.InBufferCount = 0

ax(0) = ax1(0)

If flag_c = 1 Then

rdata(0) = ax(0)

ax(0) = 0

' Text2.Text = rdata(0)

flag_c = 0

End If

If ax(0) = &HEA Then

ax(0) = 0

flag_c = 1

End If

MSComm1.InBufferCount = 0

End Select

End Sub

說下LD3320的代碼。由于LD3320是內(nèi)置DSP的芯片,內(nèi)部有語音識別算法,我只要通過80總線來讀寫寄存器實(shí)現(xiàn)芯片的初始化,再把要識別的語句通過拼音的字符串寫入芯片,

最多可以實(shí)現(xiàn)50個(gè)語句的識別。LD3320有兩個(gè)模式,一個(gè)就是口令模式,一個(gè)是普通模式,因?yàn)樵诃h(huán)境里畢竟有噪聲的存在,為了防止噪聲誤觸發(fā)識別命令,所以選擇口令模式最好,再有先說口令之后識別

才有效,為了讓知道語音識別成功與否,加了一個(gè)LED,如果檢測到口令LED就會亮,如果檢測到口令后再識別到關(guān)鍵字LED就會滅。

以下是LD3320的添加關(guān)鍵字部分代碼

uint8 LD_AsrAddFixed()

{

uint8 k, flag;

uint8 nAsrAddLength;

#define DATE_A 17

#define DATE_B 20

uint8 code sRecog[DATE_A][DATE_B] = {

"chu yin", //添加語音識別拼音字符串

"ni hao",

"wen du",

"kai deng",

"guan deng",

};

uint8 code pCode[DATE_A] = {

CODE_CMD,

NI_HAO,

WEN_DU,

KAI_DENG,

GUAN_DENG,

};

for (k=0; k

{

if(LD_Check_ASRBusyFlag_b2() == 0)

{

flag = 0;

break;

}

LD_WriteReg(0xc1, pCode[k] );

LD_WriteReg(0xc3, 0 );

LD_WriteReg(0x08, 0x04);

delay(1);

LD_WriteReg(0x08, 0x00);

delay(1);

for (nAsrAddLength=0; nAsrAddLength

{

if (sRecog[k][nAsrAddLength] == 0)

break;

LD_WriteReg(0x5, sRecog[k][nAsrAddLength]);

}

LD_WriteReg(0xb9, nAsrAddLength);

LD_WriteReg(0xb2, 0xff);

LD_WriteReg(0x37, 0x04);

}

return flag;

}

說下主角MSP430G2553作為主機(jī)和節(jié)點(diǎn)。作為主機(jī)的MSP430G2553主要是接受來自STC89LE52的識別碼和對這些識別碼的相應(yīng)處理。例如收到的是

開燈的識別碼就會通過NRF24l01發(fā)送到節(jié)點(diǎn),節(jié)點(diǎn)就驅(qū)動繼電器來開燈。如果收到的是XX電視臺的識別碼,就發(fā)送到另一個(gè)節(jié)點(diǎn)來模擬遙控器實(shí)現(xiàn)

電視機(jī)節(jié)目的切換(事讓單片機(jī)學(xué)習(xí)遙控器的編碼)。如果收到的是溫度的識別碼就測量單片機(jī)的溫度發(fā)到上位機(jī)。一些別的識別碼就通過單片機(jī)

轉(zhuǎn)發(fā)到上位機(jī)。

測溫的代碼:

void te()

{

for(int i=0;i<256;i++)//多次測量求平均溫度

{

ADC10CTL0&=~ADC10IFG;

ADC10CTL0 |= ENC + ADC10SC;

while(!(ADC10CTL0&ADC10IFG));

temp+=ADC10MEM;

}

temp>>=8;

degree = ((temp - 673) * 423) / 1024;

}

通過24l01發(fā)送的代碼:

msg[0]=0xe6;

nRF24L01_TxPacket(msg);

SPI_RW_Reg(WRITE_REG+STATUS,0xff); // clear interrupt flag(TX_DS)

Delay_us(1000);

GLED_ray();

Delay_us(1000);

最后終結(jié)下這個(gè)項(xiàng)目的心得。其實(shí)這個(gè)項(xiàng)目最難的是寫上位機(jī),這個(gè)花了好久時(shí)間才寫好的,包括制作動畫合成語音。在調(diào)試上位機(jī)的時(shí)候試過

單片機(jī)無法連接上,后發(fā)現(xiàn)是LUNCHPAD支持的波特率最高就9600,再高就無法通信了。還有一個(gè)最難忘的是在模擬遙控器的時(shí)候,先用430捕獲來

捕獲每一個(gè)跳變沿,由于接收和發(fā)送的是電平相反的信號所以當(dāng)時(shí)好天真地認(rèn)為把電平改一下就可以發(fā)出去了,再次用捕獲來自己模擬遙控器的

信號的時(shí)候,發(fā)現(xiàn)捕獲回來的信號和原來的遙控器很不一樣。想了好久都沒有發(fā)現(xiàn)問題所在,后來發(fā)現(xiàn),原來發(fā)送信號是要經(jīng)過38KHZ的載波的

即高電平的時(shí)候是頻率為38KHZ的方波,低電平則是啥信號都沒有。

一句話總結(jié)就是在做項(xiàng)目的時(shí)候要細(xì)心,一個(gè)小錯誤都會讓你的系統(tǒng)無法工作。

還有個(gè)語音遙控電視視頻沒拍希望樓下留個(gè)位置放視頻

原文地址:http://bbs.21ic.com/icview-585294-1-1.html

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉