阅读 98

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

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

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

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

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

一、实验现象

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

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

三、实验所用函数及语句

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

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

四、实验电路

五、编写程序

#include // 声明调用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让舵机转到指定位置

}

}

文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐