【Arduino官方教程第一辑】示例程序 2-8 曲调2

曲调2

tone()函数通过控制Atmega处理器的内部定时器来工作。它会根据你设定的频率在输出引脚上输出脉冲信号。由于tone()只使用了一个定时器,因此你只能同时在一个扬声器上播放。不过,你可以按照一定顺序的在不同引脚之间快速切换来实现多个扬声器“同时”播放。为了做到这一点,你需要将在一个引脚发声后,快速的“转向”下一个引脚。

完成本例所需的硬件

  • Arduino板或Genuino板
  • 3个8Ω扬声器
  • 3个100Ω电阻
  • 跳线
  • 面包板

线路连接

【Arduino官方教程第一辑】示例程序 2-8 曲调2_第1张图片

原理图

【Arduino官方教程第一辑】示例程序 2-8 曲调2_第2张图片

例程代码

下列工程按照顺序在不同扬声器上播放声音(在后一个播放之前将前一个关闭)。注意,每次播放音符的时间应和之后delay的时间一样。

/* 曲调2 按照顺序在不同扬声器上播放音符。 电路连接: * 3个8Ω扬声器分别连接到数字引脚6、7和8 代码是公开的 */

void setup() {

}

void loop() {
  // 关闭8号引脚上的tone:
  noTone(8);
  // 在6号引脚上播放200毫秒:
  tone(6, 440, 200);
  delay(200);

  // 关闭6号引脚上的tone:
  noTone(6);
  //在7号引脚上播放500毫秒:
  tone(7, 494, 500);
  delay(500);

  // 关闭7号引脚上的tone:
  noTone(7);
  //在8号引脚上播放500毫秒:
  tone(8, 523, 300);
  delay(300);
}

tone()
LED闪烁进阶:不用delay()函数的LED闪烁工程。
按钮:用按钮控制LED。
按键去抖:读取一个按钮状态,并且滤去干扰。
数字引脚上拉电阻:展示pinMode()函数INPUT_PULLUP 常量的使用。
按钮状态改变的探测:记录按钮被按下的次数。
音乐键盘:使用压力传感器和压电扬声器制作三键电子琴。
使用tone()函数弹奏一段小曲:使用压电扬声器播放一段曲调。
曲调2:使用tone()函数操作多个扬声器播放曲调。
曲调3:根据模拟信号通过压电扬声器播放一个音调。

更新进程

日期 日志 译者
2016年5月1日 创建并翻译文档 唐家勋

译者:唐家勋
邮箱:[email protected]
QQ:649196486
转载请注明出处,一切只因为热爱。
希望您能指出宝贵意见,谢谢。
【Arduino官方教程第一辑】示例程序 2-8 曲调2_第3张图片

你可能感兴趣的:(工作,函数,arduino,处理器)