arduino 嗡鸣器 音乐_Arduino教程——蜂鸣器发声
更强的代码
#define NOTE_0 -1
#define NOTE_A1 441
#define NOTE_A2 495
#define NOTE_A3 556
#define NOTE_A4 589
#define NOTE_A5 661
#define NOTE_A6 742
#define NOTE_A7 833
#define NOTE_AL1 221
#define NOTE_AL2 248
#define NOTE_AL3 278
#define NOTE_AL4 294
#define NOTE_AL5 330
#define NOTE_AL6 371
#define NOTE_AL7 416
#define NOTE_AH1 882
#define NOTE_AH2 990
#define NOTE_AH3 1112
#define NOTE_AH4 1178
#define NOTE_AH5 1322
#define NOTE_AH6 1484
#define NOTE_AH7 1665
#define NOTE_B1 495
#define NOTE_B2 556
#define NOTE_B3 589
#define NOTE_B4 661
#define NOTE_B5 742
#define NOTE_B6 833
#define NOTE_B7 935
#define NOTE_BL1 248
#define NOTE_BL2 278
#define NOTE_BL3 294
#define NOTE_BL4 330
#define NOTE_BL5 371
#define NOTE_BL6 416
#define NOTE_BL7 467
#define NOTE_BH1 990
#define NOTE_BH2 1112
#define NOTE_BH3 1178
#define NOTE_BH4 1322
#define NOTE_BH5 1484
#define NOTE_BH6 1665
#define NOTE_BH7 1869
#define NOTE_C1 262
#define NOTE_C2 294
#define NOTE_C3 330
#define NOTE_C4 350
#define NOTE_C5 393
#define NOTE_C6 441
#define NOTE_C7 495
#define NOTE_CL1 131
#define NOTE_CL2 147
#define NOTE_CL3 165
#define NOTE_CL4 175
#define NOTE_CL5 196
#define NOTE_CL6 221
#define NOTE_CL7 248
#define NOTE_CH1 525
#define NOTE_CH2 589
#define NOTE_CH3 661
#define NOTE_CH4 700
#define NOTE_CH5 786
#define NOTE_CH6 882
#define NOTE_CH7 990
#define NOTE_D1 294
#define NOTE_D2 330
#define NOTE_D3 350
#define NOTE_D4 393
#define NOTE_D5 441
#define NOTE_D6 495
#define NOTE_D7 556
#define NOTE_DL1 147
#define NOTE_DL2 165
#define NOTE_DL3 175
#define NOTE_DL4 196
#define NOTE_DL5 221
#define NOTE_DL6 248
#define NOTE_DL7 278
#define NOTE_DH1 589
#define NOTE_DH2 661
#define NOTE_DH3 700
#define NOTE_DH4 786
#define NOTE_DH5 882
#define NOTE_DH6 990
#define NOTE_DH7 1112
#define NOTE_E1 330
#define NOTE_E2 350
#define NOTE_E3 393
#define NOTE_E4 441
#define NOTE_E5 495
#define NOTE_E6 556
#define NOTE_E7 624
#define NOTE_EL1 165
#define NOTE_EL2 175
#define NOTE_EL3 196
#define NOTE_EL4 221
#define NOTE_EL5 248
#define NOTE_EL6 278
#define NOTE_EL7 312
#define NOTE_EH1 661
#define NOTE_EH2 700
#define NOTE_EH3 786
#define NOTE_EH4 882
#define NOTE_EH5 990
#define NOTE_EH6 1112
#define NOTE_EH7 1248
#define NOTE_F1 350
#define NOTE_F2 393
#define NOTE_F3 441
#define NOTE_F4 495
#define NOTE_F5 556
#define NOTE_F6 624
#define NOTE_F7 661
#define NOTE_FL1 175
#define NOTE_FL2 196
#define NOTE_FL3 221
#define NOTE_FL4 234
#define NOTE_FL5 262
#define NOTE_FL6 294
#define NOTE_FL7 330
#define NOTE_FH1 700
#define NOTE_FH2 786
#define NOTE_FH3 882
#define NOTE_FH4 935
#define NOTE_FH5 1049
#define NOTE_FH6 1178
#define NOTE_FH7 1322
#define NOTE_G1 393
#define NOTE_G2 441
#define NOTE_G3 495
#define NOTE_G4 556
#define NOTE_G5 624
#define NOTE_G6 661
#define NOTE_G7 742
#define NOTE_GL1 196
#define NOTE_GL2 221
#define NOTE_GL3 234
#define NOTE_GL4 262
#define NOTE_GL5 294
#define NOTE_GL6 330
#define NOTE_GL7 371
#define NOTE_GH1 786
#define NOTE_GH2 882
#define NOTE_GH3 990
#define NOTE_GH4 1049
#define NOTE_GH5 1178
#define NOTE_GH6 1322
#define NOTE_GH7 1484
//以上部分是定义是把每个音符和频率值对应起来,其实不用打这么多,但是都打上了,后面可以随意编写各种歌,我这里用NOTE_D+数字表示音符,NOTE_DH+数字表示上面有点的那种音符,NOTE_DL+数字表示下面有点的那种音符。这样后面写起来比较好识别。
#define WHOLE 1
#define HALF 0.5
#define QUARTER 0.25
#define EIGHTH 0.25
#define SIXTEENTH 0.625
//这部分是用英文对应了拍子,这样后面也比较好看
#define DURATION 400//每个音符持续的时间,400是调整时间的越大,曲子速度越慢,越小曲子速度越快,自己掌握吧
int t1[] =
{
NOTE_DH1,NOTE_D6,NOTE_D5,NOTE_D6,NOTE_0,
NOTE_DH1,NOTE_D6,NOTE_D5,NOTE_DH1,NOTE_D6,NOTE_0,NOTE_D6,
NOTE_D6,NOTE_D6,NOTE_D5,NOTE_D6,NOTE_0,NOTE_D6,
NOTE_DH1,NOTE_D6,NOTE_D5,NOTE_DH1,NOTE_D6,NOTE_0,
NOTE_D1,NOTE_D1,NOTE_D3,
NOTE_D1,NOTE_D1,NOTE_D3,NOTE_0,
NOTE_D6,NOTE_D6,NOTE_D6,NOTE_D5,NOTE_D6,
NOTE_D5,NOTE_D1,NOTE_D3,NOTE_0,
NOTE_DH1,NOTE_D6,NOTE_D6,NOTE_D5,NOTE_D6,
NOTE_D5,NOTE_D1,NOTE_D2,NOTE_0,
NOTE_D7,NOTE_D7,NOTE_D5,NOTE_D3,
NOTE_D5,
NOTE_DH1,NOTE_0,NOTE_D6,NOTE_D6,NOTE_D5,NOTE_D5,NOTE_D6,NOTE_D6,
NOTE_0,NOTE_D5,NOTE_D1,NOTE_D3,NOTE_0,
NOTE_DH1,NOTE_0,NOTE_D6,NOTE_D6,NOTE_D5,NOTE_D5,NOTE_D6,NOTE_D6,
NOTE_0,NOTE_D5,NOTE_D1,NOTE_D2,NOTE_0,
NOTE_D3,NOTE_D3,NOTE_D1,NOTE_DL6,
NOTE_D1,
NOTE_D3,NOTE_D5,NOTE_D6,NOTE_D6,
NOTE_D3,NOTE_D5,NOTE_D6,NOTE_D6,
NOTE_DH1,NOTE_0,NOTE_D7,NOTE_D5,
NOTE_D6
};
//这部分就是整首曲子的音符部分,用了一个序列定义为tune,整数
float d1[]=
{
1,1,0.5,0.5,1,
0.5,0.5,0.5,0.5,1,0.5,0.5,
0.5,1,0.5,1,0.5,0.5,
0.5,0.5,0.5,0.5,1,1,
1,1,1+1,
0.5,1,1+0.5,1,
1,1,0.5,0.5,1,
0.5,1,1+0.5,1,
0.5,0.5,0.5,0.5,1+1,
0.5,1,1+0.5,1,
1+1,0.5,0.5,1,
1+1+1+1,
0.5,0.5,0.5+0.25,0.25,0.5+0.25,0.25,0.5+0.25,0.25,
0.5,1,0.5,1,1,
0.5,0.5,0.5+0.25,0.25,0.5+0.25,0.25,0.5+0.25,0.25,
0.5,1,0.5,1,1,
1+1,0.5,0.5,1,
1+1+1+1,
0.5,1,0.5,1+1,
0.5,1,0.5,1+1,
1+1,0.5,0.5,1,
1+1+1+1
};
//这部分是整首曲子的接拍部分,也定义个序列duration,浮点(数组的个数和前面音符的个数是一样的,一一对应么)(+代表连音)
int t2[] =
{
NOTE_CL6, NOTE_CL6, NOTE_C1, NOTE_C2,
NOTE_C3, NOTE_C5,
NOTE_C6, NOTE_CL6, NOTE_C1, NOTE_C2,
NOTE_C3,
NOTE_C2, NOTE_C2, NOTE_C2, NOTE_C3,
NOTE_C5 , NOTE_C5, NOTE_C5, NOTE_C6,
NOTE_C3,
NOTE_CL6, NOTE_CL6, NOTE_C1, NOTE_C2,
NOTE_C3, NOTE_C5,
NOTE_C6, NOTE_CL6, NOTE_C1, NOTE_C2,
NOTE_C3,
NOTE_C2, NOTE_C2, NOTE_C2, NOTE_C3,
NOTE_C5,NOTE_C5,NOTE_0,NOTE_CL5,
NOTE_CL6
};
float d2[]=
{
1,1,1,1,3,1,1,1,1,1,4,1,1,1,1,1,1,1+1,4,1,1,1,1,3,1,1,1,1,1,4,1,1,1,1,1,1,1,1,4
};
//同上
int tonePin =6;//定义数字11 接口
int potpin=0; //定义模拟接口0
int inpin =13 ;//定义数字7 接口
int val;//定义变量val
int gal=0;
int length;//这里定义一个变量,后面用来表示共有多少个音符
void setup()
{
pinMode(tonePin,OUTPUT);//定义小灯接口为输出接口
pinMode(inpin,INPUT);//定义按键接口为输入接口
length = sizeof(t1)/sizeof(t1[0]);//这里用了一个sizeof函数,可以查出tone序列里有多少个音符
lcd.begin(16, 2); //初始化LCD
}
void loop()
{
while(1)
gal=analogRead(potpin);
val=digitalRead(inpin);//读取数字7 口电平值赋给val
{
if(val==HIGH)//检测按键是否按下
{
if (gal<=30)
{
for(int x=0;x
{
tone(tonePin,t1[x]);//此函数依次播放tune序列里的数组,即每个音符
delay(400*d1[x]);//每个音符持续的时间,即节拍duration,400是调整时间的越大,曲子速度越慢,越小曲子速度越快,自己掌握吧
noTone(tonePin);//停止当前音符,进入下一音符
if(val==LOW) break;//加上这一句就行了
}
}
else
{
if(gal<=60 and gal>=30)
{
for(int x=0;x
{
tone(tonePin,t2[x]);//此函数依次播放tune序列里的数组,即每个音符
delay(DURATION*d2[x]);
noTone(tonePin);//停止当前音符,进入下一音符
if(val==LOW) break;
}
}
}
}
}
}
arduino 嗡鸣器 音乐_Arduino教程——蜂鸣器发声相关推荐
- arduino 嗡鸣器 音乐_Arduino 控制蜂鸣器播放《小星星》歌曲
这里使用的是无源蜂鸣器. 直接上程序:Arduino 控制蜂鸣器播放<小星星> int speakerPin = 9; int length = 15; // the number of ...
- arduino 嗡鸣器 音乐_Arduino 蜂鸣器音乐代码转化程序开发
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近在做利用蜂鸣器播放音乐的实验,其中环节有以下:1.查找需要播放的音乐简谱.2.对照简谱以及Arduino本身自带库里面的音乐实例toneMelody翻 ...
- arduino 嗡鸣器 音乐_arduino蜂鸣器怎么输出指定的音乐
展开全部 给你个音乐程序,你先试试.#define NTD0 -1 #define NTD1 294 #define NTD2 330 #define NTD3 350 #define NTD4 39 ...
- arduino 嗡鸣器 音乐_【arduino】继续蜂鸣器音乐播放,arduinoIDE里调用音乐播放库...
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 昨天简单的介绍了一下蜂鸣器硬件和米思齐上如何演奏音乐(一种非常简单的用arduino控 ...
- arduino 嗡鸣器 音乐_[求助]怎样实现红外遥控蜂鸣器播放音乐,求大神指正
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define NOTE_0 -1#define NOTE_A1 441 #define NOTE_A2 495 #define NOT ...
- arduino ps2摇杆程序_arduino教程系列16-PS2摇杆/游戏摇杆实验 arduino入门,arduino教程...
PS2摇杆一般可以用来控制小车等等,其构造主要就是两个10K的电位器,还有一个按键开关.五个端口分别为VCC,X,Button,Y,GND. 先来看看实物图 2011-8-30 17:56 上传 (1 ...
- Arduino触摸屏MP3音乐播放器和闹钟项目
在这个项目中,我将向您展示如何制作Arduino触摸屏MP3音乐播放器和闹钟.您可以观看以下视频或阅读下面的书面教程. Arduino触摸屏MP3音乐播放器和闹钟项目 概述 主屏幕具有大时钟,日期和温 ...
- Ardino基础教程 7_蜂鸣器发声实验
实验七:蜂鸣器发声 用Arduino 可以完成的互动作品有很多,最常见也最常用的就是声光展示了,前面一直都是在用LED 小灯在做实验,本个实验就让大家的电路发出声音,能够发出声音的最常见的元器件就是蜂 ...
- stm32无源蜂鸣器定时器_使用STM32控制无源蜂鸣器发声播放音乐
[实例简介] 利用GPIO控制无源蜂鸣器发声,播放音乐.使用SysTick延时,使用位带操作寻址IO口引脚. [实例截图] [核心代码] pMusic ├── CMSIS │ ├── core_c ...
最新文章
- 弱网测试用什么农_弱网测试(一)
- java虚拟机6.HotSpot的GC实现
- 第一个 Dubbo 应用
- 解决PyCharm中报出 “Shadows built-in name xxx“ 的警告
- 非阻塞IO与异步IO
- 配送A/B评估体系建设实践
- Python抓取豆瓣电影详情并提取信息
- iOS企业证书申请介绍
- 如何使用github和git进行团队合作开发(队友和owner的仓库连接)
- 第十四届全国大学生智能汽车竞赛获奖名单
- 繁凡的 ACM 退役记(一名普通算法竞赛选手与博主的竞赛生涯回忆录)凡是过往,皆为序章
- HttpPrinter共享打印机 网络打印
- AutoCAD二次开发学习记录一:批量统计dwg文件数据
- 20162327WJH第二次实验——树
- 电子书-CHM-上线CS
- 《高等代数学》(姚慕生),例1.5.10
- 机房环动监控系统作用
- 网管必知:常用电脑密码破解
- 减治法(Decrease and Conquer)
- FastDfs与ElasticSearch和Mysql完成海量数据存储搜索功能
热门文章
- 深圳网络信息安全员(NSACE初级)认证招生简章
- sencha app watch php,Sencha Cmd 命令及 ExtJs 应用的调试工具
- 封建日本挑战赛:电影/视觉特效角色获奖者访谈
- 驰骋BPM-新增功能发布-签批组件
- win10 php命令行,win10自带播放器 rmvb_大学 计算机文化基础教程 win 7_win php 命令行...
- 在线导航测试软件,性能测试三:无网络状态下导航_软件资讯软件评测-中关村在线...
- 银河麒麟V10系统 syslog和kern.log文件过大问题解决,定时清理日志文件
- Fine-grained Classification 论文调研
- android怎样生成固定的aes密钥,关于android:如何更改AES 128的密钥数量
- ZYNQ7000系列入门之GPIO点灯