当前位置:首页 > 物联网 > 智能应用
[导读]来21ic潜水了好久,发现这次的活动很给力,我也来分享一下自己正在做的项目。这个是基于MSP430G2553和LD3320的语音识别智能家居设计,是我以前的大学老师帮我找的项目,感谢王老师。大家先看下视频:h()t()tp://v.yo

来21ic潜水了好久,发现这次的活动很给力,我也来分享一下自己正在做的项目。这个是基于MSP430G2553和LD3320语音识别智能家居设计,是我以前的大学老师帮我找的项目,感谢王老师。

大家先看下视频:

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

这个项目现在已近做好的部分包括:

一,电脑软件部分的上位机用VB写的,来实现图形界面和反馈。

二,语音识别部分使用芯片LD3320和STC89LE52,来实现语音识别。

三,接收语音识别码再和电脑通信使用MSP430G2553作为主机。

四,MSP430G2553主机控制NRF24l01模块与另一块带有NRF24l01控制继电器的MSP430G2553节点通信。

五,最后就是为了实现语音控制家电用另一个MSP430G2553节点来模拟遥控器,实现语音控制电视的功能。

 

 

硬件部分的话,为了先写代码,调试程序方便就用了2块LUANCHPAD,一块做主机一块做节点(各自带有NRF24l01模块)。还有一块LD3320模块上面带了一块STCLE52,通过

STCLE52控制LD3220进行语音识别,再把识别出来结果通过串口和LUANCHPAD主机通信,来实现语音识别。最后临时用万用板焊了一块继电器来控制灯的开关,还有一块是

模拟遥控发射的电路板。LUNCHPAD的电路我看21ic的大家因该不陌生了,NRF24l01模块因该都用过了,那就说下LD3320实现语音识别的电路,这个芯片主要通过80总线和

STCLE52通信,也可以用SPI通信。这个芯片只要外接一些电容电阻,还有最重要的麦克风就可以了。麦克风推荐用电容麦。

 

最主要和21ic的大家分享一下软件的实现了。首先说下上位机。我在学校学过C++,但是由于但是不用功,所以如果要用C++写个好的上位机不是一件容易的事,所以说改用

比较容易的VB来开发。这个上位机主要实现的功能是串口通信,接收来自单片机的语音识别码和温度数据,通过播放动画来实现互动和反馈。这个上位机启动是就自动检测

串口,搜索那个串口是和单片机连接的。就等待单片机发来的命令了,通信协议是这样的,如果是语音识别码就直接发过来,如果是温度数据则先发送一个数据0xea,接

着就发MSP430G2553内部的温度传感器测的温度。例如上位机收到0xea+0x1a,这就表示收到了测的是温度数据而且温度是26度,最后根据温度来播放动画。

调用MSComm1控件实现串口通信的代码

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是内置DSP的芯片,内部有语音识别算法,我只要通过80总线来读写寄存器实现芯片的初始化,再把要识别的语句通过拼音的字符串写入芯片,

最多可以实现50个语句的识别。LD3320有两个模式,一个就是口令模式,一个是普通模式,因为在环境里毕竟有噪声的存在,为了防止噪声误触发识别命令,所以选择口令模式最好,再有先说口令之后识别

才有效,为了让知道语音识别成功与否,加了一个LED,如果检测到口令LED就会亮,如果检测到口令后再识别到关键字LED就会灭。

以下是LD3320的添加关键字部分代码

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作为主机和节点。作为主机的MSP430G2553主要是接受来自STC89LE52的识别码和对这些识别码的相应处理。例如收到的是

开灯的识别码就会通过NRF24l01发送到节点,节点就驱动继电器来开灯。如果收到的是XX电视台的识别码,就发送到另一个节点来模拟遥控器实现

电视机节目的切换(事让单片机学习遥控器的编码)。如果收到的是温度的识别码就测量单片机的温度发到上位机。一些别的识别码就通过单片机

转发到上位机。

测温的代码:

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发送的代码:

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);

最后终结下这个项目的心得。其实这个项目最难的是写上位机,这个花了好久时间才写好的,包括制作动画合成语音。在调试上位机的时候试过

单片机无法连接上,后发现是LUNCHPAD支持的波特率最高就9600,再高就无法通信了。还有一个最难忘的是在模拟遥控器的时候,先用430捕获来

捕获每一个跳变沿,由于接收和发送的是电平相反的信号所以当时好天真地认为把电平改一下就可以发出去了,再次用捕获来自己模拟遥控器的

信号的时候,发现捕获回来的信号和原来的遥控器很不一样。想了好久都没有发现问题所在,后来发现,原来发送信号是要经过38KHZ的载波的

即高电平的时候是频率为38KHZ的方波,低电平则是啥信号都没有。

一句话总结就是在做项目的时候要细心,一个小错误都会让你的系统无法工作。

还有个语音遥控电视视频没拍希望楼下留个位置放视频

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

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2025年9月9日 –专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起开售Murata的全新Type 2FR无主机Wi-Fi® 6 + BLE 5.4 /...

关键字: 智能家居 工业自动化 工业物联网

RighValor现已基于Synaptics® Astra™ SL1600系列SOC运行,提供隐私至上的实时边缘智能。 加利福尼亚州帕洛阿尔托2025年9月5日 /美通社/ -- 边缘分布式代理AI先驱企业Righ今日...

关键字: 智能家居 SYNAPTICS AI ST

伊利诺伊州莱尔市 – 2025年8月28日 – 全球电子行业巨头和互联创新领军企业Molex莫仕公司正通过先进的解决方案支持中国家庭能源存储的快速发展,帮助将电池储能系统 (BESS) 转变为智能能源管理平台。

关键字: 智能家居 电池储能系统 连接器

8月27日,全球领先的连接和电源解决方案供应商Qorvo重磅亮相2025 IOTE国际物联网博览会,聚焦 “智能家居、工业、汽车” 三大核心领域,携一系列突破性创新解决方案登场。全方位呈现其在连接与定位技术领域的深厚积累...

关键字: 智能家居 UWB技术 人机交互

南京2025年8月18日 /美通社/ -- 8月18日,作为全球家电行业领导者之一的博西家电正式与小米旗下领先的智能家居平台米家联手,旗下品牌博世家电和西门子家电的全品类优选产品融入米家生态,实现跨品牌的智能互联,共同拓...

关键字: 小米 米家 智能家居 APP

挪威奥斯陆 – 2025年8月18日 – 全球领先的低功耗无线技术提供商Nordic Semiconductor(以下简称"Nordic")宣布将参加2025年8月27-29日在深圳会展中心(宝安新馆...

关键字: 物联网 无线连接 智能家居

柏林2025年8月15日 /美通社/ -- 作为全球极具影响力的消费电子和家用电器展览会,IFA Berlin 2025将于9月盛大开幕,这将再次巩固其作为行业标杆的国际地位。本届展会将以人工智能、绿色可持续、软件与算力...

关键字: 中国智造 AI 智能家居 测试

你好,这是我以前在Android应用程序上的W5100S-EVB-Pico 2项目的更新。在这个项目中,我改进了系统的设计,以支持更多的硬件使用继电器。有了这些,你也可以在你的个人项目中创建一个类似的迷你智能家居系统。

关键字: 继电器 N-MOSFET模块 智能家居

DFRobot ESP32-S3-AI- camera是一款基于强大的ESP32-S3芯片的高性能智能摄像头模块,专为高级AI、视频处理和语音交互应用而设计。它具有一个用于夜视的OV3660 300万广角红外摄像头,一个...

关键字: ESP32-S3 AI相机 智能家居

‌MSP430电容触摸‌是指使用MSP430微控制器(MCU)实现的电容触摸感应技术。MSP430系列MCU以其低功耗和丰富的外设模块著称,特别适用于电容触摸应用。

关键字: MSP430
关闭