Menu
CoddyTech

让舵机往复转动

本课属于 Coddy Arduino 学习旅程的“输出”单元。第 21 课,共 24 课。

arm.write() 会直接跳到某个角度。要让机械臂慢慢移动,可以用 for 循环逐步经过中间的每个角度,并在每个角度停留片刻:

for (int angle = 0; angle <= 180; angle++) {
  arm.write(angle);
  delay(15);
}

这里的计数器名为 angle,<= 180 表示也包括 180。每步延迟 15 ms,共 181 步,大约需要 2.7 秒。

要让机械臂返回,就倒数。angle-- 每轮减去 1,只要角度仍大于或等于 0,循环就会继续运行:

for (int angle = 180; angle >= 0; angle--) {
  arm.write(angle);
  delay(15);
}

把两个循环都放进 loop(),机械臂就会像雨刮器一样来回摆动。

challenge icon

挑战

简单

让连接到引脚 9 的舵机来回转动,重复执行:

  • 从 0 度逐度转到 180 度,每次等待 15 ms
  • 然后用同样的方式转回 0 度

按“运行”,然后按“检查”。

亲手试试

#include <Servo.h>

Servo arm;

void setup() {
  arm.attach(9);
}

void loop() {
  // 从 0 度转到 180 度,每 15 ms 转动 1 度
  // 然后再转回 0 度
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

输出中的所有课

自己练习: Arduino 在线编辑器