ESP32自己做个蓝牙音箱-基于Arduino开发环境
ESP32自己做个蓝牙音箱-基于Arduino开发环境
ESP32自己做个蓝牙音箱-基于Arduino开发环境
1.概述
这篇文章介绍使用ESP32做一个自己的蓝牙音箱,在制作过程中会遇到一些问题,这里会介绍下它的解决方法。
制作一个蓝牙音箱需要三个步骤
- 1.采购硬件,搭建硬件电路
- 2.搭建开发环境
- 3.烧录程序
2.硬件介绍
2.1.采购硬件
名称 数量
ESP-32 WROOM开发板 1
MAX98357 I2S功放 1
3w喇叭 1
2.2.搭建电路
1.MAX98357功放元件介绍
2.ESP32与MAX98357接线
ESP32 MAX98357
25 LRC
26 BCLK
22 DIN
GND GND
3V3 VIN
3.搭建开发环境
这个开发环境十分重要如果版本不正确会导致蓝牙音箱制作失败,所以一定要跟着教程安装指定版本号的开发环境,再继续烧录程序。
1.搭建ESP32开发环境
首先使用ArduinoIDE下载ESP32的开发环境,如果使用在线下载方式可能会出现下载失败。
这里提供了他的离线安装包和教程,跟着做就能成功。
安装包获取方式:
1.将下载下来的压缩包解压后就可以得到
esp32
和
esp8266
两个压缩包。
2.打开电脑C盘,进入如下路径
用户文件夹->你的用户名->AppData->Local->Arduino15->packages
将解压后的
esp32
文件夹放到
packages
文件夹中
3.打开ArduinoIDE开发工具,然后点击
工具
,点击
开发板
可以看到
esp32
主板选项 ,表示环境搭建成功。
4.烧录程序
1.安装依赖库
制作蓝牙音箱我们需要使用ESP32-A2DP库,因此需要先下载该库,版本选择
1.7.3
下载地址:https://github.com/pschatzmann/ESP32-A2DP/tree/v1.7.3
在
ArduinoIDE
中点击
项目
,点击
导入库
,点击
添加zip库
,选择下载的
ESP32-A2DP压缩包
导入即可。
2.编写程序
将下面的程序复制到
ArduinoIDE
中,上传程序到
ESP32
引脚说明
- bck_io_num对应MAX98357的BCLK引脚
- ws_io_num对应MAX98357的LRC
- data_out_num对应MAX98357的DIN信号输入
#include "BluetoothA2DPSink.h"
//创建A2DP对象
BluetoothA2DPSink a2dp_sink;
void setup() {
/*
bck_io_num对应MAX98357的BCLK引脚
ws_io_num对应MAX98357的LRC
data_out_num对应MAX98357的DIN信号输入
*/
//配置ESP32引脚
i2s_pin_config_t my_pin_config = {
.bck_io_num = 26,
.ws_io_num = 25,
.data_out_num = 22,
.data_in_num = I2S_PIN_NO_CHANGE
};
//加载配置文件
a2dp_sink.set_pin_config(my_pin_config);
//启动,并设置蓝牙的名称
a2dp_sink.start("MyMusic");
}
void loop() {
}
5.制作原理
ESP32与播放源建立蓝牙通信,A2DP库通过I2S协议接收数据,然后通过MAX98357功放模块将信号放大驱动喇叭播放音乐。