用户工具

站点工具


learing:examples:tone4

差别

这里会显示出您选择的修订版和当前版本之间的差别。


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>
 +
 +<WRAP left round box 100%>
 +===== ALPHA 8F328D-U核心 =====
 +==== 硬件 ====
 +
 +==== 搭建电路 ====
 +
 +==== 代码 ====
 +</WRAP>
 +
 +<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);  
 +  //在8号脚播放500毫秒音乐
 +  tone(8, 523, 300);
 +  delay(300);
 +}</code>
 +</WRAP>