153| 6
|
[项目] 【Arduino 动手做】集成了智控和271颗LED灯的六足机器人 |
## 补给品 螺丝: M2(小头)6mm *8 M3(小头)10mm *12 M3(小头)14mm *12 M3(小头)20mm *6 M3(小头)30mm *12 M3(沉头)6mm *4 M3(沉头)10mm *4 M5(沉头)10mm *30 M3螺母(方形)*48 M3热定型刀片(外径5)5mm *53 M5热定型刀片(外径7)5mm *42 电子产品: STM32...C8T6(蓝色药丸)*1 HC-05(蓝牙模块) PCA9865(伺服驱动器)*2 XL4016E1(降压转换器)*1 XL6009(蓝色好)*1 LED 环 60 *1 LED 环 16 *1 LED 环 8 *1 LED灯带 144LED/米 *2 18650电池*4 HX-2S-JH20 *1 MGN996舵机*18 XT60母头*1 XT60公头*1 电线(16awg、20awg、信号线、屏蔽线) 您还需要一个 ST-Link(或其他编程器)和一部手机。 对于我来说,所有东西加起来(不包括运费)花费大约是 120 欧元,但根据购买地点、时间和方式,这可能会有很大差异。 有关价格和链接等更多信息,请查看GitHub上的 Excel 表。 ## 步骤1:打印 以下是您需要打印的所有部件。所有部件均已正确定向,并在需要的地方添加了支撑。所有部件的设计都尽可能地减少了支撑。 除了 leg_set 和 leg_set_mirrored 需要分别打印 3 次之外,其余所有内容都打印一次。 有些车身部件占据了整个打印区域,所以你需要一个调平的打印平台,或者更好的是网状床面调平。我没有,但效果还是不错的。 对于 bushing_set,您需要尝试不同的 XY 补偿值。这些衬套需要在每个关节处增加一些阻力,以减少抖动。 我打印了三个外壳和 10% 的填充物。 ![]() ![]() |
## 第 2 步:腿部和身体 准备好所有部件后,就可以开始搭建腿部了。我没有详细的腿部和身体搭建说明,但你可以观看我两个视频的搭建合集,看看组装好的3D模型。 我强烈建议先搭建一个单腿,练习一下,同时也能找到合适的衬套参数。如果衬套太松,腿会抖动。如果衬套太紧,腿根本动不了。一般来说,伺服电机移动的质量越大,所需的阻力就越大。 另外,在搭建腿部之前,务必将每个舵机归零。搭建时,确保每个关节呈 90° 角。腿部的弯曲会让这个问题更加棘手。 这是确保每条腿的 IK 系统正常工作所必需的。即使出现轻微偏差(这种情况肯定会发生),您也必须尝试不同的偏移值(在“output.cpp”中)来调整每条腿的 IK 值。 ![]() ![]() |
## 步骤3:接线 按照上面的接线图连接所有部件。如果分辨率不够,可以在GitHub上找到图片。务必使用屏蔽线连接 STM32 和伺服驱动器。如果没有屏蔽线,我遇到了一些干扰问题。 这里缺少一点,那就是电池和其余电路之间的XT60连接。你需要一种方法来关闭六足机器人。 LED 全部按以下顺序串联连接:眼睛中心、眼睛中环、眼睛外环、底环、腿[(右前)根部->尖端(顺时针方向) 对于舵机,你可以将它们连接到任何最方便的地方。但是,你需要在“output.cpp”文件中正确设置每个舵机的通道。 Leg[0].Servo[0].ch = 2; Leg[0].Servo[1].ch = 1; Leg[0].Servo[2].ch = 0; Leg[1].Servo[0].ch = 6; Leg[1].Servo[1].ch = 5; Leg[1].Servo[2].ch = 4; Leg[2].Servo[0].ch = 13; Leg[2].Servo[1].ch = 14; Leg[2].Servo[2].ch = 15; Leg[3].Servo[0].ch = 18; Leg[3].Servo[1].ch = 17; Leg[3].Servo[2].ch = 16; Leg[4].Servo[0].ch = 25; Leg[4].Servo[1].ch = 26; Leg[4].Servo[2].ch = 27; Leg[5].Servo[0].ch = 29; 腿[5].伺服[1].ch = 30; 腿[5].伺服[2].ch = 31; 有关命名信息,请参阅GitHub页面 在该节点上,确保桥接其中一个伺服驱动器的第一个焊盘。这将确保它使用不同的 I2C 地址。第二个驱动器将沿用第一个驱动器的通道编号 (16-31)。 ![]() |
## 步骤4:编程 代码是用带有平台 IO 扩展的 Visual Studio Code 编写的。我无法在这里上传这些文件,所以你必须从GitHub下载。 要上传它,请确保您已安装 VS Code 和 PlatformIO,并将从 GitHub 下载的代码作为项目添加到 PlatformIO 插件中。 从这里上传代码。请务必使用 ST-Link 进行上传。您可以使用简单的 FTDI 编程器或类似工具,但需要拔下蓝牙模块才能连接,并将 platformio.ini 文件中的“upload_protocol”从“stlink”更改为编程器所需的协议。点击此处了解更多信息。 如果您出于某种原因想要停用某些功能,例如 LED,您可以在“header.h”文件中注释掉不需要的部分。这对于测试新功能非常有用。 您还需要通过在 output.cpp 文件中设置每个伺服器的 angleOffset 来微调伺服器角度。如果您设置的值正确,它应该看起来像上面的图片一样。为了更容易操作,您可以取消注释“header.h”文件中的“#define SERVO_CALIBRATION”。这会将每条腿移动到其原点。 ![]() ![]() |
## 步骤5:安装远程应用程序 按照以下步骤安装应用程序。您会收到一条消息,提示安装过程可能存在危险。这很正常,所以不用担心。如果您不相信我,可以查看GitHub上的 MIT App Inventor 项目文件,然后自行编译。 安装完成后,请确保允许“附近的设备”。这是应用程序查找可用蓝牙设备所必需的。 请注意,有用于控制六足动物 LED 的滑块,但目前已被禁用以减少延迟。 附件 下载 {{ file.name }}Hexapod Remote v1.2.apk下载 ## 步骤 6:连接到六足动物 剩下要做的就是连接到六足机器人。 打开 Hexapod 并将其与手机蓝牙设置中的蓝牙模块配对(只需执行一次)。默认密码为 1234 或 0000。 完成后,打开 Hexapod Remote 应用程序并连接到蓝牙模块。 一旦连接,六足机器人将有一个简单的启动动画,现在您可以使用两个摇杆控制六足机器人,有点像无人机。 ## 第七步:欣赏你的作品 看到这个项目成功运行,对我来说是最有成就感的事情。我知道大多数人不会搭建这么复杂的东西,但我仍然希望能够激励你去构建自己的机器人项目。 ![]() |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed