如何通过外部硬件来控制音量控制
扫描二维码
随时随地手机看文章
今天我要给大家介绍的是来自omriharel (GitHub)的“deej”项目。这样就可以通过外部硬件控制音量,不仅可以控制整体音量,还可以控制个人程序或设备,如扬声器、耳机或PC上连接的麦克风。例如,单个程序的音量可以独立混合。
按如下方式将旋转编码器连接到Nano上。
旋转编码器的数量可以根据需要变化。其中三个用于说明目的。
软件
安装deej
在您的计算机上安装deej软件,以便它可以相应地设置设备上的音量。
从项目的GitHub页面下载,下载最新版本的deej.exe文件并移动到新目录下。
如果您的计算机上安装的不是Windows操作系统,则需要自己编译该文件。您可以在GitHub存储库中找到更多相关信息。
单片机编程
首次使用Nano微控制器,需要先编写CH340的驱动程序。
为了更容易地读取编码器值,需要使用encoder .h库。这可以像往常一样通过集成库管理器安装,也可以作为Arduino IDE中的.zip文件安装。
通过在Arduino IDE中选择正确的板和COM端口下载Nano以下代码。如果上传有问题,转到Tools>Processor并选择Atmega328P (Old Bootloader)。
首先,集成编码器库并创建编码器的对象。在setup()中初始化串行监视器。在下面的循环()中,确定编码器位置,如果需要,将其限制在10位值范围内。由于编码器每旋转包含32步,因此值乘以50的因数。然后通过串行接口将这些数据以指定的格式传输到计算机。
通过在Arduino IDE中打开串行监视器并检查当编码器转动时监视器中的值是否相应变化来测试设置。
软件配置
一旦硬件测试成功,现在就可以配置软件,在后台通过串行端口读取这些值。
为此,创建配置。使用任何编辑器在前面创建的目录中创建Yaml文件(或者,这里的示例文件可以从这里下载)。
该配置文件包含以下5个配置项:
•slider_mapping
相应的功能在这里被分配给编码器。以下功能是可能的:
•主控一般音量
麦克风:控制连接的麦克风/输入设备
程序名。exe:控制指定程序的音量
deej。Unmapped:控制所有未使用上述命令选择的程序
deej。当前:控制当前程序的音量(打开和窗口打开)
Speaker (xyz):控制指定的设备,必须指定整个显示名称。输入和输出设备都可以使用。
system:控制Windows系统卷
例子:
slider_mapping:
0:主
1: spotify.exe
2: deej.current
多个功能也可以分配给一个通道。简单地使用如下列表:
x:
函数1
功能2
注意:对于多行yaml配置部分,请注意缩进!
invert_sliders
该命令用于改变方向。这意味着0% - 100% <=> 100% - 0%
例子:
invert_sliders:假
com_port
这里必须指定微控制器的串行COM端口。这可以在Arduino IDE或Windows设备管理器中确定。
例子:
com_port: COM6
baud_rate
串行通信的速度必须与通过serial .begin()设置的速度匹配。
例如:baud_rate: 9600
noise_reduction
此设置项仅在使用电位器而不是旋转编码器时才重要,因为这可以补偿ADC的值波动,即所谓的噪声。
设置选项:高;违约;低
例子:
noise_reduction:高
最后,您可以用3D打印机打印一个支架来测试编码器与面包板的结合。这是一个简单的支架,可以快速打印并连接到面包板上。欢迎您根据您的想法在CAD程序中调整模型。
结论
现在你可以使用三个旋转编码器来改变整体音量,Spotify的音量和你目前使用的程序的音量。您还可以添加更多的旋转编码器来单独控制更多的程序或设备。许多扩展和修改是可能的,这里没有限制你的创造力。
本文编译自hackster.io