Submit

20 / 20

抓取与放置

按步骤协调步进底座、舵机臂与夹爪。

运行此实验 →
ESP32 教学电路插图,显示模组、引脚和本课实验元件

实验目标

设置目标步数,运行抓取、旋转、放下的循环。

工作原理

按步骤协调步进底座、舵机臂与夹爪。 90 度。真实硬件的细分与齿轮比会改变一圈所需的有效步数。 此处为配套教学模型,硬件示例基于经典 ESP32 与 Arduino-ESP32 3.x;网络、声波、负载和机械运动均为简化演示。

动手试一试

  1. 打开此实验
  2. 设置目标步数,运行抓取、旋转、放下的循环。

接线

  • GPIO 25 / 26 — 步进驱动 STEP/DIR
  • GPIO 18 / 19 — 升降/夹爪舵机
  • External supply — 驱动与舵机供电,共地

示例代码

#include <ESP32Servo.h>
Servo lift, grip;
// STEP/DIR driver: GPIO25/26. Full-step 200 steps/rev. Set current limit first.

void setup() {
  pinMode(25, OUTPUT); pinMode(26, OUTPUT);
  lift.setPeriodHertz(50); lift.attach(18, 500, 2400);
  grip.setPeriodHertz(50); grip.attach(19, 500, 2400);
}

void loop() {
  grip.write(20); lift.write(30); delay(600);
  grip.write(80); delay(600); lift.write(90); delay(600);
  digitalWrite(26, HIGH);
  for (int i=0; i<50; i++) {
    digitalWrite(25, HIGH); delayMicroseconds(1000);
    digitalWrite(25, LOW); delayMicroseconds(1000);
  }
  lift.write(30); delay(600); grip.write(20); delay(600);
  lift.write(90); delay(600);
  digitalWrite(26, LOW);
  for (int i=0; i<50; i++) {
    digitalWrite(25, HIGH); delayMicroseconds(1000);
    digitalWrite(25, LOW); delayMicroseconds(1000);
  }
}

检查理解

每圈 200 步时,50 步转过多少度?

查看答案

90 度。真实硬件的细分与齿轮比会改变一圈所需的有效步数。

参考资料

Arduino-ESP32 ↗ · GPIO 参考 ↗

MAKE A THOUGHTFUL CHOICE

Your shortlist, side by side.

Pricing models are indicative. Check each official website for current plans and limits.