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在主板的背面。

image.png

测试的结果是,主板引脚高电平有效。由于工作实在太忙,现将以前编写的音乐《笑傲江湖》再播放一遍。代码如下:

代码
#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引脚。

image.png

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(6)
许培享
许培享
好样的
9mm
9mm
666
花生编程
花生编程
不错不错
花生编程
花生编程
厉害厉害
三春牛-创客
三春牛-创客
赞赞赞
三春牛-创客
三春牛-创客
厉害
- 没有更多了 -