[翻译]]Arduino自带范例Digital之toneMelody
[翻译]]Arduino自带范例Digital之toneMelody电路图
原理图
/*
作者:tom
时间:2013年03月08日
IDE版本号:1.01
发表地址:www.geek-workshop.com
作用:让扬声器发一段声音
*/
/*
歌曲(旋律)
播放一段旋律
电路:
* 8 欧姆的扬声器接在数字端口 8
created 21 Jan 2010
modified 30 Aug 2011
by Tom Igoe
这个范例代码在公共范围(不受版权制约)
http://arduino.cc/en/Tutorial/Tone
*/
#include "pitches.h"
//注释旋律中的(音阶)
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 };
//例如:注解 (节拍) 4 = quarter note, 8 = eighth note
void setup() {
//反复申明这段旋律
for (int thisNote = 0; thisNote < 8; thisNote++) {
//计算音节的时间,取一秒钟的时间以内作为基准
//除以节拍的的类型
//例如 四分音符=1000/4 八分音符=1000/8
int noteDuration = 1000/noteDurations;
tone(8, melody,noteDuration);
//为了区分音符,设置一个最小时间在它们之间
//(旋律的)节拍+30% 似乎工作的很好
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
//停止播放旋律
noTone(8);
}
}
void loop() {
//不再需要播放这个旋律
}
kankan````````````````````````` 音符那里什么意思没看懂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 }; lmb312 发表于 2013-7-2 21:33 static/image/common/back.gif
音符那里什么意思没看懂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 };
这些是对应的节拍,即音阶的延续的时间 比如说我要编另外的歌曲那我怎么改?我都看不懂
页:
[1]