所有教程由网友发布,仅供参考,请谨慎采纳。科创不对教程的科学性、准确性、可靠性负责。
转帖:Arduino教程(提高篇)——舵机的驱动
kc20382013/09/06电子技术 IP:广西
Arduino教程(提高篇)——舵机的驱动

XXXXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXml
在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。

       舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。


舵机与控制原理

普通舵机有3根线:GND(黑)、VCC(红)、S
ignal(黄),一般情况下,我们建议为舵机单独供电,此处实验为了图方便,用arduino为舵机供电。


XXXXrvo类介绍

servo类下有以下成员函数

attach()//连接舵机

write()//角度控制

writeMicroseconds()//

read()//读上一次舵机转动角度

attached()//

detach()//断开舵机连接


3.
实例1

需要的器材:

arduino控制器、舵机、杜邦线若干

首先将舵机如下图连接:

001.png

下载以下例程(程序可以在IDE>File>Examples>Servo>Sweep中找到,我只是做个中文介绍)

#include <Servo.h>
Servo myservo;  //创建一个舵机控制对象
                          // 使用Servo类最多可以控制8个舵机
int pos = 0;    // 该变量用与存储舵机角度位置
/*~~~~~~~~~~~~~~~~~~~~~~~~~~华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~ */
void setup()
{
  XXXXXXXXXXtach(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控制器、舵机、电位器、杜邦线若干

首先将舵机如下图连接:

002.png

下载以下例程(程序可以在IDE>File>Examples>Servo>Knob中找到)

#include <Servo.h>

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

int potpin = 0;  //该变量用于存储用电位器读出的模拟值
int val;    
// 该变量用与存储舵机角度位置  

void setup()
{
  XXXXXXXXXXtach(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驱动舵机,不调用库函数:
XXXXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXml

来自:电子信息 / 电子技术严肃内容:教程/课程
0
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
kc2038
学者 机友 笔友
文章
37
回复
268
学术分
1
2009/01/06注册,6年3个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}