Arduino教程三—舵机

1)    说明

  • 舵机转到固定角度
  • 舵机0°到180°旋转

Servo库常用函数:

  • Attach(接口)—设定舵机接口。
  • Write(角度)—用于设定舵机旋转的角度,可设定范围0°—180°
  • Read()—用于读取舵机角度的语句,可理解为读取最后一条write()命令中的值

1、servo.attach()

说明

设置Arduino舵机的引脚连接

语法

servo.attach(pin)

参数

pin:连接舵机数据线的Arduino引脚号

2、servo.write()

说明

控制舵机旋转。

对于标准180°舵机,write()函数会将舵机轴旋转到相应的角度位置。

对于连续旋转360°类型的舵机,write()函数可以设置舵机的旋转速度

(0指示舵机向着一个方向全速旋转,180指示舵机向着另一个方向全速旋转,90指示舵机静止不动。)

语法

servo.write(angle)

参数

angle:旋转角度数值

2) 硬件

舵机SG90,Arduino uno/nano,杜邦线

3)   连线

GND(棕色)— Arduino GND
PWM(橙色)— Arduino Digital 9
VCC(红色)—Arduino 5V

Arduino教程三—舵机_第1张图片


4)   代码

舵机旋转到不同位置

#include 
 
#define PIN_SERVO 9
Servo myservo;
 
void setup()
{
  myservo.attach(9);
}
 
void loop()
{
  myservo.write(0);
  delay(1000);
  myservo.write(80);
  delay(1000);
  myservo.write(160);
  delay(1000);
  myservo.write(180);
  delay(1000);
}

 舵机从舵机0°到180°旋转,再从180°到0°

#include 

Servo myservo;  // 定义Servo对象来控制
int pos = 0;    // 角度存储变量

void setup() {
  myservo.attach(9);  // 控制线连接数字9
}

void loop() {
  for (pos = 0; pos <= 180; pos ++) { // 0°到180°
    // in steps of 1 degree
    myservo.write(pos);              // 舵机角度写入
    delay(5);                       // 等待转动到指定角度
  }

  for (pos = 180; pos >= 0; pos --) { // 从180°到0°
    myservo.write(pos);              // 舵机角度写入
    delay(5);                       // 等待转动到指定角度
  }
}




 

你可能感兴趣的:(Arduino,c语言)