【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人

2025-06-191416
AI 快速预览详细 收起
本项目介绍了如何通过Web界面控制6DOF机械臂。客户端使用JavaScript、HTML和CSS编写,服务器端使用Arduino代码。用户通过触摸或滑动手指来控制机械臂的不同部分,包括基座、手关节、抓手旋转和夹持器。通过几何计算确定电机角度,确保六个电机同时平滑移动到新位置。源代码包含两个文件:RobotArmWeb.ino(Arduino代码)和Remote_arm.php(Web应用代码)。
本项目展示了如何通过 Web 控制 6DOF 机械臂。

机械臂有 6 个电机。
• A 区:控制电机 2、3、4(控制三个手关节)
• B 区:控制电机 1(控制基座)
• C 区:控制电机 5(控制抓手旋转)
• D 区:控制电机 6(控制夹持器)
3. 系统架构

工作流程
客户端(Web 用户界面 - 用 JavaScript + HTML + CSS 编写)
当用户触摸或滑动手指(或单击或移动鼠标)时,我们可以得到坐标 (x, y)。工作流程如下:

在 A 区的情况下,要计算电机 2、3、4 的角度,我们需要做一些几何计算。您可以在本页末尾参考它。
服务器端(Arduino 代码):

一旦收到来自客户的一组角度,六个电机就会逐渐从当前角度移动到新的角度。六个电机应同时移动并达到新的角度。在详细介绍如何控制所有电机之前,让我们看看如何控制单个电机。假设我们想将电机从当前角度 (angle) 移动到新角度 (new_angle)。由于电机的速度很高,我们应该放慢它的速度。 为此,重复以下两个步骤,直到电机达到新角度:
• 以一小步移动电机。
• 暂停一小段时间,然后移动另一个步骤。
下图说明了新角度大于当前角度时的上述方案:

Wherestep_numis电机必须采取的步骤数。step 和 time是预定义的值。后面的两个决定速度和平滑度。 以上仅针对一个机器人。要使机器人开始移动并同时到达目的地,我们可以这样做:六个电机采用相同的step_num,但 每个电机彼此不同。所以我们必须选择这个项目中的 step_num 是最大的。

源代码
源代码包含两个文件:
RobotArmWeb.ino:Arduino 代码
Remote_arm.php:Web 应用代码,上传到 PHPoC WiFi Shield 或 PHPoC Shield。(参见 这篇文章。
您还需要将图像文件flywheel.png上传到 PHPoC Shield。

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图1

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图2

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图3

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图5

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图4

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图6

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图8

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图7

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图9

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图10

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图11

【Arduino 动手做】Arduino - 通过 Web 控制 Arm 机器人图12

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)- 没有更多了 -