第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连接喇叭正极,GND连接喇叭负…...

Linux用户组管理学习
1.创建一个用户组...

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

六、Json 数据的交互处理
文章目录 一、JSON 数据的交互处理1、为什么要使用 JSON2、JSON 和 JavaScript 之间的关系3、前端操作 JSON3.1 JavaScript 对象与 JSON 字符串之间的相互转换 4、JAVA 操作 JSON4.1 Json 的解析工具(Gson、FastJson、Jackson)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 免…...

【数据结构与算法 模版】高频题刷题模版
废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【】,使用【】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为:目标公…...
EMQ X支持哪些认证方式?
EMQ X 中的认证指的是当一个客户端连接到 EMQ X 的时候,通过服务器端的配置来控制客户端连接服务器的权限。 EMQ X 的认证支持包括两个层面: MQTT 协议本身在 CONNECT 报文中指定用户名和密码,EMQ X 以插件形式支持基于 Username、 ClientI…...

java八股文面试[JVM]——JVM内存结构2
知识来源: 【2023年面试】JVM内存模型如何分配的_哔哩哔哩_bilibili...

《C和指针》笔记14: 作用域和存储类型总结(例子说明)
文章目录 题目答案解释总结 本文是作用域和存储类型的总结,以一个例子来说明,如果不看解释可以很直接地回答每一条语句的作用域和存储类型,那么说明已经很熟练地掌握这个知识点了。 关于作用域和存储类型可以参考我前面的博客: …...
Linux之系统操作参数详解
Linux之系统操作参数详解 date //显示当前日期 日期格式化 %Y year年 %y 年份(以00-99来表示) %j 该年中的第几天 %m month月 (01…12) %w 该周的天数,0代表周日,1代表周一 %D 日期(含年月日) %d day of month (e.g., 01) %T 时间(含时分秒࿰…...
datax 使用
环境准备 List itemLinuxJDK(1.8以上,推荐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宏替换高级用法
创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 🔥c系列专栏:C/C零基础到精通 🔥 给大…...
Android 之 传感器专题 (4) —— 其他传感器了解
本节引言: 在上一节的结尾说了,传感器部分因为笔者没怎么玩过,本节就简单的把剩下的几个常用的 传感器介绍一遍,当作科普,以后用到再慢慢研究~ 1.磁场传感器(Magnetic field sensor) 作用:该传感器主要用…...
【高级搜索】双向广搜,A*,IDDFS,IDA *算法总结 (terse版)
一、双向广搜 双向广搜就是从起点和终点同时往中间搜的一个算法。 注意事项: 在搜索过程中,同一层次下的顺序应该为:搜完一边所有的当前深度的子节点,在搜索另一边。 队列使用 (1)合用…...

CATIA Composer R2023安装教程
软件下载 软件:CATIA Composer版本:2023语言:简体中文大小:1.82G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.60GHz 内存8G(或更高)下载通道①百度网盘丨64位下载链接:https://pa…...
git,修改远程分支名称
获取所有远程分支 git branch -r删除远程指定分支 git push --delete origin 测试添加新页面提交新命名本地分支 git push origin 新分支本地分支和远程分支关联 git branch --set-upstream-to origin/远程分支...

信息系统项目管理师(第四版)教材精读思维导图-第六章项目管理理论
请参阅我的另一篇文章,综合介绍软考高项: 信息系统项目管理师(软考高项)备考总结_计算机技术与软件专业技术_铭记北宸的博客-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(Java Native Interface)是一…...
力扣-哈希-字母异位词分组
题目 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat&q…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...