Arduino开发实践蜂鸣器(附源码+效果图)

本文介绍如何使用Arduino控制蜂鸣器播放音乐,并使LED灯随着音乐节奏闪烁。文章详细讲解了蜂鸣器的工作原理、Arduino编程方法及其实现步骤。

  1. 概述(选题的目的和意义)

目的:蜂鸣器,是一种可以发出单调声音的器件,在电子 DIY 领域应用广泛,因为它使用简单,不像扬声器一样需要用准确的音频信号来控制。蜂鸣器分为有源蜂鸣器和无源蜂鸣器。其中 “源” 不是指电源,而是指振荡源,有源蜂鸣器只需要通直流电压就能发出蜂鸣声;而无源蜂鸣器则需要用一定频率的信号来驱动。让单片机控制蜂鸣器发出不一样的声音 输出复杂声音模拟乐音输出,led灯根据音乐频率和节拍进行闪烁。

意义:通过音乐’’源’’带动蜂鸣器发声,进一步了解蜂鸣器的工作原理。以及Arduino使用及意义。了解乐理知识,熟练掌握硬件的连接。

  1. 主要功能及技术指标
    1. 主要功能指标

蜂鸣器是通过给电压材料供电来发出声音的。压电材料可以随电压和频率的不同,产生机械变形,从而产生不同频率的声音。

    1. 技术性能指标

代码:

#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);

}

  1. 硬件设计方案

  1. 软件设计方案
  1. 在电脑安装arduino编译器
  2. 安装CH340驱动器

  1. 系统工作流程

第一步:准备好线若干、主板(cpu)、面包板、蜂鸣器、灯、usb接口、arduino编译器、驱动

第二步:连接电路

第三步:连接主机编译器,使用arduino编译器,编译上传代码,这样就可以实现arduino蜂鸣器播放音乐led灯闪烁了

  1. 实验结果及分析

 

 

     

  1. 总结

蜂鸣器输入信号的频率决定了蜂鸣器的声音频率,而 Arduino 默认的 PWM 输出频率是固定在 490.196Hz 的,所以不能简单地使用 analogWrite() 函数来控制蜂鸣器。 Arduino 为蜂鸣器控制设计了一个专用函数 tone(pin, frequency, duration),其中 pin 指输出引脚。对应的,还有一个 noTone(pin) 函数,用于停止指定引脚上的方波输出。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

3403188894@qq.com

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

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

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

打赏作者

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

抵扣说明:

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

余额充值