Arduino简单实例之Servo库舵机控制



Arduino简单实例之舵机控制。

1)       说明:。

舵机的旋转不像普通电机那样只是转圈圈,它可以根据你的指令旋转到0至180度之间的任意角度然后精准的停下来,常用于控制机器人。
舵机的转动的角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的。需要使用Arduino上的PWM口控制(数字前带~的),Arduino 的驱动能力有限,所以当需要控制1 个以上的舵机时需要外接电源。一个机器人经常需要很多个舵机同时工作,此时需要加一个舵机控制板,舵机控制板本身是一个单片机,它不但能接16/24/32个舵机,同时也简化了舵机操作命令。
下例中使用的是9g的小舵机,用arduino板上的5V供电,大的舵机有的需要外部供电才能驱动,外接电源时需要将降到舵机指定的电压,否则会烧坏舵机。

2)       硬件:

舵机SG90,Arduino uno,杜邦线

3)       接线:

GND(棕色)接 Arduino GND
PWM(橙色)接 Arduino Digital 10
VCC(红色)接 Arduino 5V

4)       代码:

[cpp] view plain copy

  1. #include <Servo.h>
  2. #define PIN_SERVO 10
  3. Servo myservo;
  4. void setup()
  5. {
  6.   myservo.attach(PIN_SERVO);
  7. }
  8. void loop()
  9. {
  10.   myservo.write(0);
  11.   delay(1000);
  12.   myservo.write(80);
  13.   delay(1000);
  14.   myservo.write(160);
  15.   delay(1000);
  16.   myservo.write(80);
  17.   delay(1000);
  18.   myservo.write(0);
  19.   delay(1000);
  20. }

代码中用到了Servo库,它是Arduino自带的库,不需要另外下载安装。

http://blog.csdn.net/xieyan0811/article/details/56012044