让舵机往复转动
本课属于 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(),机械臂就会像雨刮器一样来回摆动。
挑战
简单让连接到引脚 9 的舵机来回转动,重复执行:
- 从 0 度逐度转到 180 度,每次等待 15 ms
- 然后用同样的方式转回 0 度
按“运行”,然后按“检查”。
亲手试试
#include <Servo.h>
Servo arm;
void setup() {
arm.attach(9);
}
void loop() {
// 从 0 度转到 180 度,每 15 ms 转动 1 度
// 然后再转回 0 度
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
输出中的所有课
自己练习: Arduino 在线编辑器