下面这个程序会展示如何用tone()函数来实现多声道音乐控制。
由于tone()命令是由芯片内部的定时器运作的,设置你希望的频率然后用定时器脉冲输出。但是用一个定时器的话,你只能在同一个时间运行一个音符。然后,你可以在不同引脚上连续发不同音频,为了实现这个,你需要在移动到下一个音频前,关闭计时器。
硬件需求
—Arduino控制板
—8欧喇叭3个
—100欧电阻3个
—面包线
—面包板
代码
下面的代码演示在每个喇叭上发出音符,注意看tone函数里面的音符持续时间和delay函数里面是一致的。
void setup() {
}
void loop() {
// 关闭引脚8的发音功能
noTone(8);
// 在引脚6上发200ms
tone(6, 440, 200);
delay(200);
//关闭引脚6的发音
noTone(6);
// 在引脚7上发500ms
tone(7, 494, 500);
delay(500);
// 关闭引脚7的发音
noTone(7);
// 在引脚8上发300ms
tone(8, 523, 300);
delay(300);
}
}
void loop() {
// 关闭引脚8的发音功能
noTone(8);
// 在引脚6上发200ms
tone(6, 440, 200);
delay(200);
//关闭引脚6的发音
noTone(6);
// 在引脚7上发500ms
tone(7, 494, 500);
delay(500);
// 关闭引脚7的发音
noTone(7);
// 在引脚8上发300ms
tone(8, 523, 300);
delay(300);
}
请先
!