这里会显示出您选择的修订版和当前版本之间的差别。
— | learing:examples:tone4 [2023/06/07 04:23] (当前版本) – 创建 - 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== SPlaying tones on Multiple outputs using the tone() function (使用tone功能在多个输出引脚播放音乐)====== | ||
+ | |||
+ | <WRAP left round info 65%> | ||
+ | 这个例子显示了在多路输出使用tone功能播放不同音乐 | ||
+ | |||
+ | tong命令使用ATMEGA芯片内部的计时器来工作,设置一个你想需要的频率,使用计时器产生脉冲到输出引脚。因为只用到一个计时器,所以一次只能播放一种音乐,然而你需要在多个引脚连续播放音乐,想要达到这种目的,你需要在把计时器转到下一个引脚的时候关闭上一个引脚的计时器。 | ||
+ | </ | ||
+ | |||
+ | <WRAP left round box 100%> | ||
+ | ===== ALPHA 8F328D-U核心 ===== | ||
+ | ==== 硬件 ==== | ||
+ | |||
+ | ==== 搭建电路 ==== | ||
+ | |||
+ | ==== 代码 ==== | ||
+ | </ | ||
+ | |||
+ | <WRAP left round box 100%> | ||
+ | ===== MangoII ===== | ||
+ | |||
+ | ==== 硬件要求 ==== | ||
+ | |||
+ | |8欧姆阻抗扬声器| | ||
+ | |100欧姆电阻| | ||
+ | |面包板| | ||
+ | |跳线| | ||
+ | |||
+ | ==== 电路 ==== | ||
+ | |||
+ | ==== 代码 ==== | ||
+ | |||
+ | 下面的程序按顺序在每个扬声器播放音乐(播放音乐时关闭上一个扬声器)。需要注意的是,每段音乐播放的时间和delay设置的时间是一样的。 | ||
+ | |||
+ | <code cpp>/* | ||
+ | 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); | ||
+ | // | ||
+ | tone(8, 523, 300); | ||
+ | delay(300); | ||
+ | }</ | ||
+ | </ | ||