我有代码可以从 arduino 播放一点声音。这首歌是用数值编码的。但是如何让它在 arduino 中播放得更响亮呢?
#include <PCM.h>
int switchPin = 8;
const unsigned char sample[] PROGMEM = {
140, 124, 130, 126, 129, 126, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 127, 128, 128, 128, 128,
};
void setup()
{
pinMode(switchPin, INPUT);
}
void loop()
{
if(digitalRead(switchPin) == HIGH)
{
startPlayback(sample, sizeof(sample));
}
}
最佳答案
此示例代码使用了一个使用 PCM technique 的子例程控制数字引脚打开和关闭的时间间隔(并假设这些输出引脚连接到一个简单的扬声器)。请记住,声音的频率是产生音调的原因,而音量是这些频率的振幅。所以你要问的是,要使声音更大,如何增加信号的幅度。但是由于这个简单的演示只能改变数字信号切换的时间(频率)而不是振幅(一个位是打开或关闭。一个位永远不会“真正打开” [上限在这里表示大喊大叫 :-) ] ) 所以你唯一的选择是在 Arduino 和扬声器之间添加另一层硬件以增加音调的幅度 - 也就是放大器。这可以是一些简单的东西,如 this design tutorial 中描述的运算放大器。或将扬声器替换为扬声器的输入插孔。
关于c - 在处理过程中,如何通过这段代码使音量变大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9165949/