fibx 发表于 2023-12-20 11:47:04

可定制声音的数字自行车喇叭

## 可定制声音的数字自行车喇叭

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145343j6rczys8c4rwwc0q.jpg)

https://www.bilibili.com/video/BV1uw41147U5/
## 项目背景首先让我讲一个令我萌发做这个项目的故事。当我还是个孩子的时候,我父亲从中东给我买了一个电子自行车铃铛。这是我们村子里第一次见到这种新奇的东西。它有四个按钮,每个按钮产生不同的声音,并伴有明亮的LED灯。安装在我的自行车上后的一整天,我的兄弟骑着自行车在村子里兜风,兴奋地按响喇叭。看着他那样真是有趣。但是这种愉悦感很短暂。就在那个晚上,当我们熟睡时,这个喇叭被小偷偷走了。当小偷拆下它时,他的手不小心按到了一个按钮,发出声音。等到我妈妈来查看时,小偷已经带着喇叭消失了。这一事件让我和我兄弟都感到很受伤。除了失去喇叭本身,我对它的内部工作方式充满了好奇。然而,在我满足好奇心之前,它就消失了。

最近我在 Instructables 网站上看到了一个名为 “Make Some Noise Contest” 的比赛。当我看到这个比赛时,我想起了这件往事。我认为可以制作一个类似的或甚至更好的喇叭。这就是我制作这个项目的原因。

因此,在这个项目中,我们将制作一个可定制声音的数字自行车喇叭,可以产生最多4种不同的声音,每个声音都以 .mp3/wav 格式保存在 micro-SD 卡上,有4个输入按钮用于播放声音,每个按钮都分配给 micro-SD 卡上不同的声音。此外,它还配备了可充电电池,可以使用 USB Type-C 为电池充电,在背面还加了一个电池充电指示灯,还有一个用于打开/关闭的小开关。它由预制组件以及完全可以3D打印的机身零件制成。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145355cev058rx9vv25vl5.jpg)
## 材料清单

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150935rt0neuof50nf3ooc.jpg)

**元器件**
- 1 x (http://speaker/)
- 1 x [迷你滑动开关0(https://www.ebay.com/itm/201430301369)
- 1 x (https://www.ebay.com/itm/175577442766)(这个设计支持所有尺寸在 30mm x 48mm 以下的电池)
- 1 x [红色矩形扁平LED 5 x 2mm](https://www.ebay.com/itm/155215903367)(在下拉菜单中选择散光 LED)
- 1 x [蓝色矩形扁平LED 5 x 2mm](https://www.ebay.com/itm/155215903367)(在下拉菜单中选择散光 LED)
- 1 x (https://www.ebay.com/itm/284070573239)
- 1 x (https://www.ebay.com/itm/383731751394)
- 1 x (https://www.ebay.com/itm/204544235486)(通常带有预焊接的引脚,因此要去掉引脚)
- 1 x (https://www.seeedstudio.com/Seeeduino-XIAO-Arduino-Microcontroller-SAMD21-Cortex-M0+-p-4426.html)
- 1 x [微型SD卡](https://www.ebay.com/itm/385901699626)(我使用的是 8GB 微型 SD 卡,有点大材小用,也可以选择较低容量的卡)
- 4 x (https://www.ebay.com/itm/153460815988)(选择9mm的高度)
- 3 x (https://www.ebay.com/itm/355173930633)(从下拉菜单中选择长度)
- 4 x (https://www.ebay.com/itm/355173930633)(从下拉菜单中选择长度)
- 2 x (https://www.ebay.com/itm/355173930633)(从下拉菜单中选择长度)
- 3 x (https://www.ebay.com/itm/312347732958)(从下拉菜单中选择长度)
- (https://www.ebay.com/itm/274963959743)(我利用了旧的 USB 线缆,它是一根带有6芯的快速充电线缆)

**工具**

- 焊接铁
- 扳手套装
- 鼻子钳
- 胶枪
- 切线器/剥线器
- 热缩套管
- 多用途计
- 尼龙束带(黑色)
- 3D打印机(3D打印服务)
## 步骤 1:在 Autodesk Fusion 360 中建模

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145415nx60h6b0zhi5kph6.jpg)

使用 Fusion 360 规划和设计我的项目。主体设计为无需螺丝即可固定电池和电子器件 - 只需卡住即可。我使用了一些热熔胶确保安全牢固。按钮面板包括按钮帽也是3D打印的。我在网上找到了一些精确的模型。这使得设计过程更加简单,所有设计文件都在附件里面。

全部设计文件打包下载:


## 步骤 2:3D打印

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145429qyq0aqjrjnzqffax.jpg)

我用 Numakers 出品的 PLA+ 材料 3D 打印了全部零件。我使用黑色和橙色的丝料,这是个很抢眼的配色组合。打印参数设为层高0.2毫米,填充率100%。如果没有3D打印机,可以找在线3D打印服务。



## 步骤 3:MT3608 上的电压设置

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145442y5r5ggnsrbjru5r5.jpg)

在组装之前,我们需要在MT3608上预设电压。如果您购买了新的模块,需要将电位器逆时针旋转大约20次或更多次,直到获得稳定的输出电压,然后就可以使用该模块。将电池连接到 VIN+ 和 VIN-,并将电压设置为 5 伏。用万用表在 OUT+ 和 OUT- 测量电压。之后拔掉电池输入。



## 步骤 4:拆除MP3-TF-16P 模块的引脚插针

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/152344us9yirpga09zip3p.jpg)

MP3-TF-16P 模块带有预先焊接的引脚插针,我们需要将其拆除,如果没有正确工具,操作上会有点难度。我使用吸锡器和钳子一起来拆掉引脚插针。尽量不要损坏 PCB 上的相关元器件。[这个教程](https://www.youtube.com/shorts/LTQsP5CPmRM)对我帮助很大。



## 步骤 5:上传代码到 XIAO

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145454mv6cvzjalruauwvu.jpg)

我向来喜欢在装配之前将代码上传到微控制器。在本项目里,我们使用了 Seeed studio 出品的微型XIAO SAMD21 开发板,它带有强大的 ATSAMD21G18A-MU 低功耗微控制器。

可参考以下完整教程

- [如何用 Arduino IDE 配置XIAO](https://www.youtube.com/watch?v=pTwEnckaPYY&t)
- [有关 MP3-TF-16P 的更多信息](https://www.youtube.com/watch?v=PBdqgHj_AkU&t)

在 IDE 里添加 XIAO 开发板后,我们需要安装 MP3-TF16P 库文件,可参考这个[如何安装库文件的教程](https://youtu.be/PBdqgHj_AkU?t=292)。

这是我们项目的代码,请将其上传到 XIAO
```cpp
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"


#define RX D6 // DFPlayer Mini的RX引脚连接到数字引脚6
#define TX D7 // DFPlayer Mini的TX引脚连接到数字引脚7


#define BUTTON_1 D0 // 按钮1的数字引脚
#define BUTTON_2 D1 // 按钮2的数字引脚
#define BUTTON_3 D2 // 按钮3的数字引脚
#define BUTTON_4 D3 // 按钮4的数字引脚


SoftwareSerial mySoftwareSerial(RX, TX); // 创建一个SoftwareSerial对象
DFRobotDFPlayerMini myDFPlayer; // 创建一个DFPlayerMini对象


void setup() {
mySoftwareSerial.begin(9600); // 开始软串口通信
Serial.begin(9600); // 用于调试的开始串口监视器


if (!myDFPlayer.begin(mySoftwareSerial)) { // 初始化DFPlayer Mini
    Serial.println("无法开始:");
    Serial.println("1.请重新检查连接!");
    Serial.println("2.请插入SD卡!");
    while(true);
}


// 设置音量(0到30)
myDFPlayer.volume(30);


pinMode(BUTTON_1, INPUT_PULLUP); // 将按钮引脚设置为带有内部上拉电阻的输入
pinMode(BUTTON_2, INPUT_PULLUP);
pinMode(BUTTON_3, INPUT_PULLUP);
pinMode(BUTTON_4, INPUT_PULLUP);
}


void loop() {
if (digitalRead(BUTTON_1) == LOW) {
    playSong(1); // 播放音轨1的函数
    delay(500); // 添加一个小延迟,以防止一次按下多次触发
} else if (digitalRead(BUTTON_2) == LOW) {
    playSong(2); // 播放音轨2的函数
    delay(500);
} else if (digitalRead(BUTTON_3) == LOW) {
    playSong(3); // 播放音轨3的函数
    delay(500);
} else if (digitalRead(BUTTON_4) == LOW) {
    playSong(4); // 播放音轨4的函数
    delay(500);
}
}


void playSong(uint8_t track) {
myDFPlayer.play(track); // 播放指定的音轨号
Serial.print("播放音轨 ");
Serial.println(track);
}
```

## 步骤 6:接线图

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145506t0l0u9fsys99ss0r.jpg)

现在我们可以开始组装了。所有组件都安装在侧壁上,以利用空间和便于布线。

让我们开始组装吧!



## 步骤 7:扬声器单元组装

### 第 1 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145519sk1gu1hrwhfzw2xr.jpg)

取下 2 个充电状态 LED

### 第 2 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145532e6k939rdwr4635z5.jpg)

给 2 个 LED 的正极连接电线,负极一个连接红色 LED,一个连接蓝色 LED。

### 第 3 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145544nl9idqzr9r2i5sn5.jpg)

将 LED 电线连接到 BMS 上。

### 第 4 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145555o1axfyc9szllk9xj.jpg)

用钳子把 BMS 和 LED 穿过 3D 打印件压下去。注意:不要损坏LED。

### 第 5 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145609y76vtjgcg6ivfatr.jpg)

我们需要将电池连接到 BMS,将电池的正极连接到 BMS 的 B+,负极连接到 B- ,将电池焊接在 3D 打印的槽上

### 第 6 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145624qx0ab20yr2rocw2o.jpg)

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145650wxf0fg7rg110r8jk.png)

给电源开关焊接两根电线,将电源开关推入3D打印的槽中

### 第 7 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145708yeu5n4jtxaann5nn.jpg)

将 BMS OUT+ 连接到 MT3608 的 VIN+,VIN- 连接到电源开关的第二个端口,可以将 MT3608 插入3D 打印的槽中

### 第 8 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145722k6xrakkaw16z66ox.jpg)

用适当长度的电线预先焊接在 XIAO 上。

### 第 9 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145741dapw1pop5o5m0wyf.jpg)

从5芯线缆中剥开 20mm 的电线

### 第 10 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145756y1vvpbg1lhtnvi1b.jpg)

通过主体的孔将电线引入

### 第 11 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145810l0qu1razurugut5n.jpg)

将 5 芯线缆分别连接到 XIAO 的 GND,D0,D1,D2,D3 引脚

### 第 12 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145829c0hytfxxv0u0kyxy.jpg)

将电线和 XIAO 推入 3D 打印的槽中,用热熔胶枪粘合 5 芯线缆和 XIAO

### 第 13 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145845sxt412413cct4mmm.jpg)

将 XIAO 的 VUSB 和 GND 连接到 MT3068 的 +VOUT 和 -VOUT,然后可以连接 XIAO 和 MP3-TF-16P。 XIAO 的 D6 和 D7 分别连接到 MP3-TF-16P 的 RX 和 TX 引脚,XIAO 的 VUSB 和 GND 连接到MP3-TF-16P 的 VCC 和 GND。还要从 MP3-TF-16P 上焊接两根扬声器的电线。

### 第 14 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/145900aqkpeeeyeoe9q9dw.jpg)

完成布线后,可以将 MP3-TF-16P 粘贴到 3D 打印的槽中。

### 第 15 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150037j9nyyg8qt8qd6hxg.jpg)

连接扬声器

### 第 16 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150053l02q2d03pcc7pcdg.jpg)

将扬声器放入主体内部并对准螺丝孔

### 第 17 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150107f07n93fpw3bp3059.jpg)

将扬声器网格插入前盖中

### 第 18 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150119hkrykqk8jhrzg84k.jpg)

用 M3 x 12mm 螺丝将前盖固定在主体上

### 第 19 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150132dm2dsjbjdjdz2ffi.jpg)

将一个M3螺母插入安装点的槽中

### 第 20 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150146g2uxhhwhoxxzwvvh.jpg)

将自行车支架放到喇叭主体上,并用 M3 x 20mm 螺丝拧紧

### 第 21 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150205nmx7jjxafrjqjifd.jpg)

将M3螺母插入支架中

这样,我们就完成了主扬声器单元的组装。



## 步骤 8:按钮面板组装

### 第 1 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150221nqqoiebqeckbok2j.jpg)

将四个按钮插入 3D 打印的按钮支撑槽中

### 第 2 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150239tpdjd0cq1mj0fvwq.jpg)

将所有四个按钮盖按下

### 第 3 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150300vs594zggsyr58ryx.jpg)

按照这个接线图

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150323o79yvwf7k7y5dyfv.jpg)

连接所有按钮的地线

### 第 4 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150337jr1irbvl09fczh96.jpg)

将按钮组件按下到主体上,将电线穿过主体的孔,在距离主扬声器单元的距离为 25cm 的位置剪掉 5 芯电缆。将所有电线焊接到对应的按钮上

### 第 5 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150349km9mpw2gy759bpym.jpg)

将一个 M3 螺母插入按钮支架的孔中

### 第 6 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150404otzwqd5tz57w004w.jpg)

用两颗 M3 x 16mm 螺丝闭合按钮组件



## 步骤 9:如何编程声音

### 第 1 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150420mc8p44uzqwysps8d.png)

用读卡器将SD卡连接到计算机,然后格式化 SD 卡

### 第 2 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150437e4qjqfjyipd2e5py.png)

您可以将任何 MP3 或 WAV 音频复制到 Micro SD卡(没有时长限制),我只复制了 4 个从互联网上下载的音频文件。

如果您需要搜索自己喜欢的新音乐,

1. 只需在 YouTube 中搜索音效
2. 复制视频 URL
3. 找到 (https://ytmp3.nu/35eR/) 的在线音频转换器
4. 粘贴 URL
5. 将其转换为 MP3 并下载
6. 将下载的 MP3 文件复制到 Micro SD 卡上

### 第 3 小步

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150451lu0cuufcmub9z2fs.jpg)

将微型 SD 卡插入 SD 卡槽,每个音轨将分配给 4 个按钮



## 步骤 10:如何将其安装到自行车上


https://www.bilibili.com/video/BV1uw41147U5/
观看我制作的视频。**看起来很有画面感,对吧?**,我使用了两颗 M3 x 20mm 螺丝



## 步骤 11:最终思考

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202312/18/150509u35dpjl703u6pdbg.jpg)

嗯,我们成功了,看起来很酷,很独特,您可以将其用作鸣笛以外的更多用途,甚至还可以录制自己的声音播放。如果想要在自行车/汽车上卖冰淇淋或其他东西,您可以用它播放广告。有无限的可能性。

**好吧,让我载着它骑行一圈,希望这次不会有人把它偷走**

>英文链接:(https://www.instructables.com/Digital-Bicycle-Horn-With-Customizable-Sound/)
>英文作者:(https://www.instructables.com/member/gokux/)
>中文翻译:(https://mc.dfrobot.com.cn/home.php?mod=space&uid=835443&do=profile)

![](https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTA5MTU1fDIyNTRkNWM4fDE2OTcxMjA4MzJ8ODM1NDQzfDMwNjM5Nw%3D%3D&noupdate=yes)

hnyzcj 发表于 2023-12-20 21:40:47

漂亮

aYYSW8AepLLd 发表于 2023-12-21 17:46:34

厉害厉害

JOVI 发表于 2023-12-24 04:29:44

学习学习

许培享 发表于 2023-12-26 22:51:29

学习学习

Eric高伟胜 发表于 2024-1-7 08:58:49

致敬使用英文WIN系统的小编

罗罗罗 发表于 2024-4-14 11:06:47

学习了

罗罗罗 发表于 2024-4-14 11:07:43

666
页: [1]
查看完整版本: 可定制声音的数字自行车喇叭