📜  Arduino-音调库(1)

📅  最后修改于: 2023-12-03 14:59:22.765000             🧑  作者: Mango

Arduino-音调库

Arduino的音调库允许您编写代码来生成声音和音乐。您可以使用它来播放简单的提示声、警报或音乐。Arduino的音调库是一个预安装的库,保存在Arduino IDE的库文件夹中。使用音调库之前,请确保您的开发板与计算机连接好,已经选择开发板和端口。

基础语法

音调库使用tone()函数来产生频率,在使用tone()函数之前,您需要指定将要产生音调的引脚。

void tone(uint8_t pin, uint16_t frequency);

其中,pin是输出音调的引脚,必须是数字引脚;frequency是欲生成的音调的频率,单位为赫兹(Hz)。

要停止播放音调,您可以使用noTone()函数。

void noTone(uint8_t pin);

其中,pin是要停止输出音调的引脚。

示例

以下示例使用 Arduino 板上的音调库,以间隔为 500ms 扫描一个由 8 个蜂鸣器组成的循环队列。使用note[]数组保存了一个 C 调全音阶音符的频率,按顺序输出。

int note[] = {262, 294, 330, 349, 392, 440, 494, 523};
int length = 8;
int i = 0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int duration = 500;
  tone(8, note[i]);
  delay(duration);
  noTone(8);
  i++;
  if (i >= length) {
    i = 0;
  }
}
注意事项

使用音调库时,请注意以下事项:

  1. 请确保指定的引脚是数位引脚和支持 PWM 的引脚。
  2. 您可以通过限定延时的时间来改变音调的长短。
  3. 如果您想要播放多个音调或音乐,请使用数组并循环播放它们。
  4. 有些声音需要使用蜂鸣器,而有些则需要使用扬声器。
结论

音调库是 Arduino 开发板中一种实用的功能。您可以使用它播放警报、提示音或简短的音乐。通过使用 tone()noTone() 函数,您可以在音调库中轻松产生各种频率的声音。同时,请注意可以使用包含数组的逻辑,生产复杂的旋律,并将它们输出到扬声器或蜂鸣器上。