【P52】基于继电器的音频静音电路

news/2024/10/19 6:20:59/

TDA1543 还没做完,主要原因是最近一直忙着做别的工作赚钱糊口,做耳放什么的实在要穷死了。

因为 I2S 模块选用了 QCC5125 蓝牙模块,它有一个播放状态输出接口,在音频播放的时候输出高电平,没有播放的时候输出低电平。除了播放状态,还有蓝牙连接状态的输出,但是只使用蓝牙状态,在 USB 接入时就不能用了,最后还是选择播放状态来控制。因为开机后一定不可能先呈现播放状态,因此使用静音电路可以在开机是避免 POP 爆音,开机的时候不会砰的一声。不过在停止播放的时候,至少延时 10 秒钟,播放状态才切换为低电平,在播放状态关机还是会有一点噪音出现。

QCC5125蓝牙模块 蓝牙5.0 aptX aptxHD 高通蓝牙模块 I2S SPDIF-淘宝网 (taobao.com)

815b908105a6bddee24f0525f2737a10.jpeg
静音测试电路

与多数高电平静音电路相反,模块在需要静音,即没有播放时是低电平。默认状态下,耳机单元短接到音频地,注意不是放大器输出短接到音频地,后者会烧掉放大器,此时是静音状态。有音频播放时 Q1 在 Ctrl 高电平时导通,继电器通电,切换到正常接通状态。

此电路可以使控制电路与音频电路完全隔离,不会出现干扰。C1 和 C2 两个电容是测试用的,后来拆掉了,最终整合的时候也不会用到,D1 因为手里 4007 二极管不知道丢哪里去了,没有找到,用 1N4148 开关二极管代替了。其它方面没有变化。Q1 使用 2N3904 经典开关晶体管,也很便宜,或者也可以使用 MMUN2211 这种预置晶体管,由于内置了电阻,把电阻也省下了,布板更节省空间。

最后还是决定在成品电路上用上这个模块,毕竟能解决多一半的问题,就当它没那么鸡肋吧。


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

相关文章

P52:用类制造对象

** P52(用类制造对象): ** P52(用类制造对象): 一、用类制造对象举例: 二、对象封装:把数据和对数据的操作放在一起,然后由这些操作去保护内部的数据,数据…

P52-前端基础CSS-阿里图标字体库

P52-前端基础CSS-阿里图标字体库 1.概述 上篇《P51-前端基础CSS-图标字体介绍》 介绍了fontawesome官网的图标字体库,下面介绍阿里的图标字体库 2.下载阿里图标字体库 2.1.下载地址 阿里图标字体库 2.2.选择图标添加到购物车 2.3.点击购物车添加至项目 2.4.下载…

super oj p52

1.电话号码要用string读入,否则会超时 2.按字典序排列答案时应该有2种方法 (1)把字符转化成为数字数组,直接用sort快排即可 (2)把数字借用trie数的思想(没试过) 3.‘-’的处理可以…

P52-函数-值传递

#include<iostream> using namespace std; int add(int sum1, int sum2) //void 调用 //这里面&#xff08;add&#xff09;要是把temp加进去的话 后面的也需要 { cout << "…

p33~p52

p33 032 异常处理&#xff1a;你不可能总是对的 实例1&#xff1a; file_name input(‘请输入需要打开的文件名:’) file open(file_name) print(‘文件的内容是&#xff1a;’) for each_line in file: print(each_line) file.close() 注&#xff1a;py文件与要打开的文…

p52 22

&#xfeff;&#xfeff; #include<stdio.h> int main() { int x,i0; for(x1;x<999;x) { if((x%30)&&((x%105)||(x/10%105)||(x/1005))) { i; printf("%3d ",x); if(i%100) printf("\n"); } } return 0; }

p52 23

&#xfeff;&#xfeff; #include<stdio.h> int main () { int x,a,b,i0,n0,c0,d0; float s,m; while(1) {printf("请输入\n"); scanf("%d",&x); if(x>0) { cx; i; } if(i0) s0; else s1.0*c/(1.0*i); …

p52 24

#include<stdio.h> int main() { int x,a,c0; printf("三位数中完数有\n"); for(x100;x<999;x) { c0; for(a1;a<x;a) { if(x%a0) cac; } if(cx) printf("%d",x); } return 0; }