Menu
CoddyTech

蜂鸣声与静音

本课属于 Coddy Arduino 学习旅程的“输出”单元。第 11 课,共 24 课。

要停止音调,请调用 noTone(pin)。蜂鸣声由音调、等待和静音组成:

tone(8, 1000);
delay(100);
noTone(8);

tone() 还可以接收第三个数字,即以毫秒为单位的持续时间。随后音调会自动停止:

tone(8, 1000, 100);  // 发出持续 100 ms 的蜂鸣声
delay(200);         // 先发出蜂鸣声,然后静音 100 ms

注意:tone() 不会等待蜂鸣声结束。蜂鸣器还在发声时,下一行代码就会立即运行。因此,仍然需要使用 delay() 拉开蜂鸣声之间的间隔:如果不使用它,连续的两声蜂鸣会重叠在一起,你听起来就只会听到一声。

challenge icon

挑战

简单

让引脚 8 上的蜂鸣器像电话铃声一样成对鸣响:

  • 响一声 1000 Hz 的蜂鸣,持续 100 ms
  • 静音 100 ms
  • 再响一声,持续 100 ms
  • 静音一秒,然后重复

按“运行”,然后按“检查”。

亲手试试

const int buzzerPin = 8;

void setup() {
}

void loop() {
  // 蜂鸣一声,短暂停顿,再蜂鸣一声,然后静音一秒。
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

输出中的所有课

自己练习: Arduino 在线编辑器