# robotic_arm
**Repository Path**: mymcu/robotic_arm
## Basic Information
- **Project Name**: robotic_arm
- **Description**: use esp32 build robtic arm with 4 DOF
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2025-08-27
- **Last Updated**: 2025-08-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 四轴可控机械臂
## 项目展示
4自由度机械臂实物展示
## 项目概述
这是一个基于ESP32S3的4自由度机械臂控制系统项目。该项目包含完整的硬件设计文件和软件控制代码,可实现精确的机械臂控制和演示功能。
## 项目特点
- **4自由度控制**:包括基座、肩部、肘部、腕部和夹爪的独立控制
- **I2C通信**:使用Adafruit PWM舵机驱动板进行多舵机控制
- **平滑运动**:支持多步插值运动,确保机械臂动作平滑自然
- **多种控制模式**:包含手动控制和自动演示两种模式
- **完整设计**:提供CAD设计文件和Arduino代码
## 项目结构
```
robotic_arm/
├── CODE/ # 软件代码目录
│ ├── arm_demo/ # 自动演示代码
│ │ └── arm_demo.ino # 机械臂演示程序
│ └── arm_code/ # 主控制代码
│ └── arm_code.ino # 手动控制程序
├── CAD/ # 硬件设计目录
│ └── Compact Robot Arm FUSION v1.f3d # Fusion 360设计文件
├── PIC/ # 项目图片目录
│ └── Pic-Robot Arm.png # 机械臂实物图片
└── README.md # 项目说明文档
```
## 硬件要求
### 主要组件
- ESP32
- Adafruit PCA9685 PWM舵机驱动板
- 5个数字舵机(建议使用金属齿轮舵机)
- 电位器(用于手动控制)
- 外部电源(5V/2A以上)
### 连接说明
- I2C_SCL: 引脚12
- I2C_SDA: 引脚13
- 舵机通道分配:
- a1 (通道0): 基座旋转
- a2 (通道1): 肩部关节
- a3 (通道2): 肘部关节
- a4 (通道3): 腕部关节
- a5 (通道4): 夹爪开合
## 软件功能
### 1. 自动演示模式 (arm_demo.ino)
- 预设运动序列,机械臂在两个位置间循环运动
- 平滑插值运动,120步渐进控制
- 可调节运动速度和停留时间
- 适合展示和测试机械臂性能
### 2. 手动控制模式 (arm_code.ino)
- 通过电位器实时控制机械臂各关节
- 支持实时位置反馈
- 精确的模拟量到舵机脉冲转换
- 适合精确操作和调试
## 使用方法
### 安装依赖库
```cpp
#include
#include
```
### 上传代码
1. 安装Arduino IDE
2. 安装Adafruit PWM舵机驱动库
3. 选择对应的开发板类型
4. 上传所需的.ino文件到Arduino
### 运行程序
- **演示模式**:上传arm_demo.ino,机械臂将自动执行预设动作
- **手动模式**:上传arm_code.ino,通过电位器控制机械臂运动
## 技术参数
- **工作频率**:50Hz
- **脉冲宽度范围**:100-512
- **中位脉冲宽度**:306
- **I2C通信速率**:115200 baud
- **控制精度**:120步插值(演示模式)
## 注意事项
1. **电源要求**:确保为舵机提供足够的电源,避免Arduino供电不足
2. **安全操作**:首次运行时,确保机械臂有足够的运动空间
3. **校准调整**:根据实际舵机特性,可能需要调整SERVOMIN、SERVOMID、SERVOMAX参数
4. **接线检查**:确认I2C连接正确,避免通信错误
## 开发说明
本项目使用Fusion 360进行机械结构设计,Arduino IDE进行软件开发。设计文件和代码都经过测试验证,可直接使用或作为进一步开发的基础。
## 许可证
本项目为开源项目,欢迎学习、修改和分享。
## 联系方式
如有问题或建议,欢迎通过项目仓库提交Issue或Pull Request。