单片机控制的智能家居语音识别系统设计(支持资料参考_相关定制)(源码+万字报告+讲解)
指示灯、风扇、步进电机等的状态来表示出工作状态,如果想要完成上述整个流程,首先得设计硬件电路,并且焊接硬件电路也是必不可少的步骤,再利用编程来控制硬件电路的运行,完成这三个步骤才能做出完整的设计。随着人工智能和物联网技术的不断进步,单片机的处理能力和存储容量不断提升,使得智能家居语音控制系统在功能和性能上得到了极大的提升。综上所述,基于单片机的智能家居语音控制系统在国外也处于不断发展和创新之中,随
1 引言
随着时代的发展,科技的进步,语音识别这一技术也成了世界各国研究的一重要技术,为了使各类语音识别产品得到推广普及,各国不同领域的企业公司都拥有自己的语音识别研究所,还有各类相关研发电子产品的大型企业公司投入大量人力物力以及大量资金来进行语音识别的应用研发,各种各样的外资企业的语音识别产品以及能完成特定任务的产品已经慢慢出现在我们日常生活的各个角落[1]。声学模型是如今世界研究较为主流方向,因为人们对端到端技术的研究日益透彻,使得这一方向的研究较多,我国在声学模型结构的研究是相对来说是更快且更深入更复杂,这得益于中文的复杂化,使得语音识别也变得多样化[2]。对于解码器和语言模型的研究,目前的世界范围内的技术还不足以支撑这两部分框架的研究,他们都处在理论虽然较丰富,但在程序的实际操作上还是拥有较大的不足以及困难[3],所以语言模型和解码器这两个部分在各行各业的关注度并不是很高。
在十九世纪 70 年代前后,数字信号处理是语音技术最具代表性最热门的领域之一。因此许多闻名中外的世界知名大学和机构对语音识别这一技术的研究迅速的发展。到了 80 年代初,随着计算机技术和存储技术还有网络时代的完善以及健全,还有实验室语音识别研究取得的全新重要成果:语音技术的商业应用开始初露锋芒,逐渐占领市场,为企业等服务行业以及航空航天等科研方面带来全新的便捷的服务方式[4]。
(1)国内发展现状
随着人工智能和物联网技术的不断进步,单片机的处理能力和存储容量不断提升,使得智能家居语音控制系统在功能和性能上得到了极大的提升。随着智能家居市场的快速发展,越来越多的消费者开始关注和购买智能家居产品。语音控制作为一种简单直观的交互方式,受到了用户的青睐[5]。国内很多科技公司和智能家居厂商都开始推出自己的语音控制系统,竞争日益激烈。阿里巴巴的天猫精灵、百度的度秘、腾讯的小微助手等语音助手在市场上占据了一定份额。智能家居语音控制系统在功能上不断丰富,除了基本的灯光、空调、电视等家居设备控制外,还加入了更多的智能化功能,如语音播放音乐、查询天气、
控制家庭安防等[6]。随着技术的成熟和普及,智能家居语音控制系统的用户体验不断提升,语音识别准确度和响应速度大幅改善,让用户更加方便快捷地控制家居设备。
(2)国外发展现状
智能家居市场在国外竞争激烈,各大科技公司都在争夺市场份额。公司如Google(谷歌)、Amazon(亚马逊)、Apple(苹果)等都推出了自己的智能音箱产品,如 Google Home、Amazon Echo 和 Apple HomePod[7] ,这些产品提供了强大的语音控制功能[8]。跨平台整合成为了趋势,用户可以通过智能音箱与各种智能家居设备进行连接和控制,而这些智能家居设备通常会通过单片机实现控制。一些公司采取开放策略[9]。允许第三方开发者接入其智能家居生态系统,通过 API 或 SDK 与其智能音箱产品进行集成,从而实现更广泛的智能家居设备的语音控制。类似国内,国外用户也越来越关注智能家居设备的安全性和隐私保护[10]。厂商在产品设计和数据处理方面都在加强相关措施,以提高用户信任度。为了促进智能家居设备之间的互操作性,国际上一些组织和标准机构致力于推动智能家居标准化工作。这些标准有助于不同厂商的设备进行互联互通,提升用户体验[12] 。除了语音控制,一些智能家居系统还开始采用增强现实(AR)技术,通过 AR 眼镜或应用程序提供更直观、沉浸式的用户体验,进一步丰富了智能家居控制的方式[13] 。综上所述,基于单片机的智能家居语音控制系统在国外也处于不断发展和创新之中,随着技术的进步和市场的需求[15] ,预计未来会有更多的新产品和解决方案出现。
此次设计的主要内容是以 STC89C51 单片机为基础,利用语音来控制LED指示灯、风扇、步进电机等的状态来表示出工作状态,如果想要完成上述整个流程,首先得设计硬件电路,并且焊接硬件电路也是必不可少的步骤,再利用编程来控制硬件电路的运行,完成这三个步骤才能做出完整的设计。系统电路由多个部分组成包括 LD3320 语音识别模块,单片机最小系统模块,复位、晶振电路等等。程序编程部分需要实现的有:通过语音收集模块将收集到的语音数据进行处理以及识别,将识别的语音用来操控风扇、继电器和 LED 指示灯的指示状态。这次设计采用的 STC89C51 单片机结构上相对简单,并且有实用功能强,功能涉及面广等优点。
本次设计以 STC89C51 单片机为主控芯片,加上语音识别电路,风扇驱动,继电器电路,指示灯电路,以及步进电机电路和单片机最小系统等部分组成。
系统框图如图 1-1 所示。
图 1-1 系统框图
(1)电源电路:选择 DC002 直流电源对系统电路进行供电。
(2)复位电路:有按键复位和上电自动复位两种功能可选择。
(3)时钟电路:选择 11.0592M 的晶振起振,达到带动单片机工作的目的。
(4)语音识别电路:选择 LD3320 语音识别芯片进行识别发出的语音指令。
(5)风扇电路:通过 PNP 型三极管来驱动风扇的开启\关闭。
(6)继电器电路:通过 PNP 型三极管控制继电器的闭合和断开,同时对应的指示灯会进行点亮熄灭。
(7)电机驱动电路:通过 ULN2003 芯片来驱动步进电机,电机的转动代表窗帘的打开和关闭。
(1)硬件组成
单片机:作为系统的核心控制器,单片机负责接收、解析语音指令,并控制家居设备的运行状态。
语音识别模块:用于将用户的语音指令转换成可识别的数字信号,通常采用语音识别芯片或模块。
家居设备:包括灯开关、风扇、窗帘等智能化的家居设备,这些设备需要支持与单片机通信的接口,以便进行远程控制。
(2)软件功能
语音识别:系统能够识别用户的语音指令,并进行解析处理。
家居设备控制:通过收集的语音指令,控制相应的家居设备,例如风扇、窗帘灯光等。
(1)语音输入:通过 LD3320 收集语音指令向单片机传输。
(2)语音识别:单片机系统接收并识别语音指令。
(3)指令解析:分析指令,识别指令的意图。
(4)控制执行:系统根据指令的意图,控制相应的家居设备执行相应的操作。
由于其核心组件被整合到单一的半导体元件内,因此被称为"单片机"。这包括中央处理器(CPU) ,随机存取器(RAM) ,只读存储器(ROM) ,中断管理模块,时钟/计数器及输入输出接口(I\O 接口)设备等等。尽管仅是一个单独的半导体元件,但是从构成和性能来看,已经具备了一台小型计算机的基本特征。所以,通常把它叫做单片微型计算机构成 SCMC ,简称为单片机。单片机广泛运用于执行各种检测和控制任务等领域。
单片机是一种集成电路芯片,利用了大型集成的电子元件来实现多种功能于一体的小型完整计算机体系结构。
作为单片微型计算机的核心和决策中心,CPU 负责解读程序并实施命令。其主要任务包括以多种形式实现各类指令的功能。部分指令涉及到寄存器间的相互关系;另一部分指令关乎单片机内核电路中各功能部件间的关系;还有些指令会触及外设设备。总体而言,CPU 通过精密复杂的时序电路逻辑来实现各项指令的功能。
本次设计采用了由 STC 公司新推出的以51 内核为主导的单片机作为其基础元件。该芯片内部包含了Flash 程序储存单元、SRAM、UART、SPI 和 PWM 等多种功能模块。选定方案是以 STC89C51 为基本控制中心,这主要是因为它具备价格低廉且运行速度快、高度稳定并能抵抗强烈的静电冲击及强大的抗干扰能力等优点。
STC89C51 单片机具有 40 个引脚,32 个对外部设备的双向输入、输出(I\O)端口,同时具备两个独立的外部中断功能,并配有一个全双工的串行通讯接口、 32 条读取或存储的数据线路,内部包含了时钟驱动器及振荡器等元件,另外还有三个 16 位的可编程定时计数模块。STC89C51 支持传统的程序编写方式,同时也能够在线编程。
单片机引脚如图 3-1 所示:
图 3-1 单片机引脚图
单片机的最小系统是由电源接口、开关、时钟电路、下载接口、复位电路以及 STC89C51 单片机本身构成的。
复位电路:当 STC89C51 单片机的 RST 接口被引入高电平并持续两个机器周期时,89C51 的内部便会执行复位操作(如果这个接口一直保持高电压,那么单片机就会进入循环复位状态)。
外部复位电路中的电容通过充放电来实现上电自动复位。除去上电自动复位之外,有时候也需要利用按钮来控制电路。本次设计正是采用这种操作模式。使用按钮的手动恢复功能主要分为两个类型:电平方式和脉冲方式。其中,电平复位是由 RST (9) 端口连接到电源 VCC 完成的。有关按钮手动恢复的设计图示如图 3-2 所示。时钟频率为 11.0592 MHz 时,电容 C 值设置为 10 uF ,电阻R 值设定为10kΩ , 就可以达到理想效果。
VCC
+ C1
10uF
RST
R3
10K
图 3-2 手动按键式复位
时钟电路:STC89C51RC 单片机的时钟信号可以分为两类:内部时钟方式和外部时钟方式。内部时钟模式如图 3-3 所示。该图展示了 89S51 单片机中的震荡单元,只需在外部连接到 XTAL1 (18) 和 XTAL2 (19) 两个引脚相互联系即可构成自动激励振荡器并且在单片机内部生成时钟脉冲信号。图中的电容 C1 和 C2 的功能是保持稳定的频率及快速起振,电容值 C 选择应在 5~30pF 之间。晶振 CYS 的振荡频率设置范围应在 1.2~ 12MHz 之间选择。
图 3-3 内部时钟模式
下载接口:STC89C51RC 系列单片机的内置在系统可编程功能 (ISP) 提供了方便和灵活的使用方式。这种方法的简便之处是使用USB-TTL 转接口在目标设备中直接下载\烧录用户程序,无需拆下已经焊接好的单片机再使用外部编程工具来重新下载编译程序。这能够快速地修改未确定的设计并在制造过程中继续改进程序,从而缩短产品的上市时间并且降低因软件问题导致的潜在风险。
此外,可以通过将程序直接下载到单片机看运行结果,所以不需要仿真器。只有当其内部电路被释放并再次通电以启动安全模式时,才能开始执行 ISP 程序。如果接收到有效的下载指令,则会读取用户程序;否则将会恢复至原始状态。图3-4 为下载接口。
P2 VCC
4 3 2 1 |
Header 4
GND
图 3-4 下载接口
微型计算机设备如单片机等主要以较低的电压(例如 5V)运行并具有较小的电流输出能力(毫安级或更小)。如果要将其应用于高功率环境中,例如操控电动机,则可能无法满足需求。因此,需要建立一种连接方式,即功率传输模块,
这便是继电器驱动的基本功能。其含义包括两方面:一方面是对继电器进行驱动;另一方面是通过继电器推动其它负载。
采用PNP 型的晶体管作为扩展元件,线圈内部的电压由 B 级的三极管传输,在接收到低压信号的情况下,三极管会被激活,从而让继电器开关的线圈内部产生一定的电压,最后实现断开。当单片机发出高电平时,由于 B 级的电压升高,使得三极管没法工作,从而阻断了继电器开关的回路传输,继电器就处于分离状态。继电器两侧添加一个二极管至关重要,当线圈正常工作时,二极管对于电路就没有作用了。而在继电器线圈停止供电的那一瞬间,会出现很强的反向电动势,因此需要在线圈两侧与之对应地安装一个二极管以消耗这种反向电压,否则,反向电压可能会作用在驱动三极管上,这可能会将三极管损坏。
其在程序中对应的流程图 3-5 如下所示:
图 3-5 继电器驱动工作流程图
采用的是“28BYJ48”型的四相八拍式电动机作为动力源,其工作电源范围是DC5V-DC12V 之间。这是一种能够把电子脉冲转换成角度移动位移的器件。每当向步进驱动器发送一次特定类型的电气波形时,就会使步进驱动器按照预先设定好的路径旋转出特定的位置。通过调整脉冲次数来控制角位移量,进而实现精确定位的目标;同时,可以利用调节这些振荡周期的频率以影响马达运转时的速度及加速度,以此达成调速的效果。
作为一种高耐压和大型电流的复合半导体元件,ULN2003 驱动芯片是基于7 个硅 NPN 复合晶体管组成的驱动器集成电路。该设备具备了较高的工作电压、电流放大倍数、广泛的工作温度区间及强大的负载承受力等特性。适用于各种高速大功率驱动的系。ULN2003 驱动器芯片的架构可参见图 3-6。
图 3-6 ULN2003 芯片架构
ULN2003 芯片作为驱动模块,是一个特殊的控制集成电路,采用达林顿架构,能够有效地控制 IC 电流,其中反电动势二极管的输出电流高达 200mA,而且具有较低的饱和压力,最大的耐压也只有 36V 。通过使用 ULN2003 晶片,可以实现对继电器、固态继电器(SSR)和步进电机的高效连接,具有较低的功耗、优异的性能、高度的稳定性和轻量化的特点,适用于 50A/0.5A 以下电路驱动。
ULN2003 的主要功能是增大驱动电流以推动 28BYJ-48 型步进电动机。
ULN2003 提供的电源输入点可以通过连接至单片机上的GND 和5V 来获取电力,而“IN0~IN4”则需要连接到单片机的四个 I/O 口上。
一旦向步进电机输入了一系列连贯的控制脉冲,便能够持续地旋转。每个脉冲指令都会使步进电机的一相或者二相线圈切换到接通和断开的状态,从而实现其角位移的变化。每轮完结后,线圈会经历一轮完整的周期,使得转子移动至下一个齿距位置。对于四相步进电机而言,可以通过多种供电模式来运作。
LD3320 是最常见的语音识别传感器之一。主要由:单片机、内置咪头、指示灯组成。该模块可以做到非特定语音输入。由于该芯片集成了Flash 存储器、 16 位 AD 和 DA 转换器以及功放电路,因此可以直接实现语音识别功能,不需要外接其他的 Flash、RAM 和 AD 芯片,减少了外围电路的设计需求。其中串行方式可以极大程度上简化外围电路设计。该芯片可以做到普通模式识别和口令模式识别功能,配合外设,可以做到用户自己语音输入口令,在进行识别。
图 3-7 识别指示灯 图 3-8 语音识别电路
LD3320 芯片是专为"语音识别"设计的半导体元件。它整合了语音识别处理器和一部分的外部设备,例如音频到数字(AD)和数字到音频(DA)转换器、话筒输入端口及扬声器输出端口等等。LD3320 芯片的设计重点在于节约能源并提高效率,无需额外添加闪存或随机存储器之类的辅助组件,只需将其嵌入现有产品的架构即可实现语音识别、声控和人机交互的功能。此外,其关键词汇列表可被灵活修改。只要将需要识别的关键词用文本形式传递给芯片,就能立刻应用于下一次识别过程。举例来说,利用单片机的编码方式,仅需设定芯片的寄存器并将像“启动”这类识别关键词的数据动态转移至芯片内,便能使芯片对这些预先定义好的关键词做出响应。
在设计系统电路原理图中,添加了LED 发光二极管。当 LD3320 向单片机发送语音信号时,LED 灯将会从左至右依次亮起。这是为了提示有声音在发出。
整个系统初始化的程序流程图如 4-1 所示。这部分程序主要由LD3320 语音接收模块接收数据,将识别的数据传输给单片机和各部分功能器件正常工作三部分组成。由于 LD3320 语音识别模块采用的是串口发送数据,将 LD3320 的 TX口接单片机的 10 串 口,所以使用 STC89C51 单片机的 10 串口接收数据,再通过 11 串口将数据传输给单片机芯片,并实时给各功能模块的传输指令。具体介绍如图 4-1 所示:
图 4-1 程序流程图
初始化之后,LD3320 接收数据时,首先会有一个 LED 小灯泡量,持续 5秒,如果没有接收到数据,就会进入休眠状态,LED 灯会熄灭。部分具体程序如图 4-2 所示。
更多推荐
所有评论(0)