在没有编码表盘的情况下,我们可以利用电位器分压作用来得到的电压数值来控制舵机的偏转角度,电路连接图如下。
在这里插入图片描述
如果用block表示出来则如下图:
在这里插入图片描述
代码如下:

#include <Servo.h>        		 	 // 声明调用Servo.h库
Servo myservo;             			 // 创建一个舵机对象
int potpin = 1;              		 // 连接到模拟口A1
int val;                    		 //变量val用来存储从模拟口0读到的值

void setup() {
myservo.attach(2,544, 2500);         // 将引脚2上的舵机与声明的舵机对象连接起来
}

void loop() {
val = analogRead(potpin);      		  //从模拟口A1读值,并通过val记录
val = map(val, 0, 1023, 0, 179); 	  //通过map函数进行数值转换
myservo.write(val);             	  // 给舵机写入角度 
delay(15);                         	  // 延时15ms让舵机转到指定位置
}


更多推荐