目的:蜂鸣器,是一种可以发出单调声音的器件,在电子 DIY 领域应用广泛,因为它使用简单,不像扬声器一样需要用准确的音频信号来控制。蜂鸣器分为有源蜂鸣器和无源蜂鸣器。其中 “源” 不是指电源,而是指振荡源,有源蜂鸣器只需要通直流电压就能发出蜂鸣声;而无源蜂鸣器则需要用一定频率的信号来驱动。让单片机控制蜂鸣器发出不一样的声音 输出复杂声音模拟乐音输出,led灯根据音乐频率和节拍进行闪烁。
意义:通过音乐’’源’’带动蜂鸣器发声,进一步了解蜂鸣器的工作原理。以及Arduino使用及意义。了解乐理知识,熟练掌握硬件的连接。
蜂鸣器是通过给电压材料供电来发出声音的。压电材料可以随电压和频率的不同,产生机械变形,从而产生不同频率的声音。
代码:
#define NTC0 -1
#define NTC1 262
#define NTC2 294
#define NTC3 330
#define NTC4 350
#define NTC5 393
#define NTC6 441
#define NTC7 495
#define NTCL5 196
#define NTCL6 221
#define NTCL7 248
#define NTCH1 525
//音符
int tune[]=
{
NTC3,NTC2,NTC3,NTC6,NTC3,NTC2,NTC3,NTC7,
NTC3,NTC2,NTC3,NTCH1,NTC7,NTC5,
NTC3,NTC2,NTC3,NTC6,NTC3,NTC2,NTC3,NTC7,
NTC5,NTC2,NTCL7,
NTC3,NTC2,NTC3,NTC6,NTC3,NTC2,NTC3,NTC7,
NTC3,NTC2,NTC3,NTCH1,NTC7,NTC5,
NTC2,NTC3,NTCL6,NTC2,NTC3,NTCL6,NTCL5,
NTCL6,NTC1,NTCL7,
NTCL6,NTC1,NTC1,NTC2,NTC2,NTC3,NTC3,NTC5,NTC6,
NTC5,NTC3,NTC2,
NTCL6,NTC1,NTC1,NTC2,NTC2,NTC3,NTC3,NTCL6,NTCL5,
NTCL6,NTC1,NTC1,NTC2,NTC2,NTC3,NTC3,NTC5,NTC6,
NTC5,NTC3,NTC2,
NTC2,NTC3,NTCL6,NTC2,NTC3,NTCL6,NTCL5,NTCL6,
NTCL6,NTC1,NTC2,NTC1,NTCL6,
NTCL6,NTC1,NTC2,NTC1,NTC3,
NTC3,NTC5,NTC6,NTC6,NTC5,NTC3,NTC2,NTC1,NTC2,NTC3,
NTCL6,NTC1,NTC2,NTC1,NTCL6,
NTCL6,NTC1,NTC2,NTC1,NTC3,
NTC2,NTC3,NTCL6,NTC2,NTC3,NTCL6,NTCL5,NTCL6,
NTC3,NTC5,NTCH1,NTC7,NTC3,
NTC3,NTC2,NTC1,NTC1,NTC2,NTC3,
NTC3,NTC2,NTC1,NTC6,NTCH1,NTC7,NTC6,NTC5,NTC2,NTC3,
NTC3,NTC5,NTCH1,NTC7,NTC3,
NTC3,NTC2,NTC1,NTC1,NTC2,NTC3,
NTC2,NTC3,NTCL6,NTC2,NTC3,NTCL6,NTCL5,NTCL6,
};
//节拍
int durt[]=
{
250,250,250,250,250,250,250,250,
250,250,250,250,500,500,
250,250,250,250,250,250,250,250,
500,500,1000,
250,250,250,250,250,250,250,250,
250,250,250,250,500,500,
250,250,500,250,250,250,250,500,500,1000,
250,250,250,250,250,250,250,125,125,
750,250,1000,
250,250,250,250,250,250,500,500,1500,
250,250,250,250,250,250,250,125,125,
750,250,1000,
250,250,500,250,250,250,250,1500,
250,250,750,250,500,250,250,
750,250,500,250,250,500,250,250,250,250,500,500,1000,
250,250,875,125,500,250,250,500,500,1000,
250,250,500,250,250,250,250,1500,
250,250,750,250,500,250,250,
500,250,250,500,250,250,500,250,250,250,250,250,250,1500,
250,250,750,250,500,250,250,
500,250,250,1000,250,250,500,250,250,250,250,2000,
};
int length;
int tonepin=6;
int ledp=1;
void setup()
{
pinMode(tonepin,OUTPUT);
pinMode(ledp,OUTPUT);
length=sizeof(tune)/sizeof(tune[0]);
}
void loop()
{
for(int x=0;x<length;x++)
{
tone(tonepin,tune[x]);
digitalWrite(ledp, HIGH);
delay(durt[x]);
digitalWrite(ledp, LOW);
delay(durt[x]);
noTone(tonepin);
}
delay(2000);
}

- 在电脑安装arduino编译器
- 安装CH340驱动器
第一步:准备好线若干、主板(cpu)、面包板、蜂鸣器、灯、usb接口、arduino编译器、驱动
第二步:连接电路
第三步:连接主机编译器,使用arduino编译器,编译上传代码,这样就可以实现arduino蜂鸣器播放音乐led灯闪烁了
蜂鸣器输入信号的频率决定了蜂鸣器的声音频率,而 Arduino 默认的 PWM 输出频率是固定在 490.196Hz 的,所以不能简单地使用 analogWrite() 函数来控制蜂鸣器。 Arduino 为蜂鸣器控制设计了一个专用函数 tone(pin, frequency, duration),其中 pin 指输出引脚。对应的,还有一个 noTone(pin) 函数,用于停止指定引脚上的方波输出。
本文介绍如何使用Arduino控制蜂鸣器播放音乐,并使LED灯随着音乐节奏闪烁。文章详细讲解了蜂鸣器的工作原理、Arduino编程方法及其实现步骤。
4183

被折叠的 条评论
为什么被折叠?



