极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10567|回复: 0

[翻译]]Arduino自带范例Digital之toneMultiple

[复制链接]
发表于 2013-7-2 21:20:19 | 显示全部楼层 |阅读模式
[翻译]]Arduino自带范例Digital之toneMultiple
/*
翻译:tom
时间:2013年07月01日
IDE版本号:1.01
发表地址:www.geek-workshop.com
翻译说明: 根据arduino自带的范例进行翻译,可能根据实际的需要略作修改



*/
Digital toneMultiple

使用tone()作为多端口输出

这个范例显示如何使用tone(),在多个输出设备上播放不同的单音符。

tone()函数工作在接管Atmega的内部定时器,设置你想要的频率,使用定时器发出脉冲输出到数字口。
从此它仅使用一个定时器,你能播放一个单音符在一个时间。你能,不管怎么样,
继续在多个端口上播放单音符。这样做,你需要关闭定时器,在移到下一个端口前。

感谢 Greg Borenstein 使我们知道这个。

硬件需要
+ 3个8欧姆扬声器
+ 3个100欧姆电阻
+ 面包板
+ 连接导线

电路

图片使用Fritzing生成。需要更多电路范例,看Fritzing project page .

原理图


代码

这草图下面播放一个单音符依次在不同的扬声器上,首先关闭前一个扬声器。
注意每个音符持续的时间是相同的。

这里主要描述:
/*
  Multiple tone player


依次在多个端口播放多个tone
电路:

* 三个8欧姆扬声器接在在数字端口6,7,8上

created 8 March 2010
by Tom Igoe
based on a snippet from Greg Borenstein

This example code is in the public domain.

http://arduino.cc/en/Tutorial/Tone4

*/
void setup()
{
}

void loop()
{

//关闭tone()函数在8号端口
noTone(8);

//播放一个音符在6号端口上200毫秒
tone(6,440,200);
delay(200);

//关闭tone()函数在6号端口
noTone(6);

//播放一个音符在7号端口上500毫秒
tone(7,494,500);
delay(500);

//关闭tone()函数在7号端口
noTone(7);

tone(8,523,300);
delay(300);

}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 08:35 , Processed in 0.091113 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表