在本Arduino教程中,我们将学习如何执行tone()命令来生成音符。该配置将播放您可能熟悉的微小音乐音调。

项目所需的硬件
Arduino BoardLoud speaker - 8欧姆1英寸电阻- 100欧姆抖动线
过程:
这太简单了,需要一根扬声器线通过100欧姆电阻与pin8集成,另一根线接地或电源的负轨,如下图所示:

图片来源:https://arduino.cc/en/Tutorial/Tone
编程代码
您将看到代码中包含一个附加文件(Pitchs.h)。该文件使用一些标准音乐曲调的音调值进行了预编程。
更准确地说,你可以发现音符_C4是中间的C。音符_FS4是F尖锐的,并且以类似的方式。以下所附注释表的程序最初由Brett Hagman制定,根据该程序形成了tone()命令。
每当应用程序需要在Arduino配置中产生音符时,数据就变得很方便。可以按照以下给出的方法学习基本草图:
/*
旋律
演奏旋律
线路:
* 8欧姆扬声器数字引脚8
创建于2010年1月21日
2011年8月30日
由汤姆Igoe
此示例代码位于公共域。
https://arduino.cc/en/Tutorial/Tone
*/
#包括“pitchs.h”
//旋律中的音符:
int[] =旋律
{
注释C4,注释G3,注释G3,注释A3,注释G3,0,注释B3,
NOTE_C4};
//音符持续时间:4 =四分音符,8 =八分音符,等等:
int noteDurations[] = {
4, 8, 8, 4,4,4,4,4 };
无效设置()
{
//遍历旋律的音符:
for (int
本注=0;
本注释<8;
(注++){
//计算音符的持续时间,取1
第二
//除以笔记类型。
/ /。四分音符= 1000 / 4,八分音符=
1000/8等。
int noteDuration = 1000/noteDuration [thisNote];
语调(8 [thisNote]旋律noteDuration);
//为了区分音符,设置最小时间
他们之间。
//音符的持续时间+ 30%似乎很有效:
int pauseBetweenNotes =
noteDuration * 1.30;
延迟(pauseBetweenNotes);
//停止播放音调:
诺通(8);
}
}
无效循环()
{
//不需要重复旋律。
为了创建pitch .h文件,你需要点击
在“新标签”按钮,可能是这样的:→并简单地粘贴以下代码 :/*************************************************
*公共常量
*************************************************/
#定义注释\u B0 31
#定义NOTE_C1 33
#定义NOTE_CS1 35
#定义注释D1 37
#定义NOTE_DS1 39
#定义NOTE_E1 41
#定义NOTE_F1 44
#定义NOTE_FS1 46
#定义NOTE_G1 49
#定义NOTE_GS1 52
#定义NOTE_A1 55
#将注释定义为1 58
#定义NOTE_B1 62
#定义NOTE_C2 65
#定义NOTE_CS2 69
#定义NOTE_D2 73
#定义NOTE_DS2 78
#定义NOTE_E2 82
#定义注释_f287
#定义NOTE_FS2 93
#定义NOTE_G2 98
#定义NOTE_GS2 104
#定义NOTE_A2 110
#定义注释2 117
#定义NOTE_B2 123
#定义NOTE_C3 131
#定义NOTE_CS3 139
#定义注释D3 147
#定义注释\u DS3 156
#定义NOTE_E3 165
#定义NOTE_F3 175
#定义NOTE_FS3 185
#定义注释3 196
#定义注释\u GS3 208
#定义NOTE_A3 220
#定义NOTE_AS3 233
#定义NOTE_B3 247
#定义NOTE_C4 262
#定义注释4 277
#定义注释4 294
#定义NOTE_DS4 311
#定义NOTE_E4 330
#定义NOTE_F4 349
#定义注释4 370
#定义NOTE_G4 392
#定义NOTE_GS4 415
#定义注释A4 440
#定义NOTE_AS4 466
#定义NOTE_B4 494
#定义NOTE_C5 523
#定义NOTE_CS5 554
#定义NOTE_D5 587
#定义NOTE_DS5 622
#定义NOTE_E5 659
#定义NOTE_F5 698
#定义注释5 740
#定义NOTE_G5 784
#定义注释\u GS5 831
#定义NOTE_A5 880
#定义NOTE_AS5 932
#定义NOTE_B5 988
#定义NOTE_C6 1047
#定义NOTE_CS6 1109
#定义NOTE_D6 1175
#定义NOTE_DS6 1245
#定义NOTE_E6 1319
#定义注释6 1397
#定义注释6 1480
#定义NOTE_G6 1568
#定义注释6 1661
#定义注释_A6 1760
#定义NOTE_AS6 1865
#定义注释_b61976
#定义NOTE_C7 2093
#定义注释\u CS7 2217
#定义注释7 2349
#定义NOTE_DS7 2489
#定义NOTE_E7 2637
#定义注释7 2794
#定义NOTE_FS7 2960
#定义NOTE_G7 3136
#定义NOTE_GS7 3322
#定义NOTE_A7 3520
#将注释定义为7 3729
#定义NOTE_B7 3951
#定义注释\u C8 4186
#定义NOTE_CS8 4435
#定义NOTE_D8 4699
#定义NOTE_DS8 4978
使用8欧姆扬声器会比使用通常使用的压电扬声器更好吗?谢谢。
这是可以尝试的,我不确定哪一种会产生更好的结果