蓝牙空气喇叭(Bluetooth Air Horn)

ChangeCode
转载
发布时间: 2025-06-10 18:41:15 | 阅读数 0收藏数 0评论数 0
封面
本文介绍一款基于Arduino的蓝牙空气喇叭制作教程,通过舵机控制气压释放实现远程触发。项目包含电路焊接、3D打印外壳设计及蓝牙模块配置,支持自定义音量等级与设备名称。成品可用于比赛信号、趣味恶作剧等场景,兼具便携性与可扩展性,适合电子爱好者实践智能硬件开发。
1

工具与材料

所需组件

  1. Arduino Pro Mini 3.3V 8MHz 或 5V 16MHz(链接)
  2. UART TTL 编程器(链接)
  3. HC-05 蓝牙模块(链接)
  4. 头针(约25个即可)(链接)
  5. 连接线(足够连接面包板上的引脚)
  6. 134A 空气喇叭(链接)
  7. 180度舵机(链接)
  8. 可焊接面包板(可裁剪尺寸)(链接)
  9. 4节AA电池夹(未显示)(链接)
  10. 4节AA电池(未显示)

可选配件

  1. 两线电压表(链接)
  2. 按钮开关(链接)
  3. 超级电容(未显示)(链接)

所需工具

  1. 电烙铁 + 焊锡
  2. 热熔胶枪
  3. 平口剪
  4. 3D打印机(或在线3D打印服务)
2

烧录Arduino

首先,您需要烧录Arduino。如果开发板未预装头针,需先焊接以下6个引脚: GND, GND, VCC, RXI, TXO, DTR(这些引脚位于开发板底部一行)。

焊接完成后,将它们按以下方式连接到FTDI编程器:

FTDI ----> Arduino
DTR ----> DTR
RXD ----> TXO
TXD ----> RXI
+5v ----> VCC
GND ----> GND

然后上传测试代码(代码可在此处找到):

#include <Servo.h>
#include <SoftwareSerial.h>

Servo hornServo; // 创建舵机对象以控制喇叭
SoftwareSerial BT(10, 11);
char a; // 存储来自其他设备的字符
int pos = 0; // 存储舵机位置的变量

void setup() {
BT.begin(9600);
BT.println("Air Horn Active");
hornServo.attach(9); // 将舵机连接到引脚9
hornServo.write(10); // 设置舵机位置
}

void loop() {
if (BT.available()) {
a = (BT.read());

if (a == '1') {
hornServo.write(90); // 告诉舵机移动到位置90
delay(15);
BT.println("");
delay(350);
hornServo.write(10); // 返回初始位置
delay(15);
}

if (a == '2') {
hornServo.write(90);
delay(15);
BT.println("");
delay(400);
hornServo.write(10);
delay(15);
}

if (a == '3') {
hornServo.write(90);
delay(15);
BT.println("");
delay(500);
hornServo.write(10);
delay(15);
}

if (a == '4') {
hornServo.write(90);
delay(15);
BT.println("");
delay(600);
hornServo.write(10);
delay(15);
}

if (a == '?') {
BT.println("Send '1' for a sharp blast");
BT.println("Send '2' for a longer blast");
BT.println("Send '3' for a decent blast");
BT.println("Send '4' for a deafening blast");
}
}
}
3

组装电路板(布局与电源焊接)

此步骤需要一些连接和耐心,但过程相对简单。

注意:您也可以在普通面包板上完成此步骤而不焊接,但最终产品便携性会稍差。

布局所需组件

  1. Arduino
  2. 蓝牙模块(HC-05)
  3. 3个公头针
  4. 连接线

将已烧录的Arduino和蓝牙模块(HC-05)以任意方向放置在面包板上。确保所用面包板不会将行间引脚短路。在PCB-Way面包板上,每个引脚是独立的。

焊接以下引脚:

红线 --> VCC --> VCC --> 中间针
黑线 --> GND --> GND --> 底部针

注意:Arduino上有两个GND引脚,任选其一即可。 最终图片展示了我在Arduino右侧焊接单根红线和黑线以实现电源连接的位置。

4

组装电路板(信号布线与测试)

信号布线: 现在需要再焊接3根线。根据代码,Arduino的信号引脚为9,与蓝牙模块的串行通信引脚为10和11。

焊接以下引脚:

Arduino --> 蓝牙模块
Pin 10 (D10) --> TXD (绿线)
Pin 11 (D11) --> RXD (黄线)

对于舵机信号,焊接如下:

Arduino --> 头针
Pin 9 (D9) --> 顶部针 (白线)

最后,将舵机电机插入头针。它们通常有3个颜色为棕色、红色和黄色的母头针。

  1. 棕色为接地(GND),红色为电源(VCC),黄色为信号。确保插头方向正确,黄色针插入顶部。

测试: 现在可以为设备供电以确认其运行! 5V 0.5A的电源适用于此测试。如果没有台式电源,可继续后续步骤并在添加电池组后测试。

测试方法

  1. 打开设备直到蓝牙模块闪烁,然后扫描“HC-05”(默认设备ID)。
  2. 使用密码“1234”(有时为“12345”,具体取决于制造商)配对。
  3. 安装蓝牙串口APP,推荐使用 'Serial Bluetooth Terminal'
  4. 点击左上角的菜单,选择“设备”,确保“HC-05”被高亮显示为绿色,返回终端界面。
  5. 点击右上角垃圾桶图标旁的双插头按钮以开始串行连接。
  6. 成功连接后,应看到串口输出 'Air Horn Active'
  7. 发送 '?' 以获取菜单,或发送数字1-4,舵机应开始移动。

注意:如果遇到问题,可参考最后一步的故障排查。欢迎在评论区提出问题,我会提供帮助。

5

3D打印部件与组装

现在进入简单部分。我已附上STL文件(此处),但大多数3D打印机设置不同。 所需部件

  1. PCB夹
  2. 舵机支架
  3. 喇叭底座

打印设置重要提示:如果按照最终图片的方向打印,所有模型均无需支撑结构。 打印机设置取决于所用材料,建议选择中等填充率。弱填充会导致支架弯曲,无法施加足够的下压力以激活喇叭。

组装

  1. 喇叭底座可轻松卡扣到底部罐体上,侧面PCB夹应卡扣到喇叭侧边。
  2. 舵机支架也易于卡扣。为增加稳定性,建议剪裁圆形支架并用扎带固定到喇叭上(见附图)。这将限制其滑动,尤其是因激活罐体需要较大作用力。
  3. 建议通过螺丝固定舵机(非必需,3D打印件已较紧)。
  4. 我使用了两颗过大的木螺丝固定舵机,您也可选择粘合。

舵机臂安装

  1. 使用提供的螺丝将双面舵机臂固定到PCB上。
  2. 我最终用瞬间胶粘合了另一个小舵机的舵机臂作为“手指”,但其实直臂的扭矩已足够。

PCB固定

  1. 用热熔胶将测试好的PCB固定到PCB支架上(也可用螺丝,但热熔胶更便捷)。
  2. 将其卡扣到喇叭上。

电源连接

  1. 将电池夹焊接到板上的电源引线上。
  2. 根据数据手册,这些板的稳压器输入电压上限为16V,因此4节满电AA电池在此配置下是安全的。
  3. 最后,用胶带或热缩管包裹电线以防短路,并通过热熔胶将电池夹固定到底部支架的脚部。

注意:请查看本步骤的所有图片以确保正确组装。

6

开始使用!

  1. 为比赛发信号?
  2. 藏在同事桌下恶作剧?
  3. 只是真的很爱喇叭?

现在,权力掌握在您手中(前提是您在蓝牙范围内)! 您现在可以尽情吹响喇叭,直到心满意足。请注意,这些喇叭的音量非常大,使用时需负责任,避免在动物附近或邻居休息时使用。

7

可选配件 + 故障排查

可选配件

超级电容: 如果设备未能激活喇叭但按下按钮后重启,可能是电流不足。首先更换为新AA电池,或添加一个串联电容到电路中。我曾放置几个电容到电源线路中(见附图)。

电压表 + 开关: 通过在主电压线上串联开关,可添加电源开关以控制设备开启/关闭。将开关公共端连接到主电压线,电路VCC连接到顶部针。通过添加红线到电压表的底部针,可在关闭时读取电池电压。在电压表与开关间串联一个瞬时开关以节省电量。

更改蓝牙名称和密码: 参考Techbitar的教程(此处)。

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载