极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11246|回复: 4

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

[复制链接]
发表于 2013-3-9 22:02:30 | 显示全部楼层 |阅读模式
[翻译]]Arduino自带范例Digital之toneMelody
电路图

原理图



  1. /*
  2. 作者:tom
  3. 时间:2013年03月08日
  4. IDE版本号:1.01
  5. 发表地址:www.geek-workshop.com
  6. 作用:让扬声器发一段声音

  7. */

  8. /*
  9.     歌曲(旋律)

  10. 播放一段旋律

  11. 电路:  
  12. * 8 欧姆的扬声器接在数字端口 8
  13. created 21 Jan 2010
  14. modified 30 Aug 2011
  15. by Tom Igoe

  16. 这个范例代码在公共范围(不受版权制约)


  17. [url]http://arduino.cc/en/Tutorial/Tone[/url]

  18. */
  19. #include "pitches.h"

  20. //注释旋律中的(音阶)
  21. int melody[] = {
  22.   NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};

  23. int noteDurations[] = {
  24.   4, 8, 8, 4,4,4,4,4 };
  25. //例如:注解 (节拍) 4 = quarter note, 8 = eighth note

  26. void setup() {
  27.    //反复申明这段旋律
  28.   for (int thisNote = 0; thisNote < 8; thisNote++) {
  29. //计算音节的时间,取一秒钟的时间以内作为基准
  30. //除以节拍的的类型
  31.   
  32. //例如 四分音符=1000/4 八分音符=1000/8
  33.         int noteDuration = 1000/noteDurations[thisNote];
  34.     tone(8, melody[thisNote],noteDuration);

  35. //为了区分音符,设置一个最小时间在它们之间
  36. //(旋律的)节拍+30% 似乎工作的很好

  37.     int pauseBetweenNotes = noteDuration * 1.30;
  38.     delay(pauseBetweenNotes);
  39.       //停止播放旋律
  40.     noTone(8);
  41.   }
  42. }

  43. void loop() {
  44.   //不再需要播放这个旋律
  45. }
复制代码

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2013-3-10 07:38:45 | 显示全部楼层
kankan`````````````````````````
回复 支持 反对

使用道具 举报

发表于 2013-7-2 21:33:13 | 显示全部楼层
音符那里什么意思没看懂int melody[] = {
  NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};

int noteDurations[] = {
  4, 8, 8, 4,4,4,4,4 };
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-2 21:39:23 | 显示全部楼层
lmb312 发表于 2013-7-2 21:33
音符那里什么意思没看懂int melody[] = {
  NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOT ...

NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3
这些是音阶

节拍

int noteDurations[] = {
  4, 8, 8, 4,4,4,4,4 };
这些是对应的节拍,即音阶的延续的时间
回复 支持 反对

使用道具 举报

发表于 2013-7-2 22:02:17 | 显示全部楼层
比如说我要编另外的歌曲那我怎么改?我都看不懂
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-6 23:46 , Processed in 0.060055 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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