【Arduino和高中通用技术】——四、摘自For violin的一部分,tone函数

        在Arduino中,有很多函数和库,tone就是其中一个,这个函数可以模拟不同的频率从而使蜂鸣器发出不同的声音。曾经,在课堂上展示过一个7个按键的小品,但是由于时间关系没有作代码检查,最后一个音高出实际100hz,真是遗憾。

        由于没有更多的硬件,所以只演示了tone函数的使用:

/*
 Name:		Sketch1.ino
 Created:	2019/2/11 17:16:22
 Author:	Administrator
*/

#define NTD1 294
#define NTD2 330
#define NTD3 350
#define NTD4 393
#define NTD5 441
#define NTD6 495
#define NTD7 556

#define NTDL1 147
#define NTDL2 165
#define NTDL3 175
#define NTDL4 196
#define NTDL5 221
#define NTDL6 248
#define NTDL7 278

#define NTDH1 589
#define NTDH2 661
#define NTDH3 700
#define NTDH4 786
#define NTDH5 882
#define NTDH6 990
#define NTDH7 112

uint8_t PinViolin = 6;

int NTD[21] = { NTD1, NTD2, NTD3, NTD4, NTD5, NTD6, NTD7,
				NTDL1,NTDL2,NTDL3,NTDL4,NTDL5,NTDL6,NTDL7,
				NTDH1 ,NTDH2 ,NTDH3 ,NTDH4 ,NTDH5 ,NTDH6 ,NTDH7 };
int curIDX = 0;
// the setup function runs once when you press reset or power the board
void setup() {
	pinMode(PinViolin, OUTPUT);
}

// the loop function runs over and over again until power down or reset
void loop() {
	for (int i = 0; i <sizeof(NTD); i++) {
		tone(PinViolin,NTD[i],300);
		delay(500);
		noTone(PinViolin);
	}
	delay(1000);
}

这个函数有三个参数:

1、输出引脚

2、频率

3、发音时常

注意:delay(500),这样就导致发音300ms而后停顿200毫秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清晨曦月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值