[翻译]]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);
}
|