基于STM32和LD3320的智能语音识别柔光台灯设计

这篇具有很好参考价值的文章主要介绍了基于STM32和LD3320的智能语音识别柔光台灯设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

毕业设计:

基于STM32智能语音识别柔光台灯设计

(源程序+原理图+PCB+设计说明书+PPT)

原理图:Altium Designer

程序编译器:keil4/keil 5

编程语言:C语言

设计编号:Y001

资料下载链接

设计说明

课题主要研究语音识别、按键识别、PWM波调节亮度、OLED屏幕显示四个模块,目前市面上语音识别的台灯大多仅是控制灯的亮灭,采用的是普通LED节能灯进行照明,相比较于市场上已有的产品,本课题所研究设计的台灯采用的主控芯片是性能较高的STM32F103C8T6单片机芯片,采用中断方式对台灯进行按键控制,并通过基于LD332O语音识别模块,利用非特定人语音识别技术对台灯的工作状态进行语音控制,同时实现了语音控制和按键控制台灯的工作状态,采用输出波形比较输出PWM波,利用PWM波来控制光照的亮度及达到柔光照射的目的,并采用OLED屏幕显示台灯的工作状态灯信息,因此使用者可以快速的指导台灯目前的工作状态,根据自身的实际需求通过语音或者按键对台灯的工作状态进行调节,这样就能够更好的帮助这些弱势群体,如老人、儿童、孕妇等行动不便的人,由于采用的是柔光台灯照明,在一定程度上减缓青少年近视发病率持续上升的趋势,并且LED灯能够缓解资源消耗过大、污染物排放量的现状。

实现功能如下:

1、语音识别部分:采用市面上流行的基于LD3320语音识别模块,利用非特定人语音识别(ASR)技术,调试语音模块使其满足台灯所需要的特定词汇。词汇包括:唤醒词、开灯、关灯、亮一点、变暗等。采用主控芯片STM32F103C8T6与LD3320语音识别模块进行串口通信,主控芯片接收数据后处理该消息命令。

2、按键控制部分:利用按键中断机制来控制灯的亮度,以及控制灯的开和关。

3、PWM波控制LED柔光灯亮度部分:采用STM32F103C8T6内部自带定时器输出PWM功能,接上外围电路,控制多个LED灯。

4、显示模块部分:主控芯片通过SPI协议驱动0.96寸OLED屏幕,在128*64个像素点的屏幕上显示灯的亮度级数及其他信息。

基于STM32和LD3320的智能语音识别柔光台灯设计

基于STM32和LD3320的智能语音识别柔光台灯设计

原理图

基于STM32和LD3320的智能语音识别柔光台灯设计

系统各模块器件介绍

整个设计包括STM32F103C8T6主控芯片模块、0.96寸OLED显示模块、LD3320语音模块、按键模块、LED灯组模块等组成,如下图 2.1所示:

基于STM32和LD3320的智能语音识别柔光台灯设计

主要用到的元器件有STM32F103C8T6单片机、OLED显示屏幕和其驱动芯片SSD1306、LD3320语音识别芯片和内部的增强型51单片机等,这些元器件将会在本章中进行介绍。

LD3320语音识别模块

​ LD3320语音识别常用的芯片,该芯片组成的语音模块识别的灵敏度高,采用的是非特定人语音识别(ARS)技术,这种技术是能够识别汉字小写拼音内容的,本课题的语音识别模块由LD3320与STC11L08XE单片机组成识别系统,如图 2.4所示:

基于STM32和LD3320的智能语音识别柔光台灯设计

语音识别系统原理框图

​ 语音识别芯片能够将咪头输入的语音信息内容进行频谱分析之后再提取出该信息内容的特征,再将识别出来的内容传输至语音识别器中与先前所设定好的关键词进行比对,然后找出与识别出的信息最为相似的关键词,并进行输出。使用者只需要将识别出来的关键词语内容以汉字拼音字符串的形式传输至语音芯片当中,即可识别生效。本课题语音识别模块每次识别完成将通过中断方式请求主控模块进行处理,通过SPI协议从语音识别芯片读取信息,并根据识别的信息通过串口通信的方式将识别出来的信息发送给STM32F103C8T6单片机。

OLED显示模块

OLED显示屏,是一种有机的发光二极管,它能够自发光,并且拥有反应灵敏、极薄厚度、能够适应的温度范围大、对比度相对较高,还有不需要背光源、结构简单、分辨率高等优势,同时也存在着难以大型化的不足。

基于STM32和LD3320的智能语音识别柔光台灯设计本课题采用的OLED显示屏为中景园电子的显示屏,该模块有蓝色、黄蓝色、白色三种颜色可供选择,但是每一个OLED显示屏只能显示这三种颜色中的其中一种颜色,模块尺寸为2.7CM2.6CM,显示尺寸为0.96寸,屏幕的分辨率达12864,工作电压为3.3V。其结构图如下图 2.6所示:

基于STM32和LD3320的智能语音识别柔光台灯设计

PCB图

基于STM32和LD3320的智能语音识别柔光台灯设计

源程序

基于STM32和LD3320的智能语音识别柔光台灯设计

基于STM32和LD3320的智能语音识别柔光台灯设计

程序设计框架

整个程序的设计主要分为STM32F103C8T6单片机IO的初始化程序设计、OLED显示程序设计、PWM波输出程序设计、LD3320语音识别程序设计等,设计的框架如下图 4.1所示:

基于STM32和LD3320的智能语音识别柔光台灯设计

程序流程图

在主程序里,先直接调用各个模块初始化程序,完成OLED初始化、定时器初始化、串口初始化等,然后不断扫描执行switch case函数,调用PWM波输出控制LED灯程序和OLED显示屏显示函数。串口中断和按键外部中断会改变工switch控制参数,以此达到改变PWM波和OLED不同的显示界面。其主函数程序如下

基于STM32和LD3320的智能语音识别柔光台灯设计

主函数

int main(void)
{
	delay_init();	    	 //延时函数初始化
	NVIC_Configuration(); 	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 	LED_Init();			     //LED端口初始化
	OLED_Init();			//初始化OLED 
	OLED_Clear(); 
	TIM1_PWM_Init();        //TIM1 PWM波输出初始化,并使能TIM1 PWM输出
	usart2_Init(9600);	    //初始化串口2
	EXTIX_Init();

	int j;
	show_name();
	My_USART2_SendData("123");
	while(1) 
	{
		j=ld3320_uart_receive();         //得到接受函数的字符串buff
		pwm_led_out_test(lighter); 
		switch(j)
		{
			case 1: show_name(); break; //小陈
			case 2:     //亮一点
			  My_USART2_SendData("ligther ");
			  if(lighter<5)              //如果亮度还不满5
			    { lighter++; show_light(lighter);  }    //显示亮度
			  else
			    { show_zuida(); } break;    //屏幕提示已达最大亮度
			case 3:      //变暗
			  if(lighter>0)
			    { lighter--; show_light(lighter); }    //显示亮度
			  else
			    { show_zuidi(); } break;       //屏幕提示已达最低亮度
			case 4: lighter = 3; show_light(lighter); break;   //开灯,默认亮度等级3,60%
			case 5: lighter = 0; show_ling(); break;       //关灯
			case 6: lighter = 1; show_ershi(); break;       //亮度20
			case 7: lighter = 3; show_liushi(); break;       //亮度60
			case 8: lighter = 5; show_yibai(); break; 		//亮度100
			case 9: show_chongfa(); break;       //显示请重新发口令
			case 10: show_chongfa();	break;      //显示请重新发口令
			default:break;
		}
	}
}

OLED程序

在液晶显示屏程序里,先配置SPI协议四个GPIO口和SSD1306复位引脚为推挽输出,然后输出复位电平复位SSD1306芯片。接下来是调用写命令函数来设置SSD1306工作参数,最后关闭显示,复位坐标点到原点,

/初始化SSD1306通信引脚					    
void OLED_Init(void)
{ 	
 	GPIO_InitTypeDef  GPIO_InitStructure;
 	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//使能A端口时钟
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_7;
 	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		    //推挽输出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         //速度50MHz
 	GPIO_Init(GPIOA, &GPIO_InitStructure);	
 	GPIO_SetBits(GPIOA,GPIO_Pin_5|GPIO_Pin_7|GPIO_Pin_4);
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能A端口时钟
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_8;
 	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		    //推挽输出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         //速度50MHz
 	GPIO_Init(GPIOB, &GPIO_InitStructure);
 	GPIO_SetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_8);
   
   OLED_RST_Set();
	delay_ms(100);
	OLED_RST_Clr();
	delay_ms(200);
	OLED_RST_Set();      //复位过程

LD3320驱动代码

void ProcessInt0(void)
{
	uint8 nAsrResCount=0;
	EX0=0;            //外部中断0允许位:不允许
	ucRegVal = LD_ReadReg(0x2B);   
	LD_WriteReg(0x29,0) ;      //中断允许寄存器
	LD_WriteReg(0x02,0) ;      //FIFO中断允许位
	if((ucRegVal & 0x10) && LD_ReadReg(0xb2)==0x21 && LD_ReadReg(0xbf)==0x35)
// b2:DSP忙闲状态,0x21表闲,可以进行下一步ASR动作;bf:ASR状态报告寄存器,确定一次语音识别流程正常结束,识别成功
	{
		nAsrResCount = LD_ReadReg(0xba); 
		if(nAsrResCount>0 && nAsrResCount<=4)   //BA寄存器对内容进行评分
		   { 
			nAsrStatus=LD_ASR_FOUNDOK;  //0x10 一次识别结束后有一个识别结果
		   } 
		else 
	      { 
			nAsrStatus=LD_ASR_FOUNDZERO;  //0x11一次识别结束后没有识别结果
		    }
	}
	else                      //没有识别结果
	   {
		nAsrStatus=LD_ASR_FOUNDZERO;
	    }
LD_WriteReg(0x2b,0);        //中断请求编号寄存器
LD_WriteReg(0x1C,0);        //ADC开关控制,写0表示ADC不可用
LD_WriteReg(0x29,0) ;      //中断允许寄存器
LD_WriteReg(0x02,0) ;      //FIF0中断允许
LD_WriteReg(0x2B,0);       //中断请求编号寄存器
LD_WriteReg(0xBA,0);	     //中断辅助信息寄存器
LD_WriteReg(0xBC,0);	     //识别过程强制结束,在ASR进行过程中,可以设置本寄存器提前结束本次ASR过程
LD_WriteReg(0x08,1);	     //清除FIF0内容(清除指定FIF0后再写入一次0x00),0x01为清除FIFO_DATA
LD_WriteReg(0x08,0);	     //清除FIFO_DATA后 再次写
EX0=1;                   //外部中断允许位:允许中断
}

设计说明书

立论依据

(课题来源、选题依据和背景情况、课题研究目的、理论意义和实际应用价值)

随着社会的发展,人们对美好生活愈加的向往,智能产品成为时代的发展趋势。我国语音识别研究在近年来发展迅速,研究的水平也从实验室逐步走向市场,进入消费者的电子产品、工业、家电、通信、汽车电子、医疗、家庭服务等各个领域。

语音识别技术就是通过识别和理解把语音信号转变为相应的文本或命令的高技术,发展至今日,中小词汇量非特定人语音识别系统识别精度已经大于98%,对特定人语音识别系统的识别精度就更高,这已经能够满足一般应用的要求,于是大量的语音识别产品开始进入市场和服务领域。这些产品为人们的生活提供了很大的便利,例如语音识别的智能台灯,改变了传统只能通过手动控制的方式,采用语音识别技术,通过语音来控制台灯的工作状态。

现在大部分台灯都是通过手动控制,虽然目前已有语音控制的台灯,但大多数语音控制台灯的控制模式单一,主要是控制台灯的开和关。当需要调节光照亮度时还需手动调节,因此使用起来很不方便,特别是对于老人、儿童和行动不便者来讲尤其困难。

设计这样一款能够通过语音识别控制亮灭以及亮度的台灯,它可以根据使用者的需求来进行调节,这样就能够更好的帮助这些弱势群体人群,以及在一定程度上减缓青少年近视发病率持续上升的趋势,并且能够避免资源的不必要消耗。

文献综述

(国内外研究现状、发展动态)

随着智能制造业的快速发展,语音识别开始得到广泛的应用,在信息处理、通信、控制等领域也相继出现了各种功能的语音识别系统。其中应用相对广泛的有IBM公司的Viavoice、Android系统的Voice Actions、苹果的Siri以及国内科大讯飞的语音识别产品等,这些软件的共同点是文本转语音的功能较为完善,而反过来语音转文本的功能则较为差些。例如Voice Actions的识别能力超强,但是前提是必须按照规定的格式和语法结构表达,否则就无法识别。

随着语音识别的广泛应用,出现了许多不同用途的语音识别模块,例如DFRobot的中文语音识别模块,它的核心是国内ICRoute公司的高性能LD3320语音识别芯片,是一颗基于非特定人语音识别(ASR)技术的语音识别/声控芯片,上面集成了高精度的A/D和D/A接口,不再需要外界辅助的Flash和RAM,就可以实现语音识别、声控、人机对话功能,不需要用户进行录音训练,识别的关键词语列表是可以动态编辑的。

越来越多的语音识别模块的出现,更加刺激了语音识别类产品的创新研发,市面上出现各种功能的语音智能产品,产品以实用性、易用性和人性化为主,致力于为人们提供一个舒适、方便、高效和快捷的生活环境。

研究内容

毕业设计(论文)的主要研究内容、构想与思路、可能出现的工作难点以及拟解决的方法)

主要研究内容:本课题是基于语音识别的智能LED柔光台灯设计,主要的研究内容包括语音识别模块应用,PWM波控制LED柔光灯的亮度,0.96寸OLED显示当前柔光LED台灯的工作状态,软件硬件的联合调试。

构想与思路:

\1. 语音识别部分:采用市面上流行的非特定人语音识别(ASR)模块,调试模块可以满足所需台灯要的特定词汇。词汇包括:唤醒词、开灯、关灯、亮一点、暗一点。采用主控芯片STM32F103C8T6与语音识别模块进行串口通信,主控芯片接收数据后处理该消息命令。

\2. 按键控制部分:按键中断机制控制灯的亮度,按键控制灯的开光。

\3. PWM波LED柔光灯亮度:采用STM32F103C8T6内部自带定时器输出PWM功能,接上外围电路,控制多个LED灯。

\4. 显示模块:主控芯片通过SPI协议驱动0.96寸OLED屏幕,在128*64个像素点的屏幕上显示灯的亮度级数及其他信息

研究基础

(所需研究条件和实验条件)

\1. 设计需要的主要元器件: STM32F103C8T6单片机开发板、LED灯、基于LD3320语音识别模块、0.96寸OLED屏幕

\2. 制作需要的实验条件:用于软硬件设计的个人电脑、用于制作电路板的电子电工实验室相关设备、用于烧录程序的ST-LINK下载器。

\3. 调试需要的实验条件:直流稳压电压源、万用表、示波器等。

\4. 研究所需的理论基础:C语言程序设计、单片机原理及应用、模拟电子技术基础、数字电路与逻辑设计、电路分析基础等。

基于STM32和LD3320的智能语音识别柔光台灯设计

资料清单

下载链接见文章开头

  1. 设计需要的主要元器件: STM32F103C8T6单片机开发板、LED灯、基于LD3320语音识别模块、0.96寸OLED屏幕

\2. 制作需要的实验条件:用于软硬件设计的个人电脑、用于制作电路板的电子电工实验室相关设备、用于烧录程序的ST-LINK下载器。

\3. 调试需要的实验条件:直流稳压电压源、万用表、示波器等。

\4. 研究所需的理论基础:C语言程序设计、单片机原理及应用、模拟电子技术基础、数字电路与逻辑设计、电路分析基础等。

[外链图片转存中…(img-rxjQCIoW-1661965086923)]

资料清单

下载链接见文章开头

基于STM32和LD3320的智能语音识别柔光台灯设计文章来源地址https://www.toymoban.com/news/detail-409279.html

到了这里,关于基于STM32和LD3320的智能语音识别柔光台灯设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 毕业设计 单片机语音识别分类智能垃圾桶(STM32 ESP8266 LD3320)

    离线语音识别识别垃圾种类并且垃圾桶自动翻盖: 说出唤醒词“垃圾桶”后,再说一句垃圾名称,语音识别模块端识别到相应,便会将结果通过串口发送到STM32端,STM32端接着会发送打开相应垃圾桶盖的指令,6s后,垃圾桶盖自动关闭。其中翻盖功能是通过STM32端控制舵

    2024年04月26日
    浏览(66)
  • 【STM32+HAL】语音识别模块LD3320(SPI版)

    有关CUBEMX的初始化配置,参见我的另一篇blog:【STM32+HAL】CUBEMX初始化配置 1、芯片: STM32F103C6T6(同C8T6) 2、STM32CubeMx软件 3、语言识别模块:LD3320(SPI版) 实现串口打印语音输入 1、SPI功能开启 2、IO口配置 3、中断配置 至此,HAL库配置完成 1、LD3320.C 2、LD3320.H 3、主函数 若要

    2024年02月19日
    浏览(39)
  • 基于 STM32 的语音识别智能家居控制系统的设计(LD3320语音识别芯片+ESP8266 WIFI模块+DHT11温湿度采集+MQ系列 烟雾及可燃气体+蜂鸣器+步进电机模拟窗帘+OLED液晶显示+

    ## **基于 STM32 的语音识别智能家居控制系统的设计(LD3320语音识别芯片+ESP8266 WIFI模块(阿里云 或ONENET或局域网)+DHT11温湿度采集+MQ系列 烟雾及可燃气体+蜂鸣器+步进电机模拟窗帘+OLED液晶显示+手机APP)** 本文采用LD3320语音识别芯片+ESP8266 WIFI模块+DHT11温湿度采集+MQ系列 烟雾及可

    2024年02月04日
    浏览(66)
  • 实现语音识别系统:手把手教你使用STM32C8T6和LD3320(SPI通信版)实现语音识别

            本文实际是对LD3320(SPI通信版)的个人理解,如果单论代码和开发板的资料而言,其实当你购买LD3320的时候,卖家已然提供了很多资料。我在大学期间曾经多次使用LD3320芯片的开发板用于设计系统,我在我的毕业设计作品中也有添加这个系统功能,用于添加整个系

    2024年02月06日
    浏览(40)
  • 物联网毕设 -- 智能语音台灯系统(语音识别+蓝牙+STM32)

    目录 前言 一 连线图 1 原理图 2 PCB效果(开发板不适应) 3 实物效果 4 APP界面 5 功能概括 (1) 硬件端 (2) APP端 (3) 语音控制端 (4) 演示视频 二 底层代码使用方式 1. 使用说明 2. 下载程序 三 APP使用方式 下载APP (1)操作方式 (2)使用说明  四 程序架构及修改(通用

    2024年02月21日
    浏览(43)
  • 基于LD3320的51智能遥控语音小车

    小车实物图  本实验基于51单片机和LD3320语音识别模块 小车能够实现遥控器直接控制,语音控制以及自动避障 涉及到的知识有:I/O口的配置(点亮led),定时器(循迹),串口通信(两个板子的连接),SPI同步通信(遥控器),中断(定时器中断和串口中断),PWM(循迹)

    2024年02月06日
    浏览(39)
  • STM32单片机与LD3320语音模块的交互方法

    在嵌入式系统中,STM32单片机广泛应用于各种应用领域。而LD3320语音模块是一种常用的语音识别与合成模块。本文将介绍如何在STM32单片机上与LD3320语音模块进行交互,并提供相应的源代码。 硬件连接 首先,我们需要将STM32单片机与LD3320语音模块进行正确的硬件连接。以下是

    2024年03月13日
    浏览(51)
  • LD3320语音识别模块分析

       LD3320是非特定人语音识别芯片,即语音声控芯片。最多可以识别50条预先内置的指令。 识别原理  声音分帧:   声音是一种波,常见的mp3等格式都是压缩格式,必须转为非压缩的纯波形文件来处理,比如Windows PCM文件,也就是wav文件。wav文件李存储的除了一个文件头

    2024年02月05日
    浏览(84)
  • 【STM32+k210项目】基于AI技术智能语音台灯的设计(完整工程资料源码)

    基于AI技术智能语音台灯的设计         随着社会的快速发展,人们对家用电器智能化程度的要求越来越高。不管是对于学生人群还是对于工作加班者,台灯是每家每户必不可少的工具,长期处于光线太强或者过弱的环境中学习和一系列不良的坐姿是导致近视率上升和驼背

    2024年04月25日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包