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>之间要有空格,否则编译时会报错。
四、实验电路
五、编写程序
#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让舵机转到指定位置
}
}
原创文章,作者:admin,如若转载,请注明出处:https://www.qq65hfghe5.com/tg/91525.html