东莞做网站 9353,专做餐饮的网站,广州市门户网站建设,wordpress有没有翻书的主题第1篇:Arduino与ESP32开发板的安装方法
第2篇:ESP32 helloword第一个程序示范点亮板载LED
第3篇:vscode搭建esp32 arduino开发环境
第4篇:vscodeplatformio搭建esp32 arduino开发环境
第5篇:doit_esp32_devkit_v1使用pmw呼吸灯实验 D5连接喇叭正极#xff0c;GND连接喇叭负…第1篇:Arduino与ESP32开发板的安装方法
第2篇:ESP32 helloword第一个程序示范点亮板载LED
第3篇:vscode搭建esp32 arduino开发环境
第4篇:vscodeplatformio搭建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乐谱中写作1C。
相邻的两个音之间的差一个半音12345671之间的间隔分别是“全全半全全全半”。
D调的歌就是把从440后面第二个音494赫兹当作do乐谱中写作1D。 ———————————————— 示范代码
#include Arduino.h// put function declarations here://定义蜂鸣器控制管脚
#define beep_pin 5 //连无源喇叭// float k1.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 k0;k128;k){ //顺序演奏128音符float dYUEPU_TSYJ[k].Duration; for(int D0;Dint(d*YUEPU_TSYJ[k].freq);D){ //演奏YUEPU[k].freq的音符时长dif(YUEPU_TSYJ[k].freq ! 0){ //演奏音符//频率转化为时间间隔,1秒500000微秒*2。一半高电平一半低电平所以用500000/音符频率。int freq_to_usint(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篇:vscodeplatformio搭建esp32 arduino开发环境