目录

3.18 9克舵机

实验现象:

通过调整电位器来改变舵机旋转的角度。

(因为电脑 USB 供电电流不充足,建议下载完程序拔下 USB 线,使用电源适配器供电来测试该程序。)

理论学习:

根据这个公式可以写出来设置转动角的函数,然后写出第一个例程。

void pulse(int angle)
{ 
pulsewidth=int ((angle*11)+500); 
digitalWrite(PWM_pin,HIGH); 
delayMicroseconds(pulsewidth); 
digitalWrite(PWM_pin,LOW); 
delay(20-pulsewidth/1000); 
} 
#include <Servo.h> //引入 lib
Servo myservo;	//  创建一个伺服电机对象
#define potpin    A5	//  设定连接可变电阻的模拟引脚
int val;	//  创建变量,储存从模拟端口读取的值(0 到 1023)
void setup()
{
myservo.attach(9);	// 9 号引脚输出电机控制信号//仅能使用 9、10 号引脚
}
void loop() 
{ 
 = analogRead(potpin); 
//  读取来自可变电阻的模拟值(0 到 1023 之间) 
val = map(val, 0, 1023, 0, 179);	//  利用“map”函数缩放该值,得到伺服电机需要的角度(0到 180 之间)
myservo.write(val);	//  设定伺服电机的位置
delay(15);	//  等待电机旋转到目标角度
}