当前位置:首页 > 知识库 > 正文

arduino舵机控制(arduino舵机转动程序讲解)

arduino学习笔记13-利用串口控制舵机

舵机的旋转不像普通电机那样只是转圈圈,它可以根据你的指令旋转到0至180度之间的任意角度然后精准的停下来。舵机的转动的角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的。舵机比较多的用于对角度有要求的场合,比如机器人、摄像头、智能小车前置探测器,需要在某个范围内进行监测的移动平台。

注意:舵机线一种是:红、黑、黄(红色连接 Vcc、黑色连接 GND、黄色连接信号 S)

还有较为常见的一种是:棕、红、橙(棕色连接 GND、红色连接 Vcc、橙色连接信号 S)

一、实验现象

舵机在在0~180°之间来回转动。

二、实验器材:控制板、舵机1 个、杜邦线。

三、实验所用函数及语句

Ardruino也提供了<Servo.h>库,让我们使用舵机变得更方便了。

(1)#include<Servo.h> 载入 Servo.h 库文件。

(2)Servo myservo; 建立一个舵机对象,名称为 myservo 。

(3)myservo.attach(9); 将引脚 9 上的舵机与舵机对象连接起来。attach 函数连接一个舵机对象到指定的引脚上,attch 函数可以有 1 或 3 个参数。如果使用 3 个函数,第一个参数表示引脚,第二个参数表示最小角度(0度)的脉冲宽度,单位是微秒(默认是 544),第三个参数表示最大角度(180度)的脉冲宽度,单位是微秒(默认是2400)。通常情况下,只需要设置舵机引脚,忽略第二和第三个参数。

(4)myservo.write(pos); 写角度到舵机,让舵机转动到指定角度。

注:以上语句的书写格式均为“舵机变量名.具体语句()”例如:myservo.attach(9)。

下面就来具体分析一个小程序:

#include <Servo.h>//定义头文件,这里有一点要注意,可以直接在Arduino软件菜单栏单击Sketch>Importlibrary>Servo,调用Servo函数,也可以直接#include <Servo.h>,但是在输入时要注意在#include 与<Servo.h>之间要有空格,否则编译时会报错。

四、实验电路

arduino舵机控制(arduino舵机转动程序讲解)  第1张

五、编写程序

#include <Servo.h> // 声明调用Servo.h库

Servo myservo; // 创建一个舵机对象

int pos = 0; // 变量pos用来存储舵机位置

void setup() {

myservo.attach(9); // 将引脚9上的舵机与声明的舵机对象连接起来, 对象名.函数名();不要忘了中间的“.”

}

void loop() {

for(pos = 0; pos < 180; pos += 1){ // 舵机从0°转到180°,每次增加1°

myservo.write(pos); // 给舵机写入角度

delay(15); // 延时15ms让舵机转到指定位置

}

for(pos = 180; pos>=1; pos-=1) { // 舵机从180°转回到0°,每次减小1°

myservo.write(pos); // 写角度到舵机

delay(15); // 延时15ms让舵机转到指定位置

}

}

微信号:sansui663(长安复制)

发表评论

最新文章

推荐文章