【Arduino官方教程第一辑】示例程序 2-8 曲调2

来源:互联网 发布:dnf装备数据查询 编辑:程序博客网 时间:2024/05/16 06:08

曲调2

tone()函数通过控制Atmega处理器的内部定时器来工作。它会根据你设定的频率在输出引脚上输出脉冲信号。由于tone()只使用了一个定时器,因此你只能同时在一个扬声器上播放。不过,你可以按照一定顺序的在不同引脚之间快速切换来实现多个扬声器“同时”播放。为了做到这一点,你需要将在一个引脚发声后,快速的“转向”下一个引脚。

完成本例所需的硬件

  • Arduino板或Genuino板
  • 3个8Ω扬声器
  • 3个100Ω电阻
  • 跳线
  • 面包板

线路连接

图片来自官网

原理图

图片来自官网

例程代码

下列工程按照顺序在不同扬声器上播放声音(在后一个播放之前将前一个关闭)。注意,每次播放音符的时间应和之后delay的时间一样。

/*  曲调2按照顺序在不同扬声器上播放音符。电路连接: * 3个8Ω扬声器分别连接到数字引脚6、7和8代码是公开的 */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);}

tone()
LED闪烁进阶:不用delay()函数的LED闪烁工程。
按钮:用按钮控制LED。
按键去抖:读取一个按钮状态,并且滤去干扰。
数字引脚上拉电阻:展示pinMode()函数INPUT_PULLUP 常量的使用。
按钮状态改变的探测:记录按钮被按下的次数。
音乐键盘:使用压力传感器和压电扬声器制作三键电子琴。
使用tone()函数弹奏一段小曲:使用压电扬声器播放一段曲调。
曲调2:使用tone()函数操作多个扬声器播放曲调。
曲调3:根据模拟信号通过压电扬声器播放一个音调。


更新进程

日期 日志 译者 2016年5月1日 创建并翻译文档 唐家勋

译者:唐家勋
邮箱:mrsteventang@gmail.com
QQ:649196486
转载请注明出处,一切只因为热爱。
希望您能指出宝贵意见,谢谢。
我的微信公众号欢迎关注,2016年6月开始更新

0 0
原创粉丝点击