arduino控制JQ8900-16P语音模块

news/2024/11/16 16:21:13/

首先要感谢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里面直接用自带的微秒延时就行了。说明还是很准的。


http://www.ppmy.cn/news/249142.html

相关文章

51单片机与JQ8900语音播报模块

51单片机JQ8900通信 51单片机串口通信方式实现功能实现功能接线图实物 51单片机 使用的是普中51-单核-A5的板子 串口通信方式 、 实现功能 测试语音播报模块一线串口模式。 在上位机&#xff08;电脑&#xff09;端输入字符1&#xff08;通过串口调试助手&#xff09;&…

(转)嵌入式系统中常见的网卡驱动比较(CS8900A,RTL8019,DM9000)

1. CS8900A CS8900芯片是Cirrus Logic公司生产的一种局域网处理芯片&#xff0c;在嵌入式领域中使用非常常见。它的封装是100-pin TQFP&#xff0c;内部集成了在片RAM、10BASE-T收发滤波器&#xff0c;并且提供8位和16位两种接口。CS8900与ARM芯片按照16位方式连接&#xf…

Linux-2.6.20的cs8900驱动分析(一)

本博客转载于&#xff1a;http://blog.chinaunix.net/xmlrpc.php?rblog/article&uid22535114&id1773574 一、初始化阶段 网络初始化被调用的路径为&#xff1a; init->do_basic_setup->do_initcalls->net_olddevs_init->ethif_probe2->probe_list2-&g…

NANO2410 CS8900 debugging

1. 内核启动过程中CS8900驱动始终没有加载 最终发现跟device注册有关&#xff0c;修改mach_smdk2410.c文件如下&#xff1a; /* CS8900 */static struct resource s3c_cs89x0_resources[] {[0] DEFINE_RES_MEM(0x19000000, SZ_1M),[1] DEFINE_RES_IRQ(IRQ_EINT9), };stati…

Linux-2.6.20的cs8900驱动分析(三)

本博客转载于&#xff1a;http://blog.chinaunix.net/xmlrpc.php?rblog/article&uid22535114&id1773576 三、net_rx和net_send_packet 3.1 net_rx 在这部分将介绍cs8900驱动的两个最重要的函数&#xff0c;内核通过该两个函数实现了数据的收发。net_rx函数的主要功能是…

CS8900A网络驱动程序移植

上图为开发板上的网卡原理图&#xff0c;可得到&#xff1a; 1.CS8900A的访问基址为0x19000000 2.总线位宽为16 3.中断引脚为EINT9 驱动文件drivers/net/cs89x0.c既可以编进内核&#xff0c;也可以编译为一个可加载模块。编译进内核时&#xff0c;它的入口函数为cs89x0_pro…

LT8900低成本的无线电收发器 2.4G射频芯片 CMOS射频收发器

LT8900低成本的2.4GHz无线电收发器 概述 LT8900是一个低成本&#xff0c;完全集成CMOS射频收发器&#xff0c;GFSK数据调制解调器&#xff0c;和数据包框架&#xff0c;优化用于中GHz ISM波段。 它包含发射接收射频合成器&#xff0c;和数字调制解调器功能&#xff0c;少数外…

中兴服务器售后,中兴全兼容智能视讯服务器ZXMVC8900

全兼容智能视讯服务器ZXMVC8900 中兴全兼容智能视讯服务器ZXMVC8900采用电信交换机架构设计&#xff0c;全面支持ITU-T H.323、H.320协议&#xff0c;可通过不同网络(IP、ISDN、DDN、SDH、ATM、卫星等)接入用户终端&#xff0c;并组织召开视频会议。 XMVC8900具有全兼容各种网络…