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)       代码:

#include <Servo.h>

#define PIN_SERVO 10
Servo myservo;

void setup()
{
  myservo.attach(PIN_SERVO);
}

void loop()
{
  myservo.write(0);
  delay(1000);
  myservo.write(80);
  delay(1000);
  myservo.write(160);
  delay(1000);
  myservo.write(80);
  delay(1000);
  myservo.write(0);
  delay(1000);
}
代码中用到了Servo库,它是Arduino自带的库,不需要另外下载安装。

(请注意:因各厂商硬件不同,引脚位置可能有差异,具体请见硬件说明书)

 

posted on 2017-02-20 13:45  xieyan0811  阅读(97)  评论(0编辑  收藏  举报