当前位置: 首页 > news >正文

第6篇:ESP32连接无源喇叭播放音乐《涛声依旧》

第1篇:Arduino与ESP32开发板的安装方法

第2篇:ESP32 helloword第一个程序示范点亮板载LED

第3篇:vscode搭建esp32 arduino开发环境

第4篇:vscode+platformio搭建esp32 arduino开发环境

第5篇:doit_esp32_devkit_v1使用pmw呼吸灯实验

D5连接喇叭正极,GND连接喇叭负极

一、乐理准备
十二平均律(12-equal temperament)又称十二等程律。

一个八度分成12份,八个八度的十二平均音率对应的频率如下(从33Hz到7902Hz)。

相邻两个音之间的倍数是2^(1/12),约等于1.0594630943592952645618252949463)。这样一来,高八度的do频率是低八度do的两倍。

频率与钢琴上的按键是对应的:

                                        
我们把频率440赫兹作为中央C ,C调的歌就是把频率440赫兹当作do,乐谱中写作:1=C。

相邻的两个音之间的差一个半音,12345671之间的间隔分别是“全全半全全全半”。

D调的歌就是把从440后面第二个音494赫兹当作do,乐谱中写作1=D。
————————————————
示范代码:

#include <Arduino.h>// put function declarations here://定义蜂鸣器控制管脚
#define beep_pin  5   //连无源喇叭// float k=1.0594631;
struct YINFU{       //定义音符int    freq;float  Duration;
};
//1    2   3   4  5    6         7   1   2   3     4    5    6    7
//C    D   E   F  G    A  A#     B   C1  D1, E1,   F1,  G1,  A1,  B1
//440,494,554,587,659,740,784    831,880,988,1109, 1175,1319,1480,1661struct YINFU YUEPU[128]={{831,0.55},	{740,0.15},	{622,0.55},	{740,0.15},	{988,0.3},	{831,0.15},	{740,0.15},	{831,0.8},	{0,0.55},	{0,0.3},	{622,0.3},	{740,0.3},	{831,0.3},	{740,0.3},	{622,0.3},	{494,0.15},	{440,0.15},	{740,0.15},	{622,0.15},	{554,0.4},	{0,0.3},{554,0.3},	{622,0.3},	{740,0.3},	{740,0.3},	{831,0.3},	{622,0.15},	{554,0.15},	{494,0.4},	{0,0.3},	{0,0.3},	{740,0.3},	{622,0.3},	{554,0.15},	{494,0.15},	{440,0.15},	{494,0.15},	{392,0.5},	{0,0.3},	{0,0.3},		};
//涛声依旧
struct YINFU YUEPU_TSYJ[2048]={//6               0     //6           3               5             6          5                     5     {1480,0.55},	{0,0.55},{1480,0.55},	{1109,0.55},	{1319,0.55},	{1480,0.3},	{1319,0.15},{1,0.8},{1319,0.55},   //1            2              3           3                           3  	        5                      6           5           3          2           3 {880,0.35},  {988,0.35},	{1109,0.55},{0,0.3},{1109,0.55},{0,0.15},{0,0.55},{1109,0.15},{1319,0.55},{1480,0.2},{1319,0.2},{1109,0.2},{988,0.2},{1109,0.85},	{1,0.8}, //6               5          3           5          1           6         5                  5     {1480,0.55},	{1319,0.55},{1109,0.15},{1319,0.15},{880,0.55},{740,0.15},{659,0.55},{0,0.3},{659,0.85},//6            1           2                    2{740,0.15},	{880,0.35},	{988,0.55}, {0,0.3},{988,0.55},//2           6            3           5           6          5             5{988,0.15},{1480,0.35},	{1109,0.55},{1319,0.15},{1480,0.35},{1319,0.55},  {1319,0.8}, {1319,0.8},{0,0.8},{0,0.8},{0,0.8},
};void setup() {pinMode(beep_pin, OUTPUT);     //设置引脚为输出模式 
}void loop(){for(int k=0;k<128;k++){        //顺序演奏128音符float d=YUEPU_TSYJ[k].Duration; for(int D=0;D<int(d*YUEPU_TSYJ[k].freq);D++){   //演奏YUEPU[k].freq的音符,时长=dif(YUEPU_TSYJ[k].freq != 0){    //演奏音符//频率转化为时间间隔,1秒=500000微秒*2。一半高电平,一半低电平,所以用500000/音符频率。int freq_to_us=int(500000/YUEPU_TSYJ[k].freq);digitalWrite(beep_pin,HIGH); //一半高电平delayMicroseconds(freq_to_us);digitalWrite(beep_pin,LOW);  //一半低电平delayMicroseconds(freq_to_us);}else{                     //停顿digitalWrite(beep_pin,LOW);  //低电平,不发声  // delayMicroseconds(1000);delay(1000);}}}delay(1000);}

vscode esp32 platformio编译方法参考:

第4篇:vscode+platformio搭建esp32 arduino开发环境 

相关文章:

第6篇:ESP32连接无源喇叭播放音乐《涛声依旧》

第1篇:Arduino与ESP32开发板的安装方法 第2篇:ESP32 helloword第一个程序示范点亮板载LED 第3篇:vscode搭建esp32 arduino开发环境 第4篇:vscodeplatformio搭建esp32 arduino开发环境 第5篇:doit_esp32_devkit_v1使用pmw呼吸灯实验 D5连接喇叭正极&#xff0c;GND连接喇叭负…...

Linux用户组管理学习

1.创建一个用户组...

【知识分享】C语言应用-易错篇

一、C语言简介 C语言结构简洁&#xff0c;具有高效性和可移植性&#xff0c;因此被广泛应用。但究其历史的标准定义&#xff0c;C语言为了兼容性在使用便利性作出很大牺牲。在《C陷阱与缺陷》一书中&#xff0c;整理出大部分应用过程中容易出错的点&#xff0c;本文为《C陷阱与…...

六、Json 数据的交互处理

文章目录 一、JSON 数据的交互处理1、为什么要使用 JSON2、JSON 和 JavaScript 之间的关系3、前端操作 JSON3.1 JavaScript 对象与 JSON 字符串之间的相互转换 4、JAVA 操作 JSON4.1 Json 的解析工具&#xff08;Gson、FastJson、Jackson&#xff09;4.2 ResponseBody 注解、Re…...

企业微信cgi-bin/gateway/agentinfo接口存在未授权访问漏洞 附POC

文章目录 企业微信cgi-bin/gateway/agentinfo接口存在未授权访问漏洞 附POC1. 企业微信cgi-bin/gateway/agentinfo接口简介2.漏洞描述3.影响版本4.fofa查询语句5.漏洞复现6.POC&EXP7.整改意见8.往期回顾 企业微信cgi-bin/gateway/agentinfo接口存在未授权访问漏洞 附POC 免…...

【数据结构与算法 模版】高频题刷题模版

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【】&#xff0c;使用【】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为&#xff1a;目标公…...

西门子840DSL 840DPoweLine 刀具数据读取

...

EMQ X支持哪些认证方式?

EMQ X 中的认证指的是当一个客户端连接到 EMQ X 的时候&#xff0c;通过服务器端的配置来控制客户端连接服务器的权限。 EMQ X 的认证支持包括两个层面&#xff1a; MQTT 协议本身在 CONNECT 报文中指定用户名和密码&#xff0c;EMQ X 以插件形式支持基于 Username、 ClientI…...

java八股文面试[JVM]——JVM内存结构2

知识来源&#xff1a; 【2023年面试】JVM内存模型如何分配的_哔哩哔哩_bilibili...

《C和指针》笔记14: 作用域和存储类型总结(例子说明)

文章目录 题目答案解释总结 本文是作用域和存储类型的总结&#xff0c;以一个例子来说明&#xff0c;如果不看解释可以很直接地回答每一条语句的作用域和存储类型&#xff0c;那么说明已经很熟练地掌握这个知识点了。 关于作用域和存储类型可以参考我前面的博客&#xff1a; …...

Linux之系统操作参数详解

Linux之系统操作参数详解 date //显示当前日期 日期格式化 %Y year年 %y 年份(以00-99来表示) %j 该年中的第几天 %m month月 (01…12) %w 该周的天数&#xff0c;0代表周日&#xff0c;1代表周一 %D 日期(含年月日) %d day of month (e.g., 01) %T 时间(含时分秒&#xff0…...

datax 使用

环境准备 List itemLinuxJDK(1.8以上&#xff0c;推荐1.8)Python(2或3都可以)Apache Maven 3.x (Compile DataX) 下载 wget https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz建立datax 用户 useradd datax ; echo "datax" | passwd -…...

【C/C++】#define宏替换高级用法

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…...

Android 之 传感器专题 (4) —— 其他传感器了解

本节引言&#xff1a; 在上一节的结尾说了&#xff0c;传感器部分因为笔者没怎么玩过&#xff0c;本节就简单的把剩下的几个常用的 传感器介绍一遍&#xff0c;当作科普&#xff0c;以后用到再慢慢研究~ 1.磁场传感器(Magnetic field sensor) 作用&#xff1a;该传感器主要用…...

【高级搜索】双向广搜,A*,IDDFS,IDA *算法总结 (terse版)

一、双向广搜 ​ 双向广搜就是从起点和终点同时往中间搜的一个算法。 ​ 注意事项&#xff1a; ​ 在搜索过程中&#xff0c;同一层次下的顺序应该为&#xff1a;搜完一边所有的当前深度的子节点&#xff0c;在搜索另一边。 ​ 队列使用 ​ &#xff08;1&#xff09;合用…...

CATIA Composer R2023安装教程

软件下载 软件&#xff1a;CATIA Composer版本&#xff1a;2023语言&#xff1a;简体中文大小&#xff1a;1.82G安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.60GHz 内存8G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pa…...

git,修改远程分支名称

获取所有远程分支 git branch -r删除远程指定分支 git push --delete origin 测试添加新页面提交新命名本地分支 git push origin 新分支本地分支和远程分支关联 git branch --set-upstream-to origin/远程分支...

信息系统项目管理师(第四版)教材精读思维导图-第六章项目管理理论

请参阅我的另一篇文章&#xff0c;综合介绍软考高项&#xff1a; 信息系统项目管理师&#xff08;软考高项&#xff09;备考总结_计算机技术与软件专业技术_铭记北宸的博客-CSDN博客 本章思维导图PDF格式 本章思维导图XMind源文件 目录 6.1 PMBOK的发展 6.2 项目基本要素 6.3…...

[Android]JNI的基础知识

目录 1.什么是JNI 2.配置JNI开发环境NDK 3.创建Native C类型的项目 4. 了解CMakeLists.txt 文件 5.了解native-lib.cpp 文件 6.在 Android 的 MainActivity 中调用 native-lib.cpp 中实现的本地方法 1.什么是JNI JNI&#xff08;Java Native Interface&#xff09;是一…...

力扣-哈希-字母异位词分组

题目 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat&q…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...