大嘴比利低音 + Alexa
组件和用品
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
必要的工具和机器
![]() |
|
关于这个项目
材料
比利巴斯在多伦多工具图书馆手术室。
- 大嘴比利巴斯*
- 第二代 Echo Dot
- Arduino Uno
- Arduino 电机驱动器扩展板
- LM386 放大器
- 3.5 毫米音频线
- 至少 4 节 C 型电池
*这个 Billy Bass 似乎和我的最接近,任何一个都可以工作,但有些可能只有两个电机
比利巴斯拆解
1. Billy Bass 的背面应该有一些非常明显的螺丝。相信你的直觉,简单地拧开那些(节省螺丝),然后把鱼的背部拉下来。这应该打开,可以看到鱼侧的电机和背板上的电池组。

2. 你会看到里面有一个 PCB,所有的电线都连接了。跟踪来自电机的电线,并将它们从比利 PCB 板上剪下来,尽可能多地留下电线(应该有很多)。用胶带粘贴或标记这些电线。识别来自电池的电线,并将它们从 PCB 上剪下来。这些将在稍后用于通过电机屏蔽为您的 Arduino 供电。
3. (可选)确定用于打开和关闭鱼的运动传感器的开关。切断它的电线并焊接电池端子的正极引线以通过这个开关,使其可用于打开和关闭比利的电机电源。这是为了方便起见,并非绝对必要。

4. 将电机护罩连接到 Arduino,并将电机的正负极线连接到电机护罩上的前三个电机端口(标记为 M1、M2、M3)。将 Billy 电池组的正极和负极引线连接到标有 EXT_PWR 的端子。
带有 3 根电机线的电机屏蔽罩 - 两根在底部,一根在顶部,以及来自右侧带有黑色和红色电线的电池组的电源。白线连接到下一节中描述的音频放大器。

控制电机
连接好所有电线后,现在您可以将您的第一个草图上传到 Arduino 并确认电机按预期工作。您首先需要按照其网站上的说明安装 Adafruit 电机库以控制电机防护罩。完成后,您可以将此电机诊断草图上传到您的 Arduino,它应该依次驱动 M1、M2 和 M3。
您应该继续这一步,直到您能够通过 Arduino 草图中的同名电机控制头部、嘴巴和尾部。当我们添加更复杂的动作时,这将是需要的。
如果这不起作用,您可能需要根据连接方式将草图中的头部、嘴巴和尾部变量分配给不同的电机编号。此外,如果嘴巴、尾巴或头部似乎朝错误的方向移动,您可以将连接到电机屏蔽罩的两根电线接反。
回声点拆卸和音频检测
1. 从 Echo Dot(第 2 代)底部剥下橡胶,露出透明的粘合剂层,您也可以将其撕下。这将显示四个梅花螺钉。拧下并取下这四个螺丝,您的点应该会分裂成多块。
我们对这两个电路板感兴趣。小心连接两个 PCB 的带状电缆。这对我来说已经拔掉了大约 20 次,所以你可能想立即将它连接到鱼箱上(有关我是如何连接我的,请参见本文末尾附近的照片)。

2. 将 3.5 毫米音频线剪到非常靠近插孔的位置。剥去橡胶,露出千斤顶底部的触点。这将包含左、右和接地电缆(以许多细小的松散电线的形式)。将一段电线焊接到 L 和 R(将信号转换为单声道),并将松散的电线扭在一起形成地线。有关音频插孔的更多信息,请查看这篇非常有用的帖子。在此阶段,您可以使用便携式扬声器测试音频输出是否仍然有效。

3. 将信号线(L和R单声道)连接到LM386功放板上的IN引脚,将接地引脚连接到音频信号地。将 Arduino 5V 输出 / GND 的电线连接到放大器的 VCC 和第二个 GND 引脚(也可以将 Billy Bass 电池组用于 VCC 和 GND)。现在将比利·巴斯 (Billy Bass) 扬声器的电线连接到放大器。
此时您应该能够将 3.5 毫米音频插孔插入 Echo Dot,并通过扬声器听到 Alexa。如果您听不到音乐,请尝试转动放大器上的小螺丝(电位器)以增加增益。然而,这会引入噪声,所以尽量保持尽可能低的增益。

4. 放大器上的 4 个引脚位于底部,您将在“顶部”有两个扬声器接线端子。将额外的电线连接到左上角扬声器端子,并将其连接到 Arduino 上的模拟引脚 0。出于测试目的,这可以在没有连接电机屏蔽的情况下完成。但是,一旦它开始工作,您就必须将其焊接到标记为 A0 的电机屏蔽连接 (实际上,我不小心使用了 A1 - 任何模拟引脚都可以) .
音频诊断 Arduino 草图
如果您正确地遵循了上述步骤,则有两个测试可以确认您走在正确的轨道上。在进行下一步之前,您应该确保这两项检查都有效!
1. 当您从 Echo 播放音乐(“Alexa,播放 Slayer”)时,您实际上会听到一些东西。
如果这不起作用,请检查进入放大器的电源设置是否正确,并检查您的 3.5 毫米音频线是否正确连接。
2. 当您将此音频诊断草图加载到您的 Arduino 并打开串行监视器(9600 波特)时,您可以看到一条日志消息,指示是否正在播放音乐。您还可以观看 Arduino 的板载 LED,它应该在播放音乐时点亮,否则熄灭。
如果第 2 步不起作用,请尝试将模拟线连接到来自放大器的扬声器端口上的另一个端子。您可能还需要调整草图中的“quietThreshold”值以正确校准无声音播放,但在下一步中,我们将平均该值以使其更稳定。
放在一起
在独立确定我们可以让所有电机移动,并且可以在播放音乐时播放音乐并从Arduino测量,我们只需要组合组件即可。
这只需将放大器信号连接到电机屏蔽上的 A0 端口,然后插入所有电机即可完成。将此草图结合音频信号读取和一些更高级的电机运动推送到您的 Arduino 现在应该会在播放音乐时触发鱼的动画。
将您的 Echo 插入电源并将其连接到 3.5 毫米音频线,您应该会看到您的鱼呈现出 Alexa 的个性!我们现在在主场。

现在剩下的就是将电子元件连接到比利的箱子里,然后再把它关上。我使用 Billy Bass 上的塑料垫片标签通过将下部 PCB 粘合到外壳上来将 Dot 固定到位,并将螺钉穿过顶部 PCB 连接到我切成两半的外壳的现有螺钉立管之一。放大器被粘在背板上(尽可能远离扬声器,因为当它们靠在一起时会发出噼啪声),而 Arduino 则被热粘在剩余的空间中。请记住,您可能想再次将其拆开,因此请使用较长的或可拆卸的电线连接。


最后,您可能希望在 Billy 的塑料上钻一些孔,以便音频可以更轻松地传输到 Echo Dot 的麦克风。我还在 Billy 的箱子侧面切了一个洞,这样我就可以将两根 USB 电缆从机身中穿出。如果我想继续修修补补,一个用于对 Arduino 进行编程,另一个用于为 Echo Dot 供电(使用便携式 USB 电池组)。我认为如果您将 USB 电缆连接到 billy 上的电池组,您也可以直接从它为 Echo dot 供电,但我的一次尝试没有成功。如果我设法完成,我会更新此页面。

结论
因此,这里还有一篇关于如何将比利·巴斯(Billy Bass)变成聪明鱼的博客文章。通过使用 Echo Dot 而不是 Raspberry Pi,您可以获得所有第一方 Alexa 功能,例如插入呼叫。话虽如此,你不可能对比利发出什么样的声音那么聪明。在 Raspberry Pi 中使用 Alexa 重新审视这个可能会很有趣,这样我就可以在检测到语音时编写一些不同的动画,或者甚至添加另一层音频处理,这样听起来就像鱼在水下一样。但我得把它留到下雨天。
希望你喜欢这篇文章,祝你黑客攻击好运!
代码
要点
https://gist.github.com/benrules2/f9268a320d99863fe9dbd330351af56acode class="gist" id="gist-f9268a320d99863fe9dbd330351af56a">code-gist-id="f936a9f">code9359af">code9359af56a要点 https://gist.github.com/benrules2/9b6c730084e6fbb46ca1c8b4036e8c9cbbc30b4c>bbc30b4c>bbc8c8c8c8c8c8c>30b4c8c8c9c要点 https://gist.github.com/benrules2/2f5304627c109e4ceb31b8ec12d69ee0code class="gist" id="gist-2f5304627c109e4ceb31b8ec12d69ee0">code-gist-id="62731b30e">code class="gist" id="gist-2f530469ee0"
制造工艺