无源蜂鸣器+ARDUINO开发板播放音乐

用到材料
1个无源蜂鸣器
2根杜邦线
一片开发板
原理图

蜂鸣器长脚的为正,短脚为负极。

在蜂鸣器的底下也有标价正负。

接好线,选择喜欢的程序
1超级玛丽 扬声器
2蜂鸣器唱歌 小星星 国际歌
3模拟防控警报的响声
提供 3个测试程序,自己选择自己喜欢的下载玩玩。

代码:

超级玛丽

    /*Play Super Mario theme song with Arduino and speakercircuit:* 8-ohm speaker on digital pin 8created 4 June 2011by naozhendang.comreference:http://arduino.cc/en/Tutorial/Tone*/#define NOTE_B0  31#define NOTE_C1  33#define NOTE_CS1 35#define NOTE_D1  37#define NOTE_DS1 39#define NOTE_E1  41#define NOTE_F1  44#define NOTE_FS1 46#define NOTE_G1  49#define NOTE_GS1 52#define NOTE_A1  55#define NOTE_AS1 58#define NOTE_B1  62#define NOTE_C2  65#define NOTE_CS2 69#define NOTE_D2  73#define NOTE_DS2 78#define NOTE_E2  82#define NOTE_F2  87#define NOTE_FS2 93#define NOTE_G2  98#define NOTE_GS2 104#define NOTE_A2  110#define NOTE_AS2 117#define NOTE_B2  123#define NOTE_C3  131#define NOTE_CS3 139#define NOTE_D3  147#define NOTE_DS3 156#define NOTE_E3  165#define NOTE_F3  175#define NOTE_FS3 185#define NOTE_G3  196#define NOTE_GS3 208#define NOTE_A3  220#define NOTE_AS3 233#define NOTE_B3  247#define NOTE_C4  262#define NOTE_CS4 277#define NOTE_D4  294#define NOTE_DS4 311#define NOTE_E4  330#define NOTE_F4  349#define NOTE_FS4 370#define NOTE_G4  392#define NOTE_GS4 415#define NOTE_A4  440#define NOTE_AS4 466#define NOTE_B4  494#define NOTE_C5  523#define NOTE_CS5 554#define NOTE_D5  587#define NOTE_DS5 622#define NOTE_E5  659#define NOTE_F5  698#define NOTE_FS5 740#define NOTE_G5  784#define NOTE_GS5 831#define NOTE_A5  880#define NOTE_AS5 932#define NOTE_B5  988#define NOTE_C6  1047#define NOTE_CS6 1109#define NOTE_D6  1175#define NOTE_DS6 1245#define NOTE_E6  1319#define NOTE_F6  1397#define NOTE_FS6 1480#define NOTE_G6  1568#define NOTE_GS6 1661#define NOTE_A6  1760#define NOTE_AS6 1865#define NOTE_B6  1976#define NOTE_C7  2093#define NOTE_CS7 2217#define NOTE_D7  2349#define NOTE_DS7 2489#define NOTE_E7  2637#define NOTE_F7  2794#define NOTE_FS7 2960#define NOTE_G7  3136#define NOTE_GS7 3322#define NOTE_A7  3520#define NOTE_AS7 3729#define NOTE_B7  3951#define NOTE_C8  4186#define NOTE_CS8 4435#define NOTE_D8  4699#define NOTE_DS8 4978// notes in the melody:int melody[] = {NOTE_E4, NOTE_E4, NOTE_E4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_G3,NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3,NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3,NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_C5, NOTE_C5, NOTE_C5,NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_D4, NOTE_C4,NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4,NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3};// note durations: 4 = quarter note, 8 = eighth note, etc.:int noteDurations[] = {8,4,4,8,4,2,2,3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,3,3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,2,8,8,8,4,4,8,8,4,8,8,3,8,8,8,4,4,4,8,2,8,8,8,4,4,8,8,4,8,8,3,3,3,1,8,4,4,8,4,8,4,8,2,8,4,4,8,4,1,8,4,4,8,4,8,4,8,2};void setup() {// iterate over the notes of the melody:for (int thisNote = 0; thisNote < 98; thisNote++) {// to calculate the note duration, take one second// divided by the note type.//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.int noteDuration = 1000/noteDurations[thisNote];tone(8, melody[thisNote],noteDuration);// to distinguish the notes, set a minimum time between them.// the note's duration + 30% seems to work well:int pauseBetweenNotes = noteDuration * 1.30;delay(pauseBetweenNotes);// stop the tone playing:noTone(8);}}void loop() {// no need to repeat the melody.}

小星星 国际歌

int song[] = {/* 儿歌《小星星》*/277,277,415,415,466,466,415,370,370,330,330,311,311,277,415,415,370,370,330,330,311,415,415,370,370,330,330,311,277,277,415,415,466,466,415,370,370,330,330,311,311,277,/*《国际歌》*/370,494,466,554,494,370,311,415,330,415,554,494,466,415,370,330,311,370,494,466,554,494,370,311,415,330,415,554,494,466,554,659,494,622,554,466,415,466,494,415,466,370,370,330,370,415,415,554,494,466,554,554,466,370,370,330,370,622,494,415,466,494,466,554,494,415,370,622,554,494,370,311,415,330,554,494,466,415,370,370,622,554,370,494,466,466,415,415,415,554,554,622,554,494,370,311,415,330,330,554,494,466,415,370,622,311,622,740,659,622,554,622,659,659,622,622,554,554,494,};int noteDurations[] = {2,2,2,2,2,2,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1,1,1,2,2,2,2,2,1,2,2,1,2,2,2,2,2,1,1,1,2,2,2,2,2,1,2,2,2,2,1,1,1,1,2,2,2,1,2,2,2,2,1,2,2,2,2,2,1,1,1,2,2,1,2,2,2,2,2,1,2,2,2,2,1,1,2,1,2,2,2,1,1,2,1,2,2,2,1,1,2,2,1,1,1,1,1,1,2,1,2,1,2,1,2,2,2,1,1,2,1,2,2,2,2,1,1,1,1,2,1,1,1,1,1,2,2,1,1,2,1,2,1,};
void setup()
{for (int thisNote = 0; thisNote <154; thisNote++){int noteDuration = 1000/noteDurations[thisNote];// 计算每个节拍的时间,以一个节拍一秒为例,四分之一拍就是1000/4毫秒,八分之一拍就是1000/8毫秒tone(8, song[thisNote],noteDuration);int pauseBetweenNotes = noteDuration * 1.10; //每个音符间的停顿间隔,以该音符的130%为佳delay(pauseBetweenNotes);noTone(8);}
}
void loop()
{setup();//反复唱}

模拟防控警报

void setup()
{
}void loop()
{
for(int i=200;i=800;i++)                    用循环的方式将频率从200HZ 增加到800HZ
{pinMode(4,OUTPUT);tone(4,i);                            在四号端口输出频率
delay(5);                              该频率维持5毫秒
}
delay(4000);                            最高频率下维持4秒钟
for(int i=800;i=200;i--)
{pinMode(4,OUTPUT);tone(4,i);
delay(10);
}
}

arduino学习笔记二十--无源蜂鸣器+ARDUINO开发板播放音乐相关推荐

  1. arduino学习笔记二十二--模拟交通信号灯

    交通信号灯是交通信号中的重要组成部分,是道路交通的基本语言.交通信号灯由红灯(表示禁止通行).绿灯(表示允许通行).黄灯(表示警示)组成.分为:机动车信号灯.非机动车信号灯.人行横道信号灯.车道信号灯 ...

  2. Mr.J-- jQuery学习笔记(二十八)--DOM操作方法(添加方法总结)

    Table of Contents appendTo appendTo(source, target) 源代码 append prependTo ​ ​ ​ ​ prependTo源码 prepend ...

  3. 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言

    嵌入式系统设计师学习笔记二十八:嵌入式程序设计③--高级程序设计语言 解释程序和编译程序 编译器的工作阶段示意图 语法错误:非法字符,关键字或标识符拼写错误 语法错误:语法结构出错,if--endif ...

  4. uniapp 学习笔记二十二 购物车页面结构搭建

    uniapp 学习笔记二十二 购物车页面结构搭建 cart.vue <template><view><view class="flex padding" ...

  5. Polyworks脚本开发学习笔记(二十)-补充几个常见操作指令的使用

    Polyworks脚本开发学习笔记(二十)-补充几个常见操作指令的使用 大概要写到结尾了,最后几篇就将手册的各常用命令再看一遍,组合一下,并列举出常见的一些有用的操作. DATA_COLOR_MAP数 ...

  6. JVM 学习笔记二十六、JVM监控及诊断工具-GUI篇

    二十六.JVM监控及诊断工具-GUI篇 1.工具概述 使用上一张命令行工具或组合能帮您获取目标Java应用性能相关的基础信息,但他们存在下列局限: (1)无法获取方法级别的分析数据,如方法间的调用关系 ...

  7. JVM 学习笔记二十五、JVM监控及诊断工具-命令行篇

    二十五.JVM监控及诊断工具-命令行篇 1.概述 性能诊断是软件工程师在日常工作中经常面对和解决的问题,在用户体验至上的今天,解决好应用软件的性能问题能带来非常大的收益. Java作为最流行的编程语言 ...

  8. 立创eda学习笔记二十八:在嘉立创购买pcb板并贴片(smt)

    完整的写一下,分为两部分: 1.下pcb订单 这个可以看之前写的一个博客: 立创eda学习笔记三:pcb购买_Gutie_bartholomew的博客-CSDN博客 补充一下,买pcb可以直接有几个途 ...

  9. Linux学习笔记七:下载文件到开发板--搭建TFTP服务器

    目录 一.概述 二.Ubuntu 2.1 搭建 2.2 测试 2.3 疑问 三.开发板 3.1 查看IP 3.2 测试网络 3.3 从Ubuntu获取文件 一.概述 前面将交叉编译后的hello文件下 ...

最新文章

  1. Spark累加器(Accumulator)陷阱及解决办法
  2. 带有谓词的Java中的函数样式-第2部分
  3. linux之睡眠函数(my_sleep)
  4. java将中国标准模式转换成yyyy-mm-nn_java-IO
  5. Java通过 p12 建立ssl链接
  6. Entity Resolution(实体解析)
  7. 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_5 Mybatis中使用Dao实现类的执行过程分析-查询方法1...
  8. SpringBoot+zk+dubbo架构实践(三):部署Dubbo-admin管理平台
  9. 决策树CART 代价复杂度剪枝
  10. Godot Engine:格斗游戏中的必杀技(大招/绝招/特殊技/Special Move )输入系统实现
  11. 入学校计算机社团申请书,学校社团成立申请书
  12. Unity游戏开发客户端面经——Unity(初级)
  13. Cassandra初步学习和性能测试
  14. Windows7中随意排列图标(自动排列,对齐到网络)
  15. (筆記) 如何使用Debussy與ModelSim做Co-Simulation? (SOC) (Verilog) (VHDL) (Debussy) (ModelSim)
  16. Go爬虫colly官方示例二十一【shopify_sitemap】- 使用XPath请求抓取shopify网站地图里url
  17. C++11~C++20 备忘录
  18. 贪心算法——会场安排问题
  19. flash写保护原理_【转】NOR Flash擦写和原理分析
  20. html 小游戏 五子棋

热门文章

  1. 微信分享没图片的可能原因
  2. 经典面试题:从URL到页面
  3. BufferedReader和scanner用法和区别
  4. 图像文件格式与数据存储/传输格式详解
  5. android百度云推聊(转)
  6. java filedescriptor_Java FileDescriptor sync()方法
  7. 常见网络管理工具及资料收集
  8. ad 如何拖动实心区域的中间点
  9. 2023河南土著双非硕士——毕业季秋招春招就业经验分享(仅限于在河南找工作,毕业想留河南)
  10. python-根据gtf绘制基因全部转录本结构图