前言
本文实现使用 ndoeMcu 操作一个舵机实现转动,舵机只有一根信号线,比较简单。只是需要注意用的舵机的脉冲宽度即可。
引脚连接
| nodeMcu | TD8120MG |
|---|---|
| D5 | 黄线 |
| 3.3V | 红线 |
| GND | 橙线 |
3.3v 如果带不动舵机。可以找外部电源代替nodemcu的3.3v和gnd。
如果外接的电源导致电机抖动可以将 GND 接到外接电源的 GND 减轻抖动。或者减少一些转动角度。
案例代码
#include <Servo.h>
Servo myservo;
void setup() {
// 连接上引脚,注意这里每个舵机的后两位值是不一样的,如果发现舵机转动的角度不对时可以设置后面两位数组,默认情况下无需设置
// myservo.attach(引脚, 脉冲宽度最小值, 脉冲宽度最大值);
// D5 可以输出 PWM , D5 引脚对应 gpio14
myservo.attach(14, 500, 2500);
}
void loop() {
int pos;
// 慢慢转动到 180 度
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
delay(15);
}
// 慢慢转动到 0 度
for (pos = 180; pos >= 0; pos -= 1) {
delay(15);
}
}