arduino控制JQ8900-16P语音模块

2023-11-09 05:20

本文主要是介绍arduino控制JQ8900-16P语音模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先要感谢stm32通过 一线串口通信控制JQ8900-16P语音模块的作者

我就是根据这位博主的代码改写的,但是碰到了意想不到的问题。其实代码是写对了,语音模块是单独供电,这个供电的地要和arduino的地共用。(我第一天测试的时候其实也注意到了这个需要共地,但是反复测试不行,因为没有保存代码,今天只能重新一遍,居然就好了。)另外接上一个3W的喇叭,直接用arduino的板子给语音模块供电也是可以带动的。不需要额外电源。

void setup()
{pinMode(3,OUTPUT);
}void loop()
{SendData(0x0a);    //清空数字SendData(0x01);    //曲目号SendData(0x00);SendData(0x0b);    //选曲播放delay(2000);    //延时//发送0x01SendData(0x0a);SendData(0x01);SendData(0x0b);delay(2000);//发送0x07SendData(0x0a);SendData(0x07);SendData(0x0b);delay(2000);//发送0x03SendData(0x0a);SendData(0x03);SendData(0x0b);delay(2000);}void SendData (char addr )//发送函数。
{digitalWrite(3,HIGH); /*开始拉高*/delayMicroseconds ( 1000 );digitalWrite(3,LOW); /*开始引导码*/delayMicroseconds ( 3200 );/*此处延时最少要大于2ms*/for (int i = 0; i < 8; i++ ) /*总共8位数据  */{digitalWrite(3,HIGH);if ( addr & 0x01 ) /*3:1表示数据位1,每个位用两个脉冲表示  */{delayMicroseconds ( 600 );digitalWrite(3,LOW);delayMicroseconds ( 200 );}else              /*1:3表示数据位0 ,每个位用两个脉冲表示  */{delayMicroseconds ( 200 );digitalWrite(3,LOW);delayMicroseconds ( 600 );}addr >>= 1;}digitalWrite(3,HIGH);}

啧啧啧,搞了两天。另外我发现音量控制有点问题设置成20和80的音量值,感觉都是一样的。都比较小,怎么回复原来的音量呢?给语音板断电就恢复成默认大音量了。

在淘宝店可以搜到这个模块产品和说明书。音量的设置方法有详细的说明。
在这里插入图片描述
另外原作者提到在网上找了很多延时函数都达不到要求,但是在arduino里面直接用自带的微秒延时就行了。说明还是很准的。

这篇关于arduino控制JQ8900-16P语音模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/374175

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类

控制反转 的种类

之前对控制反转的定义和解释都不是很清晰。最近翻书发现在《Pro Spring 5》(免费电子版在文章最后)有一段非常不错的解释。记录一下,有道翻译贴出来方便查看。如有请直接跳过中文,看后面的原文。 控制反转的类型 控制反转的类型您可能想知道为什么有两种类型的IoC,以及为什么这些类型被进一步划分为不同的实现。这个问题似乎没有明确的答案;当然,不同的类型提供了一定程度的灵活性,但