Toggle navigation
科创
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
登录
 
注册
电波
论坛
专栏
应用
登录
注册
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
论坛
>
电子信息
>
电子技术
>
嵌入式
文号
t60372
阅读
3797
回复
0
收藏
2
所有教程由网友发布,仅供参考,请谨慎采纳。科创不对教程的科学性、准确性、可靠性负责。
转帖:Arduino教程(提高篇)——舵机的驱动
kc2038
2013/09/06
电子技术
IP:广西
Arduino教程(提高篇)——舵机的驱动
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。
舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。
舵机与控制原理
普通舵机有
3
根线:
GND
(黑)、
VCC
(红)、
S
ignal
(黄),一般情况下,我们建议为舵机单独供电,此处实验为了图方便,用
arduino
为舵机供电。
2.servo
类介绍
servo
类下有以下成员函数
attach()//
连接舵机
write()//
角度控制
writeMicroseconds()//
read()//
读上一次舵机转动角度
attached()//
detach()//
断开舵机连接
3.
实例
1
需要的器材:
arduino
控制器、舵机、杜邦线若干
首先将舵机如下图连接:
下载以下例程(程序可以在
IDE>File>Examples>Servo>Sweep
中找到,我只是做个中文介绍)
#include <Servo.h>
Servo myservo; //
创建一个舵机控制对象
//
使用
Servo
类最多可以控制
8
个舵机
int pos = 0; //
该变量用与存储舵机角度位置
/*~~~~~~~~~~~~~~~~~~~~~~~~~~
华丽的分割线
~~~~~~~~~~~~~~~~~~~~~~~~~~ */
void setup()
{
myservo.attach(9); //
该舵机由
arduino
第九脚控制
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~
华丽的分割线
~~~~~~~~~~~~~~~~~~~~~~~~~~ */
void loop()
{
for(pos = 0; pos < 180; pos += 1) //
从
0
度到
180
度运动
{ //
每次步进一度
myservo.write(pos); //
指定舵机转向的角度
delay(15); //
等待
15ms
让舵机到达指定位置
}
for(pos = 180; pos>=1; pos-=1) //
从
180
度到
0
度运动
{
myservo.write(pos); //
指定舵机转向的角度
delay(15); //
等待
15ms
让舵机到达指定位置
}
}
4.
实例
2
需要的器材:
arduino
控制器、舵机、电位器、杜邦线若干
首先将舵机如下图连接:
下载以下例程(程序可以在
IDE>File>Examples>Servo>Knob
中找到)
#include <Servo.h>
Servo myservo;
//
创建一个舵机控制对象
int potpin = 0; //
该变量用于存储用电位器读出的模拟值
int val;
//
该变量用与存储舵机角度位置
void setup()
{
myservo.attach(9);
//
该舵机由
arduino
第九脚控制
}
void loop()
{
val = analogRead(potpin); //
读取电位器控制的模拟值
(
范围在
0-1023)
val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val);
//
指定舵机转向的角度
delay(15);
//
等待
15ms
让舵机到达指定位置
}
5.
其他驱动方法:
传送门:
arduino
驱动舵机,不调用库函数:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
来自:
电子信息
/
电子技术
/
嵌入式
0
0
全部
只看作者
全部
只看作者
在列表中查看
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
编辑
删除
{{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
保存
取消
我也是有底线的
保存中...
保存