释放双眼,带上耳机,听听看~!
这个例子展示怎样用tone()命令在多个输出上弹奏不同的音调。
目录
简介
- 这个例子展示怎样用tone()命令在多个输出上弹奏不同的音调。
- tone()命令是通过Atmega的内置定时器来工作的,设置你想要的频率,并且用定时器来产生一个输出脉冲。因为它只用一个定时器,所以你只能一个定时器弹奏一个音调。然而你可以按顺序地在不同的引脚上弹奏音调。为了达到这个目的,你需要在移到下一个引脚前关闭这个引脚的定时器。
- 感谢Greg Borenstein澄清这部分。
硬件要求
- Arduino or Genuino 开发板
- 3 8 Ω扬声器
- 3 100Ω 电阻
- 连接线
- 面包板
电路
原理图
样例代码
- 下面的程序在按顺序弹奏每一个扬声器的音调之前先关闭前一个扬声器。每个音调持续时间的注释和它后面的延时是一样的。
- 这是主程序:
void setup() {
}
void loop() {
// turn off tone function for pin 8:
noTone(8);
// play a note on pin 6 for 200 ms:
tone(6, 440, 200);
delay(200);
// turn off tone function for pin 6:
noTone(6);
// play a note on pin 7 for 500 ms:
tone(7, 494, 500);
delay(500);
// turn off tone function for pin 7:
noTone(7);
// play a note on pin 8 for 500 ms:
tone(8, 523, 300);
delay(300);
}