单片机语音识别控制蓝牙通信

基于单片机语音识别控制&蓝牙控制

  • 1、Arduino单片机语音控制
    • 1.1 直连
    • 1.2 蓝牙无线连接
    • 1.3 部分核心程序
    • 1.4 实物演示
  • 2、51单片机语音控制
    • 2.1 直连
    • 2.2 蓝牙无线连接
    • 2.3 部分核心程序
    • 2.4 实物演示
  • 3、STM32单片机语音控制
    • 3.1 直连
    • 3.2 蓝牙无线连接
    • 3.3 部分核心程序
    • 3.4 实物演示
  • 最后


本文章是基于Arduino单片机、51单片机、STM32单片机语音识别控制和蓝牙通信,设计这三种单片机方便新手选择自己合适的单片机学习语音识别控制,文章重点涉及到串口的知识点,学会了串口对于蓝牙模块很简单,本文章可以学习到 语音识别控制蓝牙无线控制

为什么语音识别控制要设计成无线控制呢???关于下面这种场合就合适鸭。

在这里插入图片描述


1、Arduino单片机语音控制

1.1 直连

功能:语音控制电灯的 “开启” 和 “关闭”
语音模块与主控制器Arduino直接连接,由于接了220V的电灯,此时用到了继电器

语音模块与主控制器硬件连接

语音模块Arduino
VCCVCC
GNDGND
T20
R21

继电器与主控制器硬件连接

继电器Arduino
VCC5V
GNDGND
INT113

实物连接如下图所示

在这里插入图片描述

1.2 蓝牙无线连接

功能①:语音控制电灯的 “开启” 和 “关闭”
功能②:手机app控制电灯的 “开启” 和 “关闭”
语音模块与主控制器Arduino直接通过两个蓝牙模块连接,其中语音模块连接的蓝牙模块通过软件设置作为主机,主控制器Arduino连接的蓝牙模块通过软件设置作为从机,下图是蓝牙模块设置的软件界面

在这里插入图片描述
语音模块与蓝牙模块(主机)硬件连接

语音模块蓝牙模块(主机)
VCCVCC
GNDGND
T2RX
R2TX

主控制器与蓝牙模块(从机)硬件连接

主控制器蓝牙模块(从机)
VCCVCC
GNDGND
1RX
0TX

继电器与主控制器硬件连接

继电器Arduino
VCC5V
GNDGND
INT113

连接实物如下图所示

在这里插入图片描述
如果不想用语音控制电灯的 “开启” 和 “关闭”,可以直接把语音模块和蓝牙模块(主机)直接去掉,通过手机app打开蓝牙直接连接蓝牙模块(主机),通过发送程序给定对应的字节,这样也可以达到控制的效果。

在这里插入图片描述

1.3 部分核心程序

代码如下:

  val = Serial.read(); /*如果串口接收到数据,把输出存放在变量val中*/if (-1 != val) /*如果val不等于-1,证明串口已经接收到数据。*/{if (0x03 == val) /*判断接收到的数据是不是*/{digitalWrite(LED, LOW); /*如果是0x03,把LED点亮*/}else if (0x04 == val) /*判断串口接收到的数据是不是0x04*/{digitalWrite(LED, HIGH); /*如果是0x04,关闭LED灯*/}else{digitalWrite(LED, HIGH); /*其他情况灯灭*/}}

1.4 实物演示

Arduino语音识别控制


2、51单片机语音控制

2.1 直连

功能:语音控制电灯的 “开启” 和 “关闭”
语音模块与主控制器STC89C52直接连接,由于接了220V的电灯,此时用到了继电器

语音模块与主控制器硬件连接

语音模块STC89C52
VCCVCC
GNDGND
T2P3^0
R2P3^1

继电器与主控制器硬件连接

继电器STC89C52
VCC5V
GNDGND
INT1P2^0

实物连接如下图所示

在这里插入图片描述

2.2 蓝牙无线连接

功能①:语音控制电灯的 “开启” 和 “关闭”
功能②:手机app控制电灯的 “开启” 和 “关闭”
语音模块与主控制器STC89C52直接通过两个蓝牙模块连接,其中语音模块连接的蓝牙模块通过软件设置作为主机,主控制器STC89C52连接的蓝牙模块通过软件设置作为从机,下图是蓝牙模块设置的软件界面

在这里插入图片描述
语音模块与蓝牙模块(主机)硬件连接

语音模块蓝牙模块(主机)
VCCVCC
GNDGND
T2RX
R2TX

主控制器与蓝牙模块(从机)硬件连接

主控制器蓝牙模块(从机)
VCCVCC
GNDGND
P3^1RX
P3^0TX

继电器与主控制器硬件连接

继电器Arduino
VCC5V
GNDGND
INT1P2^0

连接实物如下图所示

在这里插入图片描述
如果不想用语音控制电灯的 “开启” 和 “关闭”,可以直接把语音模块和蓝牙模块(主机)直接去掉,通过手机app打开蓝牙直接连接蓝牙模块(主机),通过发送程序给定对应的字节,这样也可以达到控制的效果。

在这里插入图片描述

2.3 部分核心程序

void Usart_Int(void) interrupt 4
{uchar i;uchar receive_data;EA = 0;if(RI == 1) //当硬件接收到一个数据时,RI会置位{ 		RI = 0;receive_data = SBUF;//接收到的数据if(receive_data == 0x03)	 //if(receive_data == '1'){LED = 0;//接收到03亮灯}else if(receive_data == 0x04){LED = 1; //如果是0x04,关闭LED灯}else{LED = 1; //其他情况灯灭}}for(i=0; i<PuZh_Size; i++){SBUF = PuZh[i];   //将要发送的数据放入到发送寄存器while(!TI);		    //等待发送数据完成TI=0;			        //清除发送完成标志位Delay_ms(1);}EA = 1;
}

2.4 实物演示

51单片机语音识别控制


3、STM32单片机语音控制

3.1 直连

功能:语音控制电灯的 “开启” 和 “关闭”
语音模块与主控制器STM32直接连接,由于接了220V的电灯,此时用到了继电器

在这里插入图片描述

3.2 蓝牙无线连接

功能①:语音控制电灯的 “开启” 和 “关闭”
功能②:手机app控制电灯的 “开启” 和 “关闭”
语音模块与主控制器STM32直接通过两个蓝牙模块连接,其中语音模块连接的蓝牙模块通过软件设置作为主机,主控制器STM32连接的蓝牙模块通过软件设置作为从机,下图是蓝牙模块设置的软件界面

在这里插入图片描述
语音模块与蓝牙模块(主机)硬件连接

语音模块蓝牙模块(主机)
VCCVCC
GNDGND
T2RX
R2TX

主控制器与蓝牙模块(从机)硬件连接

主控制器蓝牙模块(从机)
VCCVCC
GNDGND
PA2RX
PA3TX

继电器与主控制器硬件连接

继电器Arduino
VCC5V
GNDGND
INT1PB6

连接实物如下图所示

在这里插入图片描述
如果不想用语音控制电灯的 “开启” 和 “关闭”,可以直接把语音模块和蓝牙模块(主机)直接去掉,通过手机app打开蓝牙直接连接蓝牙模块(主机),通过发送程序给定对应的字节,这样也可以达到控制的效果。

在这里插入图片描述

3.3 部分核心程序

 int main(void){		 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级uart_init(9600);	 							//串口初始化为115200My_USART2_Init();LED_Init();			     						//LED端口初始化while(1){if(res == 0x03)		//如果是0x03,把LED点亮{LED1 = 0;JDQ = 0;	//继电器使能}else if(res == 0x04)//如果是0x04,关闭LED灯{LED1 = 1;JDQ = 1;	//继电器不使能}else			//其他情况灯灭{LED1 = 1;JDQ = 1;}}	 }

3.4 实物演示

点击链接跳转观看:https://www.bilibili.com/video/BV1Hk8ReZEJn/?vd_source=396950d4f7e8d110fcda0429d9a5c0f6


最后

在这里插入图片描述

不懂的小伙伴或是有问题的可以+我企鹅号(970484728),备注来意,一起学习一起进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

器件频频更换为哪桩

曾想象&#xff0c;在一家大型研发型企业里有如下案例&#xff1a; 硬件工程师设计电路选择了器件库中的某器件&#xff0c;在批量试产产品时&#xff0c;却发现没有库存&#xff0c;即时申请采购&#xff0c;却发现货期相当长&#xff0c;一时难以采购&#xff0c;甚至根本不…

填志愿选专业,文科男生如何选专业?

又到了高考分数出炉&#xff0c;无数学子收获喜悦的季节&#xff0c;在分数刚出炉时&#xff0c;很多学生表现的异常兴奋&#xff0c;于他们而言&#xff0c;这么多年的努力终于有了收获&#xff0c;自己该考虑选择什么专业了。而毫不夸张的说&#xff0c;很多人在拿到专业目录…

HarmonyOS开发探索:使用Snapshot Insight分析ArkTS内存问题

识别内存问题 当怀疑应用存在内存问题的时候&#xff0c;首先使用DevEco Profiler的Allocation Insight来度量内存在问题场景下的大小变化以及整体趋势&#xff0c;初步定界问题出现的位置&#xff08;Native Heap/ArkTS Heap/dev等&#xff09;。 在初步识别内存问题出现的位置…

CentOS中使用SSH远程登录

CentOS中使用SSH远程登录 准备工作SSH概述SSH服务的安装与启动建立SSH连接SSH配置文件修改SSH默认端口SSH文件传输 准备工作 两台安装CentOS系统的虚拟机 客户机&#xff08;192.168.239.128&#xff09; 服务器&#xff08;192.168.239.129&#xff09; SSH概述 Secure S…

Mustango——音乐领域知识生成模型探索

Mustango&#xff1a;利用领域知识的音乐生成模型 论文地址&#xff1a;https://arxiv.org/pdf/2311.08355.pdf 源码地址&#xff1a;https://github.com/amaai-lab/mustango 论文题为**“**利用音乐领域知识开发文本到音乐模型’Mustango’”。它利用音乐领域的知识从文本指…

K 近邻、K-NN 算法图文详解

1. 为什么学习KNN算法 KNN是监督学习分类算法&#xff0c;主要解决现实生活中分类问题。根据目标的不同将监督学习任务分为了分类学习及回归预测问题。 KNN&#xff08;K-Nearest Neihbor&#xff0c;KNN&#xff09;K近邻是机器学习算法中理论最简单&#xff0c;最好理解的算法…

钉钉开放AI生态战略的真正价值到底是什么?很多人都没看懂

来源&#xff1a; 首席数智官 hello 大家好&#xff0c;我们是数字化领军者都在看的首席数智官。 关注我&#xff0c;每天给你讲一个商业案例。 今天我们要给你讲的是&#xff1a;钉钉开放AI大模型生态的战略意义到底是什么&#xff1f; 「谁先赢得苹果&#xff0c;谁就赢得…

AI大模型日报#0701:Meta发布LLM Compiler、扒一扒Sora两带头人博士论文

导读&#xff1a;AI大模型日报&#xff0c;爬虫LLM自动生成&#xff0c;一文览尽每日AI大模型要点资讯&#xff01;目前采用“文心一言”&#xff08;ERNIE-4.0-8K-latest&#xff09;生成了今日要点以及每条资讯的摘要。欢迎阅读&#xff01;《AI大模型日报》今日要点&#xf…

09 - matlab m_map地学绘图工具基础函数 - 绘制区域填充、伪彩色、加载图像和绘制浮雕效果的有关函数

09 - matlab m_map地学绘图工具基础函数 - 绘制区域填充、伪彩色、加载图像和绘制浮雕效果的有关函数 0. 引言1. 关于m_pcolor2. 关于m_image3. 关于m_shadedrelief4. 关于m_hatch5. 结语 0. 引言 本篇介绍下m_map中区域填充函数&#xff08;m_hatch&#xff09;、绘制伪彩色图…

2.2章节python的变量和常量

在Python中&#xff0c;变量和常量有一些基本的概念和用法&#xff0c;但需要注意的是&#xff0c;Python本身并没有内置的“常量”类型。然而&#xff0c;程序员通常会遵循一种约定&#xff0c;即使用全部大写的变量名来表示常量。 一、变量 在Python中&#xff0c;变量是一…

毫米波雷达深度学习技术-2.1~2.2深度度量学习和成对方法

2 深度度量学习 有几种雷达应用程序旨在对一组预定义的类别进行分类&#xff0c;例如不同的人类活动或手势。然而&#xff0c;在实际环境中&#xff0c;存在的类不仅仅是预定义的类&#xff0c;这就把问题变成了一个开放集的分类任务。开放集分类意味着网络应该能够检测输入是否…

Chapter 8 Feedback

Chapter 8 Feedback 这一章我们介绍feedback 反馈运放的原理. 负反馈是模拟电路强有力的工具. 8.1 General Considerations 反馈系统如下图所示 Aolamp open-loop gain即开环增益. Aolxo/xi β \beta β 是 feedback factor, 注意方向. β x f x o \beta\frac{x_{f}}{x_{o…

一、课程介绍,基础—环境安装、判断、循环语句等(爬虫及数据可视化)

一、课程介绍&#xff0c;基础—环境安装、判断、循环语句等&#xff08;爬虫及数据可视化&#xff09; 1. 课程介绍1.1 相关内容1.2 学习目标1.3 学习内容安排 2. python2.1 环境配置2.2 标识符和关键字2.3 运算符2.4 判断语句2.5 循环语句 1. 课程介绍 1.1 相关内容 10天的…

【pytorch11】高阶操作

高阶操作 WhereGather where 三个参数&#xff0c;第一个是condition&#xff0c;第二个参数是源头A&#xff0c;第三个参数是源头B&#xff0c;也就是说有两项数据A和B&#xff0c;C有可能来自于A也有可能来自于B&#xff0c;如果全部来自于A的话直接赋值给A&#xff0c;如果…

算法金 | Transformer,一个神奇的算法模型!!

大侠幸会&#xff0c;在下全网同名「算法金」 0 基础转 AI 上岸&#xff0c;多个算法赛 Top 「日更万日&#xff0c;让更多人享受智能乐趣」 抱个拳&#xff0c;送个礼 在现代自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;Transformer 模型的出现带来了革命性的变…

无线物联网练习题

文章目录 选择填空简答大题 选择 不属于物联网感知技术的是(A) A:ZigBee B:红外传感器 C:FRID D:传感器 ZigBee是一种无线通信技术&#xff0c;虽然它常用于物联网中作为设备之间的通信手段&#xff0c;但它本身并不是一种感知技术 关于物联网于与互联网的区别的描述&#xff…

【机器学习】基于Transformer的迁移学习:理论与实践

引言 在机器学习领域&#xff0c;迁移学习已成为提升模型训练效率和性能的重要策略&#xff0c;特别是在标注数据稀缺的场景下。Transformer模型自2017年由Google提出以来&#xff0c;在自然语言处理&#xff08;NLP&#xff09;领域取得了突破性进展&#xff0c;并逐渐扩展到…

Zuul介绍

Zuul 是 Netflix 开源的一个云平台网络层代理&#xff0c;它主要用于路由、负载均衡、中间件通信和动态路由。Zuul 本质上是一个基于 JVM 的网关&#xff0c;它提供了以下功能&#xff1a; 1.路由&#xff1a;Zuul 允许客户端和服务器之间的所有入站和出站请求通过一个中心化的…

小红书怎么保存无水印图?

使用小红书APP长按保存的图片代有水印&#xff0c;很多人想知道保存小红书无水印图片的方法。本文教你如何保存到无水印的小红书图片&#xff0c;但是请注意不要侵犯作者图片的版权。 小红书怎么保存无水印图&#xff1f; 1、手机上打开小红书APP&#xff1b; 2、打开后&#…

昇思25天学习打卡营第13天|BERT

一、简介&#xff1a; BERT全称是来自变换器的双向编码器表征量&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;&#xff0c;它是Google于2018年末开发并发布的一种新型语言模型。与BERT模型相似的预训练语言模型例如问答、命名实体识别、自…