Beetle ESP32-C3播放音乐
2023-06-01814
精华项目
AI 快速预览详细
本文介绍了如何使用Beetle ESP32-C3主板播放音乐。首先,严格按照蘑菇云官方教程操作是关键,因为米思齐初始化可能会导致问题。如果遇到问题,可以通过杜邦线短接9号引脚和GND来恢复主板功能。建议使用最新版的Arduino IDE和ESP32库2.0.8版进行编程。文中还提供了一个简单的代码示例,用于测试数字I/O引脚接口。最终,作者展示了如何通过3号引脚和GND引脚连接喇叭,播放音乐《笑傲江湖》。
ESP32-C3主板折腾了半天,最终发现严格按照蘑菇云官方教程才是王道。用米思齐初始化可能会成功一次,后面全部失败。米思齐编程总有不对劲的地方,要么不能上次,要么不能运行。米思齐操作一通,回到Arduino IDE编程不能正确识别主板,折腾半天发现用杜邦线短接9号引脚和GND,再通电。如果还不能恢复,用杜邦线连接RST触点成功擦除米思齐的初始化,主板亮起久违的蓝色灯。
建议在下载Arduino IDE最新版,加载ESP32库用最新的2.0.8版。建议用最简单的代码寻找数字I/0引脚接口。
代码
int led = 0;
void setup() {
pinMode(led,OUTPUT);
}
void loop() {
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);如下图是确定好的引脚接口,3和10在主板的背面。

测试的结果是,主板引脚高电平有效。由于工作实在太忙,现将以前编写的音乐《笑傲江湖》再播放一遍。代码如下:
代码
#include "pitches.h"
int melody[] = {
NOTE_A4,NOTE_G4,NOTE_E4,NOTE_D4,NOTE_C4,NOTE_E4,NOTE_D4,NOTE_C4,NOTE_A3,
NOTE_G3,NOTE_G3,NOTE_A3,NOTE_G3,NOTE_A3,NOTE_C3,NOTE_C4,NOTE_D4,NOTE_E4,NOTE_G4,
NOTE_A4,NOTE_G4,NOTE_E4,NOTE_D4,NOTE_C4,NOTE_D4,NOTE_A4,NOTE_G4,NOTE_E4,NOTE_D4,
NOTE_C4,NOTE_E4,NOTE_D4,NOTE_C4,NOTE_A3,NOTE_G3,
NOTE_G3,NOTE_A3,NOTE_G3,NOTE_A3,NOTE_C3,NOTE_C4,NOTE_C4,NOTE_D4,NOTE_E4,NOTE_G4,NOTE_A4,NOTE_G4,NOTE_E4,NOTE_D4,
NOTE_C4,NOTE_A4,NOTE_G4,NOTE_E4,NOTE_D4,NOTE_C4,NOTE_E4,NOTE_D4,NOTE_C4,NOTE_A3,
NOTE_G3,NOTE_G3,NOTE_A3,NOTE_G3,NOTE_A3,NOTE_C3,NOTE_C4,NOTE_D4,NOTE_E4,NOTE_G4,
NOTE_A4,NOTE_G4,NOTE_E4,NOTE_D4,NOTE_C4,NOTE_D4,NOTE_A4,NOTE_G4,NOTE_E4,NOTE_D4,
NOTE_C4,NOTE_E4,NOTE_D4,NOTE_C4,NOTE_A3,NOTE_G3,
NOTE_G3,NOTE_A3,NOTE_G3,NOTE_A3,NOTE_C3,NOTE_C4,NOTE_C4,NOTE_D4,NOTE_E4,NOTE_G4,NOTE_A4,NOTE_G4,NOTE_E4,NOTE_D4,NOTE_C4};
int noteDurations[] = {
8,8,8,8,2,8,8,8,8,2,8,8,8,8,8,16,16,8,8,8,8,16,16,8,2,8,8,8,8,2,8,8,8,8,2,8,8,8,8,16,16,16,16,8,8,8,8,8,8,2,8,8,8,8,2,8,8,8,8,2,8,8,8,8,8,16,16,8,8,8,8,16,16,8,2,8,8,8,8,2,8,8,8,8,2,8,8,8,8,16,16,16,16,8,8,8,8,8,8,2};
void setup() {
for (int thisNote = 0; thisNote < 100; thisNote++) {
int noteDuration = 2000/noteDurations[thisNote];
tone(8, melody[thisNote],noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(8);
}
}
void loop() {
}原本想加按键控制,用LED灯交互展示,时间有限,忍痛放弃了,太仓促了~ 我自己有制作过一个教学用音箱,时间紧不用了。 喇叭连接主板的3号引脚和GND引脚。





