做一只具备热视觉功能的库克鸡
本帖最后由 RRoy 于 2023-5-31 14:29 编辑自1992年以来,Cucco这种类似鸡的生物就在《塞尔达传说》系列的各种游戏中出现。引用《塞尔达传说》档案:
“如果主角Link多次攻击Cucco,它将变得愤怒,并开始大声啼叫召唤它的群体一起从不同方向飞下来攻击他(用它们的嘴啄死他)。如果被一群Cuccos攻击,Link没有办法保护自己,除非他设法在逃离现场之前及时逃脱。”(这通常称为“Cucco复仇队”)
这个毫无用处的“机器人”是设计来模仿这种动态性格的。
当暴露在足够大的噪声下时,Cucco会进入复仇模式,并开始追逐最近的物体,在与周围环境温度形成对比的热信号方向上飞行。
该项目是 ITECH 国际科学硕士计划中“计算设计与数字制造研讨会”的一部分,由Matthias Hornung、Otto Lindstam和Kalaivanan Amudhan共同完成。
所需物品
[*]
直流电机、轮子和电机驱动器可以作为套件购买。这是两倍于所需元件的数量(当一个电机在测试过程中出现故障时,你会发现多亏准备了两个)
[*]
第二个 Arduino 板可能不必要,仅用于快速解决库冲突。有关电子装配的替代 Fritzing 图表,请参见下面的说明。需要将两个代码文件合并。
步骤 1:基础知识
机器人的布局和行为,以及热导航的原理。
步骤 2:订购硬件
订购所需的传感器和执行器。
参阅供应清单,确保订购了正确的元件。
请注意,如果需要,你也可以用其他传感器替换触发“愤怒模式”的麦克风。
作为预防措施,我们建议使用两个单独的 Arduino 板,而不是一个,以避免液晶显示屏和热成像相机(<Adafruit_GFX.h> 和 <Adafruit_SSD1306.h>)的库可能干扰的任何潜在问题。
步骤 3:修改 OLED 显示器的 I2C 地址
为了镜像液晶显示屏,它们应该具有不同的 I2C 地址。因此,请按照下面的说明操作:
1.前往 https://www.instructables.com/Arduino-and-the-SSD1306-OLED-I2C-128x64-Display/ ,按照第 1 步和第 2 步操作。
2.从 https://playground.arduino.cc/Main/I2cScanner/ 复制代码,并分别为两个显示器运行该代码。
3.如果两个显示器的地址相同(例如,0x3C),则继续执行下面第 3 步的指南。如果地址不同(例如,0x3C 和 0x3D),则记录地址并将显示器标记为区分它们。稍后将使用它们。
4.将一个液晶显示屏的 I2C 地址更改为将电阻器移至其背面。
5.完成后,返回到第 2 步,并检查地址是否正确更改。
步骤 4:上传音频文件至音频板
将电路板通过提供的 USB 线连接到计算机上,它将显示为存储设备。
只需将小于 8MB 的声音文件拖放到其上并弹出。
通过将其连接到电源并按下附加的按钮来验证声音系统的功能。
完成后,请取消连接按钮,改为按照上面显示的方式接线,并按照以下步骤中的图表进行连接。
步骤 5:组装传感器和执行器
在清洁平整的桌子上展开所有组件。
确保随手准备几根不同的跳线,特别是公-公和母-公跳线。
使用电子原理图表示连接传感器和执行器。暂时将两个 Arduino 板分开。
由于 LCD 显示器和红外线摄像机在鸡身内位置较远,因此请使用长电缆将它们连接起来。
通过调节麦克风的电位器,将其的灵敏度向逆时针方向旋转,直到 LED-2 熄灭。一旦组装所有电子器件并进行测试,可以进一步微调以适应自己的感觉。
请注意,灰色的元件仅在希望实现振翅机构的附加直流电机时才需要。这超出了本说明的范围有兴趣的可以自行研究。
相关的pdf文档可以在文末下载。
步骤 6:下载库
库:
https://github.com/adafruit/Adafruit_AMG88xx
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306
访问步骤 3 中列出的网站,下载代码所需的必要库。或者从 Arduino 库管理器下载它们。
按照每个网站提供的说明正确安装库。
步骤 7:上传并测试代码
将第一个代码文件(AngryEye.ino)复制并上传到 Arduino IDE。这将是除热成像相机外所有传感器和执行器的主板。
编译代码并检查是否正确下载了所有库。
上传时,声音芯片应该触发一次,之后液晶显示屏将启动。这需要几秒钟。
检查所有传感器和执行器是否正常工作。我们添加了“Serial.Println”功能以触发和驱动运动,以便了解一切是否正常工作。
完成后,请使用第二个代码文件(thermalNavImplementation.ino)上传到带有热成像相机的第二个 Arduino 板,确认其正确编译后。
代码将将热成像相机读数输出为 4 种类型的动作:l(向左)、r(向右)、f(向前)和 s(搜索)。可以通过观察串行监视器,通过手在传感器前方的空间移动来验证响应。提供的处理脚本可以提供传感器捕捉的视觉反馈。
步骤 8:测试眨眼行为
通过使用指定 OLED 模型的十六进制转换器,测试眨眼行为,并且还可以制作自定义动画帧。
步骤 9:将两个板连接在一起
一旦确认两个 Arduino 板都正常工作,就可以将它们连接在一起。你可以参考电子原理图表示,了解如何进行连接。
在继续之前,请确保已取消注释主代码脚本中负责在两个板之间通信的函数。
使用跳线将 Arduino 板连接在一起,并确保它们安全地固定。布线连接应对应于电子原理图表示。
仔细检查所有传感器和执行器是否按预期工作。你可以运行一些测试,验证运动检测,声音检测和热成像是否都正常工作。
确定一切都可以与其他元件良好地配合使用,确保所有元件都已牢固地固定在合适位置,并且布线连接是否紧密。可以使用热胶和电气胶带来固定电线。
步骤 10:制作机身
将底盘和轮子延伸件 3D 打印。
通过螺丝将转向轮安装在底盘背面。
根据提供的样板从厚纸上切下机身、尾巴和头。
将切割件粘合在一起,并将尾巴固定在主体上。可使用提供的 obj 文件作为各部分之间的连接参考。
制作热传感器和眼睛的孔。可以跟踪 OLED 显示的眼睛图像。
所有文件可以在文末下载。
步骤 11: 安装电路
使用热熔胶将直流电机固定在底盘底部,并确保它们的一个轴在侧向孔中居中。
在前端安装超声波传感器,将面包板粘在后面。
在面包板后面垂直安装一块泡沫板,并将两个arduino各自附在一侧。
将电机驱动器安装在底盘的后部。
将音频模块和电池放置在空间充足的地方。
步骤 12: 固定主体
通过将底部纸片粘在3D打印件上,将船体固定到底盘上。现在可以通过脖子口看到Arduino板。
确保为电机驱动器和逻辑组件都提供足够的电源。这可能需要对电池电压和主代码中速度设置进行微调,确保稳定的运行结果。
步骤 13: 欣赏成果
通过上面的步骤,相信你应该能够成功组装机器人并确保它可以正常工作了!
原文作者:otto.lindstam
原文链接:https://www.instructables.com/Robotic-Kukko/
译文首发于公众号:DF创客社区
转载请注明来源信息
有创意的,小雾一手! 厉害厉害 有创意! 有创意,红外跟踪行制导捣蛋 不错不错 挺有创意!!
页:
[1]