电子开发 | 基础入门 | 电路原理图 | 梯形图实例 | PLC基础   《如果喜欢本站,请按 Ctrl+D 手动收藏!感谢您的支持》一起学习一起进步,电子开发王欢迎您!.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

★电路公式手册,最新版《电子电路公式计算器》,电路公式查询手册 电路公式计算器【电子从业人员必备手册】
☆十天学会单片机实例100 c语言 chm格式。资料内容详细,覆盖例子多,内容广【电子从业人员必备手册】
搜索: 您现在的位置: 电子开发网 >> 基础入门 >> Arduino开发学习 >> 正文

使用Arduino播放《星球大战》音乐 Arduino播放音乐

作者:佚名    文章来源:本站原创    点击数:1537    更新时间:2019-05-31

本篇文章,我们将使用Arduino制作一个播放 《星球大战》音乐的装置。

原件清单

  1. Arduino UNO
  2. 蜂鸣器
  3. 连接线

电路图

Arduino音乐播放器 

Arduino音乐播放器

电路很简单,只需要把蜂鸣器的正极连接到Arduino UNO的数字针5,负极连接到GND即可完成。

代码

这是一个非常简单的项目,项目的硬件部分对每一个人来说均不存在困难,稍微困难一点的应该是代码部分,下面提供本项目完整的代码,供大家参考。重点是各种声音的数值,完整代码如下:

**/
const int c = 261;
const int d = 294;
const int e = 329;
const int f = 349;
const int g = 391;
const int gS = 415;
const int a = 440;
const int aS = 455;
const int b = 466;
const int cH = 523;
const int cSH = 554;
const int dH = 587;
const int dSH = 622;
const int eH = 659;
const int fH = 698;
const int fSH = 740;
const int gH = 784;
const int gSH = 830;
const int aH = 880;
const int buzzerPin = 5;
const int ledPin1 = 12;
const int ledPin2 = 13;
int counter = 0;
void setup()
{
//Setup pin modes
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}
void loop()
{
//Play first section
firstSection();
//Play second section
secondSection();
//Variant 1
beep(f, 250); 
beep(gS, 500); 
beep(f, 350); 
beep(a, 125);
beep(cH, 500);
beep(a, 375); 
beep(cH, 125);
beep(eH, 650);
delay(500);
//Repeat second section
secondSection();
//Variant 2
beep(f, 250); 
beep(gS, 500); 
beep(f, 375); 
beep(cH, 125);
beep(a, 500); 
beep(f, 375); 
beep(cH, 125);
beep(a, 650); 
delay(650);
}
void beep(int note, int duration)
{
//Play tone on buzzerPin
tone(buzzerPin, note, duration);
//Play different LED depending on value of 'counter'
if(counter % 2 == 0)
{
digitalWrite(ledPin1, HIGH);
delay(duration);
digitalWrite(ledPin1, LOW);
}else
{
digitalWrite(ledPin2, HIGH);
delay(duration);
digitalWrite(ledPin2, LOW);
}
//Stop tone on buzzerPin
noTone(buzzerPin);
delay(50);
//Increment counter
counter++;
}
void firstSection()
{
beep(a, 500);
beep(a, 500); 
beep(a, 500);
beep(f, 350);
beep(cH, 150); 
beep(a, 500);
beep(f, 350);
beep(cH, 150);
beep(a, 650);
delay(500);
beep(eH, 500);
beep(eH, 500);
beep(eH, 500); 
beep(fH, 350);
beep(cH, 150);
beep(gS, 500);
beep(f, 350);
beep(cH, 150);
beep(a, 650);
delay(500);
}
void secondSection()
{
beep(aH, 500);
beep(a, 300);
beep(a, 150);
beep(aH, 500);
beep(gSH, 325);
beep(gH, 175);
beep(fSH, 125);
beep(fH, 125); 
beep(fSH, 250);
delay(325);
beep(aS, 250);
beep(dSH, 500);
beep(dH, 325); 
beep(cSH, 175); 
beep(cH, 125); 
beep(b, 125); 
beep(cH, 250); 
delay(350);
}

Tags:Arduino,播放音乐  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
    没有任何评论
电子开发网:汇集综合各类电子制作与电路图的网站,plc工控技术,模电数电知识,单片机EDA等等!荟萃电路图网站精华,为工程师创造价值。欢迎关注微信公众号:电子开发网!

三菱PLC软件 GX Wor

西门子200smartPLC选

模拟量转换工程量转

简述555定时器工作原

CODESYS 编程软件基

组态王和三菱PLC设备
 简单三极管逆变器
 TL494制作50HZ逆变
 80W简单的功放电路
 555制作的简易电子
 850热风枪电路图原
 直流12v荧光灯电路
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询