一、项目说明

        这里我们可以通过外部信号来让舵机随着输入的改变来相应改变角度,方便做一些可控的转动装置。这里需要通过一个可变电阻——电位器,来控制舵机

   我们也可以通过其他的模拟量或者数字量来控制舵机。对于模拟量,我们可以改造一下感光灯,让感光灯变成一个会动的感光灯。对于数字量,我们可以通过一个按钮,倾斜开关等,一旦触发开关,就可以让舵机转动。

二、所需元件 

  • 1 × Arduino UNO R3(以及配套USB数据线)
  • 1 × 面包板
  • 6 × 彩色面包线
  • 1×  Micro Servo (舵机)
  • 1×  10K 电位器

三、硬件连接

四、软件代码

// 项目十一:控制舵机转动
#include <Servo.h>           // 声明调用Servo.h库
Servo myservo;               // 创建一个舵机对象
 
int potpin = 0;              // 连接到模拟口0               
int val;                     //变量val用来存储从模拟口0读到的值
 
void setup() { 
      myservo.attach(11);          // 将引脚11上的舵机与声明的舵机对象连接起来
} 
 
void loop() { 
       val = analogRead(potpin);         //从模拟口0读值,并通过val记录          
       val = map(val, 0, 1023, 0, 179);  //通过map函数进行数值转换    
       myservo.write(val);               // 给舵机写入角度  
       delay(20);                        // 延时20ms让舵机转到指定位置  
}

五、运行结果