可定制声音的数字自行车喇叭
## 可定制声音的数字自行车喇叭![](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)
漂亮 厉害厉害 学习学习 学习学习 致敬使用英文WIN系统的小编 学习了 666
页:
[1]