用户工具

站点工具


learing:examples:tone4

SPlaying tones on Multiple outputs using the tone() function (使用tone功能在多个输出引脚播放音乐)

这个例子显示了在多路输出使用tone功能播放不同音乐

tong命令使用ATMEGA芯片内部的计时器来工作,设置一个你想需要的频率,使用计时器产生脉冲到输出引脚。因为只用到一个计时器,所以一次只能播放一种音乐,然而你需要在多个引脚连续播放音乐,想要达到这种目的,你需要在把计时器转到下一个引脚的时候关闭上一个引脚的计时器。

ALPHA 8F328D-U核心

硬件

搭建电路

代码

MangoII

硬件要求

8欧姆阻抗扬声器
100欧姆电阻
面包板
跳线

电路

代码

下面的程序按顺序在每个扬声器播放音乐(播放音乐时关闭上一个扬声器)。需要注意的是,每段音乐播放的时间和delay设置的时间是一样的。

/*
  Multiple tone player
 在不同的管脚连续播放不同的音乐
*/
 
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);
}
learing/examples/tone4.txt · 最后更改: 2017/04/07 10:03 (外部编辑)