[initial] Initial code.

This commit is contained in:
YinMo19 2025-06-08 19:43:30 +08:00
commit 131afda8ed

63
three_duoji.ino Normal file
View File

@ -0,0 +1,63 @@
#include <Servo.h> // 使用内置舵机库
// 定义三个舵机对象
Servo servo_arm; // 机械臂上下转动
Servo servo_rotate; // 机械爪左右转动
Servo servo_grip; // 爪子开合
// 初始角度设置(需根据实际机械结构调整)
#define ARM_INIT 0 // 机械臂初始水平位置
#define ROTATE_INIT 150 // 机械爪初始朝前位置
#define GRIP_OPEN 30 // 爪子张开角度(小角度)
#define GRIP_CLOSE 140 // 爪子闭合角度(大角度)
void setup() {
Serial.begin(9600);
// 绑定舵机到对应引脚
servo_arm.attach(8); // 机械臂舵机接Pin8
servo_rotate.attach(9); // 旋转舵机接Pin9
servo_grip.attach(10); // 爪子舵机接Pin10
// 初始化位置
servo_arm.write(60);
servo_rotate.write(ROTATE_INIT);
servo_grip.write(GRIP_OPEN);
delay(1000); // 等待舵机到位
Serial.println("机械爪初始化完成!");
}
void loop() {
// 示例动作序列:抓取物体
gripObject(); // 执行抓取
delay(1000); // 保持3秒
//releaseObject(); // 释放物体
// delay(3000); // 等待3秒后重复
}
// 抓取物体动作函数
void gripObject() {
servo_arm.write(180); // 机械臂下移(角度减小)
delay(1000);
servo_rotate.write(90);
delay(800);
servo_grip.write(GRIP_OPEN); // 张开爪子
delay(1000);
servo_grip.write(GRIP_CLOSE); // 闭合爪子
delay(1000);
servo_arm.write(ARM_INIT); // 抬升机械臂
}
// 释放物体动作函数
void releaseObject() {
servo_arm.write(180); // 机械臂下移(角度减小)
delay(1000);
servo_rotate.write(110);
delay(800);
servo_grip.write(GRIP_OPEN); // 张开爪子
delay(1000);
servo_grip.write(GRIP_CLOSE); // 闭合爪子
delay(1000);
servo_arm.write(ARM_INIT); // 抬升机械臂
}