【51单片机】LD3320A语音识别控制设计

2023-11-12


一、主要功能

系统运行后,当对语音模块说出“小易小易”时,收到回复信息后,开始说出控制指令,项目中已设计:开门、关门、开灯、关灯、晚安指令,每当说控制指令前,必须先说“小易小易”,等待回复后才能继续。如果没有回复,系统会提示要说对应的指令。对应指令可控制舵机和LED的开关。


二、硬件资源

1.硬件准备

项目所需要的硬件资源如下:
1、51单片机开发板1个
2、SG90舵机模块1个
3、LD3320A语音识别模块1个
4、USB线1条(用于供电和程序下载)
5、杜邦线若干
6、JQ8900-16P语音模块1个

2.硬件连接

	  SG90舵机模块-->单片机IO
	  MOTOR-->P21
	  VCC-->5V
	  GND-->GND

	  LD3320A语音识别模块-->单片机IO
	  5V-->5V
	  GND-->GND
	  TXD-->P30
	  RXD-->P31

	  JQ8900-16P语音模块-->单片机IO
	  VPP-->P11
	  GND-->GND
	  VCC-->5V
	  SPK-/SPK+-->喇叭

三、软件设计

1.软件结构

在这里插入图片描述

2.主要代码

//语音识别控制
void speech_recognition_control(void)
{
	u8 len=0;
	u8 i=0;
	u8 res=0;
	steer_control(0);
	while(1)
	{
		if(UART_RX_STA&0x8000)//判断串口是否接收完数据
		{
			len=UART_RX_STA&0X3FFF;
			for(i=0;i<len;i++)
				UART_SendData(UART_RX_BUF[i]);
			UART_RX_BUF[len]='\0';
			if(strcmp((const char*)UART_RX_BUF,"收到")==0)sys_str.sta=1;
			else if(strcmp((const char*)UART_RX_BUF,"请叫小易小易")==0)sys_str.sta=2;
			else if(strcmp((const char*)UART_RX_BUF,"没听清")==0)sys_str.sta=3;
			else if(strcmp((const char*)UART_RX_BUF,"开门")==0)sys_str.sta=4;	
			else if(strcmp((const char*)UART_RX_BUF,"关门")==0)sys_str.sta=5;
			else if(strcmp((const char*)UART_RX_BUF,"开灯")==0)sys_str.sta=6;
			else if(strcmp((const char*)UART_RX_BUF,"关灯")==0)sys_str.sta=7;
			else if(strcmp((const char*)UART_RX_BUF,"晚安")==0)sys_str.sta=8;				
			memset(UART_RX_BUF,0,len);
			UART_RX_STA=0;//清除标记,等待下次接收
		}
		//根据语音识别播放
		if(sys_str.sta)
		{
			play_song_num(sys_str.sta);
			switch(sys_str.sta)
			{
				case 4: steer_control(1);break;//开门
				case 5: steer_control(0);break;//关门
				case 6: LED=0;break;//开灯
				case 7: LED=1;break;//关灯
			}
			sys_str.sta=0;		
		}
	}	
}


//应用控制系统
void app_control_sys(void)
{
	time0_init();//初始化定时器0
	lcd12864_init();//LCD12864初始化
	UART_Init();
	ES=1;
	
	while(1)
	{
		speech_recognition_control();//语音识别控制										
	}	
}

四、实验现象

B站演示视频:https://space.bilibili.com/444388619
在这里插入图片描述
在这里插入图片描述


联系作者

作者B站链接:https://space.bilibili.com/444388619
可提供手把手教学服务,资料获取请联系作者QQ:3443792007
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【51单片机】LD3320A语音识别控制设计 的相关文章

  • Python 3 中使用 pandas 和 Jupyter Notebook 进行数据分析和可视化

    介绍 蟒蛇pandas包用于数据操作和分析 旨在让您以直观的方式处理标记数据或关系数据 The pandas软件包提供了电子表格功能 但由于您使用的是 Python 因此它比传统的图形电子表格程序更快 更高效 在本教程中 我们将介绍如何设置
  • 如何使用 Nginx 创建临时和永久重定向

    介绍 HTTP重定向是将一个域或地址指向另一个域或地址的方法 有几种不同类型的重定向 每种重定向对于客户端浏览器来说都有不同的含义 两种最常见的类型是临时重定向和永久重定向 临时重定向 响应状态码302 找到 如果临时需要从不同位置提供 U

随机推荐

  • 如何在 Ubuntu 12.04 LTS 上设置 nginx 虚拟主机(服务器块)

    Status 已弃用 本文介绍不再受支持的 Ubuntu 版本 如果您当前运行的服务器运行 Ubuntu 12 04 我们强烈建议您升级或迁移到受支持的 Ubuntu 版本 升级到Ubuntu 14 04 从 Ubuntu 14 04 升级
  • Hibernate 多对多映射 - 连接表

    今天我们将研究Hibernate 多对多映射使用 XML 和注释配置 之前我们研究过如何实施一对一 and 一对多映射在休眠状态下 休眠多对多 多对多映射通常在数据库中使用连接表 例如我们可以有Cart and Item表和Cart Ite
  • 春季面试问题及解答

    我发了很多帖春季教程最近 这篇文章将帮助您解决 Spring 面试问题 详细解释核心概念 Spring框架是最流行的 Web 应用程序 Java EE 框架之一 依赖注入面向方面编程是 Spring 框架的核心 如果你擅长 Spring 框
  • 运算符

    运算元 运算符应用的对象 1 2 3 1 2就是运算元 一元运算符 只有一个运算元的运算符 var a 1 a a 表达式 由运算符和变量 常量组成的式子 a 1 1 2 3 5 5 4 a b c d 常见的数学运算符 指数 多个数字和字
  • 电子科技大学软件工程期末复习笔记(三):需求分析

    目录 前言 重点一览 需求分析 需求的定义 需求的特性 功能性需求与非功能性需求 需求分析的四个步骤 结构化需求分析方法 结构化需求分析建模的核心 围绕该核心建立的三种图 绘制数据流图 重点 绘制数据流图实例 面向对象分析 面向对象分析的三
  • 网络中的注意力机制-CNN attention

    网络中的注意力机制 CNN attention 前言 网络结构 SEnet CBAM GSoP Net AA Net ECA Net 前言 Attention机制就是加权 目前实现形式主要包括三个方面 CNN Attention 图像 RN
  • 百度飞浆行人多目标跟踪笔记

    开源地址 PaddleDetection configs mot at release 2 3 PaddlePaddle PaddleDetection GitHub 百度飞浆集成了多目标跟踪的多种算法 地址 PaddleDetection
  • 基于MES系统的离散制造车间的设备,实现设备全方位维护

    离散制造的产品多为多品种小批量 生产组织复杂 计划排产困难 需要综合考虑人机料各种因素 另外 临时插单多 多数订单具有定制化特点 车间质量 工艺等异常多 造成生产节奏不稳定 进而影响设备维保执行的及时性 规范性 造成设备的突发故障较多 若设
  • Apache架构师都遵循的30条设计原则

    Srinath 通过不懈的努力最终总结出了 30 条架构原则 他主张架构师的角色应该由开发团队本身去扮演 而不是专门有个架构师团队或部门 Srinath 认为架构师应该扮演的角色是一个引导者 讨论发起者 花草修建者 而不是定义者和构建者 S
  • java audioinputstream 读取音频文件,从最初获得高达一些X字节的AudioInputStream(切割音频文件)...

    How can i read an AudioInputStream upto a particular number of bytes microsecond position For example AudioInputStream a
  • SDRAM操作说明——打开DDR3的大门

    SDRAM synchronous dynamic random access memory 同步动态随机存储器 所谓同步就是指需要时钟信号来控制命令数据 动态是指存储阵列需要不断地刷新来保证数据不会丢失 随机是指存取数据可以根据需要在不同
  • 参考文献中英文人名_参考文献英文名字应该怎么写?

    展开全部 名字的缩写 学位的缩写只有PhD MD BD等 英文文献好像是不标学位的 对于英文参考文献 还应注意以e5a48de588b662616964757a686964616f31333431363664下两点 1 作者姓名采用 姓在前
  • Omni Core v0.11.0 rpc-api

    JSON RPC API Omni Core 是 Bitcoin Core 的一个分支 在上面添加了 Omni 协议功能支持作为一个新的功能层 因此 与 API 的交互以与比特币核心相同的方式 JSON RPC 完成 只需使用额外的 RPC
  • 8.1.2-elasticsearch文本解析之自定义分词器及分词器匹配规则

    创建自定义analyzer 在具体的业务场景当中可能内置的analyzer并不能满足需求 这就需要能够自定义analyzer 前文已经说过analyzer由3部分组成 自定义analyzer就是通过配置以下三部分内容来实现的 序号 子构件
  • 这 13 种职业用AI提效的 40 类场景盘点

    随着人工智能技术的发展 职业领域出现了诸如我们 小蜜蜂助手Beezy 等神奇的工具 大幅度提升了各行各业里从业人员的工作效率 笔者今天将详述13种常见职业 分别是如何利用这些工具在实际工作过程中来帮助自己提升效率的 大量干货和私藏宝藏小工具
  • 7年经验之谈 —— Web测试是什么,有何特点?

    Web测试是指对Web应用程序进行验证和评估的过程 以确保其功能 性能和安全性符合预期 Web测试具体包括以下几个方面的内容 功能测试 验证Web应用程序是否按照需求规格说明书中定义的功能正常工作 功能测试包括输入验证 表单提交 页面导航
  • jmeter之命令行模式(Non-GUI Mode )

    新浪围脖 gt o蜗牛快跑o 企鹅交流群 gt 79642549 命令行模式优势 适用于Windows和linux执行机 与os无关 命令行容易扩展 比如上集成到jenkins平台 用命令行更加容易 适用于高并发测试 测试开始时 conso
  • 中后序遍历构建二叉树与应用I

    目录 题目描述 思路分析 AC代码 题目描述 按中序遍历和后序遍历给出一棵二叉树 求这棵二叉树中叶子节点权值的最小值 输入保证叶子节点的权值各不相同 输入 测试数据有多组 对于每组测试数据 首先输入一个整数N 1 lt N lt 10000
  • 计算机视觉的延伸整理

    目录 计算机视觉 数字图像处理 模式识别 机器学习 数据挖掘 监督学习和无监督学习 强化学习 数据建模 马尔科夫决策过程 计算机视觉 计算机视觉是一门涉及数字图像处理 模式识别和机器学习等技术的交叉学科 旨在将计算机技术应用于对视觉信息的理
  • 【51单片机】LD3320A语音识别控制设计

    文章目录 一 主要功能 二 硬件资源 1 硬件准备 2 硬件连接 三 软件设计 1 软件结构 2 主要代码 四 实验现象 联系作者 一 主要功能 系统运行后 当对语音模块说出 小易小易 时 收到回复信息后 开始说出控制指令 项目中已设计 开