会说话的保镖机器人——搭载蓝牙音响系统的互动装置


今晚吃什么
转载
发布时间: 2025-12-12 11:02:39 | 阅读数 0收藏数 0评论数 0
封面
我使用超声波传感器、两个LED灯、一个蜂鸣器以及Arduino制作了一个距离感应电路,并额外加入了一个蓝牙音箱。 该传感器会测量声波脉冲往返所需的时间,我的代码则通过公式 distance_cm = 0.017 × duration_us 来计算距离。当检测到物体距离小于50厘米时,红色LED灯会亮起,同时蜂鸣器发出蜂鸣声;否则,绿色LED灯将被点亮。这展示了代码与传感器如何协同工作,对周围环境作出响应。此外,我还增加了一套蓝牙音箱系统,用户可以连接该系统播放音乐、音效或语音台词,使“保镖”体验更加沉浸。

准备工作:

材料:

机器人材料:

  1. HC-SR04超声波传感器
  2. LED*2
  3. 蜂鸣器
  4. Arduino Nano
  5. 面包板
  6. 跳线
  7. 电源开关
  8. 22欧姆电阻
  9. 电池盒(可装4节电池)
  10. 塑料管
  11. 红色标记笔

蓝牙音箱:

  1. 3D打印耗材
  2. AutodeskFusion
  3. 迷你音箱*2
  4. 小型扬声器音频模块
  5. 电源开关
  6. 电池盒(可装4节电池)
  7. 4*电池
  8. JST电线
  9. 螺丝*8
  10. 黑色记号笔
  11. flashPrint5

工具:

机器人工具:

  1. 激光切割机
  2. 烙铁
  3. 剥线钳
  4. 热熔胶枪
  5. 蓝牙音箱工具:
  6. 3D打印机
  7. 烙铁
  8. 剥线钳
  9. 螺丝刀
  10. 剪线钳
  11. 热熔胶枪


1

编写代码和设置Arduino

该项目的第一步是在搭建电子电路的同时编写 Arduino 代码。


该代码的设计运用了计算思维原理,包括分解、模式识别、抽象和算法。

将分解应用于各个独立任务,包括传感器设置、定义距离阈值以及控制 LED 和蜂鸣器的输出。

模式识别体现在对不同组件重复使用输入/输出结构和条件逻辑上。

抽象化简化了系统,只关注必要的交互——测量距离和激活输出——而省略了不必要的细节。


该算法提供了生成超声波脉冲、计算到物体的距离以及确定是否激活 LED 和蜂鸣器的分步说明。


代码(Arduino IDE):

const int TRIG_PIN = 6; // Arduino 引脚连接到超声波传感器的 TRIG 引脚

const int ECHO_PIN = 7; // Arduino 引脚连接到超声波传感器的 ECHO 引脚

const int LED_PIN = 10; // Arduino 引脚连接到 LED 引脚

const int LED_PIN2 = 11;

const int SPEAKER = 12;


const int DISTANCE_THRESHOLD = 50; // 厘米

float duration_us , distance_cm;

void setup() {

pinMode(TRIG_PIN, OUTPUT);

pinMode(ECHO_PIN, INPUT);

pinMode(LED_PIN, OUTPUT);

pinMode(LED_PIN2, OUTPUT);

pinMode(SPEAKER, OUTPUT);

}


void loop() {

// 向 TRIG 引脚生成 10 微秒脉冲

digitalWrite(TRIG_PIN, HIGH);

delayMicroseconds(10);

digitalWrite(TRIG_PIN, LOW);


// 从 ECHO 引脚测量脉冲持续时间

duration_us = pulseIn(ECHO_PIN, HIGH);


// 计算距离

distance_cm = 0.017 * duration_us;


if(distance_cm < DISTANCE_THRESHOLD) {

digitalWrite(LED_PIN, HIGH);

digitalWrite(SPEAKER, HIGH); // 打开有源蜂鸣器

delay(30);

digitalWrite(SPEAKER, LOW); // 关闭蜂鸣器

} else {

digitalWrite(LED_PIN, LOW);

}

if(distance_cm > DISTANCE_THRESHOLD) {

digitalWrite(LED_PIN2, HIGH);

} else {

digitalWrite(LED_PIN2, LOW);

}

delay(500);
}

随后组装电路以运行代码。Arduino Nano 用作微控制器,连接超声波传感器 (HC-SR04)、两个 LED、一个蜂鸣器、电阻器和电源开关。9V 电池组为系统供电。电路图指导了元件在面包板上的放置,确保输入输出设备之间的连接准确无误。在将各个元件集成到完整电路之前,都进行了测试。请查看以上照片,并观看视频了解搭建过程。

至此,Arduino 和电路的设置、编码和搭建就完成了。

MOV
IMG_0183.MOV
15.42MB
2

制作Arduino机器人外壳

项目的第二阶段重点是构建电路和微控制器的外部结构。这一过程首先是在 xTools 上以数字方式设计外部组件,确保尺寸精确且对齐,以便与之前编写的 Arduino 系统兼容。

外壳是用激光切割机制作的。之所以选择激光切割机,是因为它能够在很短的时间内(最多只需 3 分钟即可完成所有切割)对亚克力和木材(我用的是 6 毫米厚的 MDF 板)等材料进行高精度、干净利落的切割。

为了安装开关、蜂鸣器和两个 LED 灯,我事先钻孔,确保尺寸完美契合。我保证所有连接处都牢固可靠,并且电子元件的开口尺寸符合设计规范。

为了让机器人看起来更有生命力,我用一根可弯曲的塑料管包裹住超声波传感器的电线,使其看起来像脖子,有点像瓦力(Wall-E)。

我使用热熔胶是为了牢固粘合和简单组装。

至此,机器人的“保镖”部分就完成了。

SVG
F6DDMPDMFFQIKCB.svg
82.71KB
MOV
IMG_0150.MOV
19.26MB
3

设置蓝牙音箱+连接

在本项目的第三阶段,我专注于添加可正常工作的蓝牙音箱,这样我就可以通过手机(任何支持蓝牙的设备均可连接)播放保镖会说的语音台词(相关视频请参见第4步)。

在这一阶段,我将JST线缆的末端焊接到各自的金属接片上(红色线焊接到正极,黑色线焊接到负极)。

我对第二个音箱也重复了同样的焊接步骤。

我确保使用了足够的焊锡,以避免日后需要重新焊接。

完成线缆焊接后,我将JST线缆的压接端子插入音频模块对应的接口中。

接着,我在电池盒中装入4节电池,并在红色导线上加装了一个开关,以便控制设备的开启与关闭。之后,我将电池盒连接到音频模块上。

设备开启后,会发出四声“哔哔”提示音,随后任何支持蓝牙的设备都可以与其配对并播放声音。

接下来,我使用Fusion设计了一个CAD文件,为音频模块和电池制作了一个外壳,使其隐藏起来,外观更加整洁。下方附上了该外壳的STL文件。我通过连接Adventurer 5M Pro 3D打印机,使用FlashPrint 5软件完成了3D打印。

我用热熔胶将电池盒固定在外壳内部,再将整个外壳安装到激光切割的“保镖机器人”外壳上,同时让开关和两个扬声器分别从外壳两侧的开孔中伸出,从而实现从外部控制音箱系统。

我使用黄色耗材进行打印,但也可以使用任意颜色。

请查看附带的视频、照片和文件,以了解实际操作过程。

至此,蓝牙音箱系统的搭建与连接工作全部完成。


STL
speaker+bouncer.stl
6.04KB
MOV
IMG_0455+2.MOV
9.01MB
MOV
IMG_0484.MOV
12.16MB
MOV
IMG_0552.MOV
12.73MB
MOV
IMG_0554.MOV
12.12MB
4

扬声器外壳和装饰品

最后,我只是给扬声器加了一个外壳,加了一个“外壳”,并区分了 LED 灯。

我为 Fusion 上的扬声器设计了一个外壳,这样扬声器在使用改进的立体声设置时声音会更好,并且可以固定在机器人的外壳上。

我用 3D 打印机打印外壳时,把扬声器拧了进去,但留出了一些空间,这样就不会抑制振动。

之后,我把开关安装在了外面,这样既方便使用又方便操作,而且也不会有电线到处乱晃。

然后,我用 3D 打印机打印了这套“西装”,使其更具保镖的感觉,并用黑色记号笔给领带和两侧涂上颜色,使其看起来像一套黑色西装和领带配红色衬衫。

我还用红色记号笔给表示“走开”的 LED 灯涂上了颜色,表明该 LED 灯代表什么,并在 LED 灯下方写上了“走开”和“你没事”,以进一步传达 LED 灯的含义。

外壳我用的是深蓝绿色的耗材,衣服是用红色耗材做的,不过任何颜色的耗材都可以用。

STL
speaker+bouncer.stl
6.04KB
STL
the+suit.stl
2.82KB
STL
bt+speaker+sheningan.stl
44.52KB
MOV
IMG_2738.MOV
9.25MB
阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载
pdf下载 举报