背景
连线
电视接一根光纤到到解码器,解码器连接到传统的5.1音箱上。然后在电视的音频输出设置里,改为通过音箱播放声音
出现的问题
电视遥控器调节音量,音箱的音量并没有发生变化。搜索发现,一些网友说原因是电视直接将音频信号给了解码器,并没有在其中做任何处理。这个理论是说得通的,除非电视把信号转成PCM再调节振幅,否则音量确实不会被调节。然而音箱调节音量只可以手动扭旋钮,并没有遥控器那么方便
解决思路
- 电视切换到音箱输出后,电视本身的扬声器不会再输出声音。但是音量条是可以通过遥控器调节的
- 音箱的音量调节旋钮应该是个电位器
- 理论上可以写个APP放在电视里,监听电视音量条的变化,然后把音量值通过网络发送到一个单片机中,单片机带动数字电位器,来替代原本的音箱旋钮。
音箱电路分析
音箱上的音量旋钮是一个6脚的B103电位器,实际是两个B103电位器完全并联起来用的
解决方案
购买了一个NodeMCU(ESP8266)开发板,两个X9C103S数字电位器。
电视上的程序是监听音量变化,每1S或者音量被调节时发送一次音量数据(因为是广播,防止丢包造成音量调节不成功。每1S发一次,可以确保万一断开连接了,重连后还可以调节到正常音量)
ESP8266的程序是用Arduino写的。收到广播时,如果发生了音量变化,就调节一下数字电位器的阻值
遇到的问题
ESP8266重启时,恢复连接特别慢,要几分钟才可以重新连上WiFi。只在我的华硕AC-86U上有问题,换手机热点之类的,都是秒连。
搜索了下相关资料,可能是Espressif FW新版本带来的问题。在Arduino选择开发板的时候,选择Generic ESP8266 Module,并把Espressif FW改成2.2.1(legacy)的版本,就解决问题了。重启之后可以秒连。
版权声明:本文为CSDN博主「西红柿炖番茄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/luhanglei/article/details/121931650
暂无评论