亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

DIY Arduino 蚂蚁六足机器人:全流程制作指南

本教程将展示如何制作一款 Arduino 六足机器人。顾名思义,它有 6 条腿,此外还拥有尾巴(腹部)、头部、触角、大颚甚至功能性眼睛。这些特征让它酷似蚂蚁,因此也可称为 Arduino 蚂蚁机器人。

可观看视频或阅读下方图文教程。

概述

机器人通过自制 Android App 控制。App 提供前进、后退、左转、右转 4 个方向键,同时支持头部摆动、尾巴摆动、咬合/抓取/释放、攻击等动作。

DIY Arduino 蚂蚁六足机器人:全流程制作指南

头部设计内嵌 HC-SR04 超声波测距模块作为“眼睛”。当手靠近头部时,机器人会进入攻击准备状态;若手后撤则取消攻击,若继续靠近则发起攻击并咬合。是不是很酷?继续阅读了解完整制作过程。

DIY Arduino 蚂蚁六足机器人:全流程制作指南

3D 模型设计

使用 3D 建模软件设计全身结构。每条腿 3 个关节(3 个舵机),共 18 个舵机,选用 MG996R。尾部 1 个 MG996R,头部两自由度(横滚+俯仰)需 2 个 MG996R,大颚用 1 个 SG90 微型舵机。合计 21 个 MG996R + 1 个 SG90。

DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南

眼睛部位专门设计适配 HC-SR04。所有零件夹在上下两块基板之间,上基板另配弧形盖板隐藏走线、Arduino 和电池。

DIY Arduino 蚂蚁六足机器人:全流程制作指南

3D 模型下载链接 (Thangs) | STL 文件下载

3D 打印零件

使用 Creality CR-10 打印全套零件,表现优秀。最难打印的是头部(一体成型),需设置 60° 悬垂角支撑并添加支撑阻挡块,最终成型完美。

DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南

机械组装

腿部组装: 用 M3×16mm 螺栓、螺母、弹垫固定舵机(全身约 200 颗螺栓)。连杆使用舵机附带的圆盘摇臂(需自钻 3mm 孔)或购买金属 M3 螺纹摇臂。安装时确保舵机输出轴处于中位,连杆拥有完整运动范围。舵机顶部的三角支撑柱需用美工刀削除,使舵机能贴合打印件。第三个舵机安装前,先置入 M4 螺栓用于后续连接基板。

DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南

单腿组装完成,需重复 6 次。

DIY Arduino 蚂蚁六足机器人:全流程制作指南

安装腿部至机身: 先在上基板固定圆盘摇臂,再将腿部舵机输出轴对准中位锁上。调整中位可获得最大运动范围,减少后续标定工作。背部尾部舵机摇臂同步固定。

DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南

翻转机身,将下基板穿过腿部 M4 螺栓,用平垫和自锁螺母固定。注意拧紧力度:既要牢固又要保证腿部能自由旋转。

DIY Arduino 蚂蚁六足机器人:全流程制作指南

头部机构: 横滚舵机垂直安装,配两块小连接板固定在两基板间。U 型托架连接横滚与俯仰舵机,俯仰舵机托架预埋 4 颗 M3 螺栓用于固定头部外壳。安装时利用 U 型架弹性将舵机轴插入摇臂。

DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南

头部预组装: 先装大颚和 SG90 舵机、超声波模块。第一块大颚用 M4 螺栓固定(眼部预留螺丝刀孔)。SG90 固定后,第二块大颚装配微型摇臂并啮合齿轮。超声波模块用瞬间胶粘在眼孔。触角用 3mm 钢丝弯制(约 13cm),同样瞬间胶固定。最后将头部通过 4 颗预埋螺栓锁在俯仰托架上。头部现可横滚、俯仰、咬合。

DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南

装上尾巴(滑入尾部托架)和弧形上盖,蓝白配色的蚂蚁机器人正式亮相!

DIY Arduino 蚂蚁六足机器人:全流程制作指南

电路原理图

DIY Arduino 蚂蚁六足机器人:全流程制作指南

核心元件:22 个舵机、HC-05 蓝牙模块、若干电容电阻、Arduino Mega(唯一能用 Servo 库驱动 12+ 舵机的常用板)。供电用 3S 锂聚合物电池(约 12V),舵机工作电压 4.8-7.2V,需 DC-DC 降压模块(Buck Converter)将 12V 降至 5V。建议选 10-15A 模块(实测峰值约 6A)。

元件购买链接:

  • MG996R 舵机……………………
  • SG90 微型舵机…………………
  • HC-05 蓝牙模块…………………
  • Arduino Mega 开发板…………
  • 3S 锂聚合物电池…………………
  • DC-DC 降压模块…………………

PCB 设计(Arduino Mega 扩展板)

22 路舵机信号线极其繁杂,设计专用 PCB 作为 Mega 扩展板。舵机接口密集排布,旁边并联大容量电容稳压。预留 NRF24L01 接口(可选无线控制)、数字/模拟 IO、5V/GND、双 LED、电池电压监测分压电路(R1/R2 分压至 5V 以下供模拟口读取)。

DIY Arduino 蚂蚁六足机器人:全流程制作指南

PCB 工程文件链接 → 生成 Gerber → JLCPCB 制板(选蓝色匹配 Mega 板)。

DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南

PCB 焊接组装

焊接公排针(插 Mega)、舵机排针、电阻、电容、接线端子。组装完成后直接插在 Mega 板上。

DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南

调节降压模块电位器输出 5V。电源开关接在 12V 输入端,电池 12V 同时接 PCB 电压监测引脚。将电池、Arduino+PCB、蓝牙/NRF24L01、低电压指示 LED 依次塞入两基板间,连接所有舵机信号线(记录对应引脚号),盖上弧形盖板,硬件完成。

Arduino 代码详解

代码较长,分段讲解,文末附完整代码。

使用 Servo.h 控制舵机,SoftwareSerial.h 与蓝牙通信。定义 22 个舵机对象及大量中间变量。

#include <Servo.h>
#include <SoftwareSerial.h>
#define trigPin 7
#define echoPin 6
#define ledB 10
SoftwareSerial Bluetooth(12, 9); // Arduino RX, TX - HC-05 TX, RX

Servo s24, s23, s22; // ... 共 22 个舵机对象

setup() 初始化蓝牙(38400 波特率)、超声波引脚、LED,逐个 attach() 舵机引脚(指定脉宽范围 600-2400μs),再用 write() 设定各舵机初始角度(此处即为标定过程)。

void setup() {
  Serial.begin(38400);
  Bluetooth.begin(38400); Bluetooth.setTimeout(1); delay(20);
  pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(ledB, OUTPUT);
  // 头部舵机
  s15.attach(36, 600, 2400); s14.attach(35, 600, 2400); s13.attach(34, 600, 2400);
  // 大颚 s5.attach(26, 600, 2400);
  // 尾部 s5.attach(26, 600, 2400); // 注意:原文尾部也用 s5,实际应为不同对象
  // 6 条腿共 18 个舵机,按编号依次 attach...
  // 最后移至初始姿态
  s15.write(72); s14.write(50); s13.write(90); // 头部
  s5.write(65); // 大颚/尾部
  // 腿部初始角度...
}

步态算法: 未采用正/逆运动学,因廉价 MG996R 扭矩不足、定位不准。改用“摆动-支撑”相位手动编程:每条腿写独立函数,通过计数器控制 4 个阶段——抬腿、摆动、落地、推回。3 条腿交替摆动(三脚步态),另 3 条支撑身体前进。

DIY Arduino 蚂蚁六足机器人:全流程制作指南
void moveLeg1() {
  // 摆动相位:抬腿 -> 旋转 -> 落地
  if (i1L1 <= 10) { s18.write(60 - i1L1*2); s17.write(90 - i1L1*3); i1L1++; }
  if (i2L1 <= 30) { s16.write(100 - i2L1); i2L1++; }
  if (i2L1 > 20 && i3L1 <= 10) { s18.write(40 + i3L1*2); s17.write(60 + i3L1*3); i3L1++; }
  // 支撑相位:旋转回初始位
  if (i2L1 >= 30) { s16.write(70 + i4L1); i4L1++; l1status = HIGH; }
  // 循环重置
  if (i4L1 >= 30) { i1L1=i2L1=i3L1=i4L1=i5L1=0; }
}

主循环中根据蓝牙指令调用不同步态函数:

// 前进:1、3、5 号腿摆动,2、4、6 号腿支撑
if (m == 2) { moveLeg1(); moveLeg3(); moveLeg5(); if (l1status==HIGH) { moveLeg2(); moveLeg4(); moveLeg6(); } }

// 蓝牙指令解析
if (Bluetooth.available() > 0) { dataIn = Bluetooth.read(); }

Android App (MIT App Inventor)

App 界面为自制图片按钮,底部滑块调速,顶部蓝牙连接按钮。按下“前进”发送数字 2,再次按下发送 0 停止并复位。其余按键同理(左转、右转、后退、攻击等)。

DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南
DIY Arduino 蚂蚁六足机器人:全流程制作指南

App Inventor 源文件 (.aia) 下载 | APK 安装包下载

电池监测与超声波攻击逻辑

// 电池电压监测 (A3 分压后读取)
int sensorValue = analogRead(A3);
float voltage = sensorValue * (5.00 / 1023.00) * 2.9;
if (voltage < 11) digitalWrite(ledB, HIGH); else digitalWrite(ledB, LOW);

// 超声波测距触发攻击
if (getDistance() > 40) att = 0;
if (getDistance() <= 40) { att = 1; dataIn = 99; }

// 攻击状态机:准备 -> 取消/攻击
if (att == 1) { prepareAttack(); ... }
if (att == 2) { dismissAttack(); ... }
if (att == 3) { attack(); ... }

完整代码下载:Arduino Hexapod 完整源码

避坑提示: 最大挑战是廉价 MG996R 性能不稳定(扭矩不足、定位漂移)。建议预算允许时选用高精度金属齿舵机。祝制作愉快,欢迎交流!

制造工艺

  1. 蓝牙控制树莓派机器人:语音反馈功能构建指南
  2. 舵机驱动避障机器人:基于 Arduino 与 HC-SR04 构建
  3. Arduino UNO 自制循迹小车:从零构建自主巡线机器人
  4. Arduino + Android 蓝牙控制 Roomba Create 2 扫地机器人完整指南
  5. Arduino Nano 语音控制机器人:蓝牙 + 手机 APP 实现
  6. PiBot:Arduino驱动的88键钢琴机器人,精准演奏MIDI乐曲
  7. LittleArm 2C:3D 打印 Arduino 机械臂 - STEM 教学专用,坚固易装
  8. 自主家庭助理机器人 O'nine - ROS + Alexa 语音控制 + 机械臂 + 麦克纳姆轮全向移动
  9. 通过专用 Android App 蓝牙控制 Arduino 机械臂
  10. 适用于 Arduino 项目的智能室内导航机器人套件
  11. WiDC:Wi-Fi FPV 机器人 - 远程控制与实时视频传输
  12. Arduino 打造会说话的智能人形机器人「Mofiza」