0°

Arduino内置教程-数字-多重音调

这个例子展示怎样用tone()命令在多个输出上弹奏不同的音调。

简介

  • 这个例子展示怎样用tone()命令在多个输出上弹奏不同的音调。
  • tone()命令是通过Atmega的内置定时器来工作的,设置你想要的频率,并且用定时器来产生一个输出脉冲。因为它只用一个定时器,所以你只能一个定时器弹奏一个音调。然而你可以按顺序地在不同的引脚上弹奏音调。为了达到这个目的,你需要在移到下一个引脚前关闭这个引脚的定时器。
  • 感谢Greg Borenstein澄清这部分。

硬件要求

  • Arduino or Genuino 开发板
  • 3 8 Ω扬声器
  • 3 100Ω 电阻
  • 连接线
  • 面包板

电路

Arduino内置教程-数字-多重音调

原理图

Arduino内置教程-数字-多重音调

样例代码

  • 下面的程序在按顺序弹奏每一个扬声器的音调之前先关闭前一个扬声器。每个音调持续时间的注释和它后面的延时是一样的。
  • 这是主程序:
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);
}
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论