找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4211|回复: 0
打印 上一主题 下一主题
收起左侧

arduino舵机控制实验

[复制链接]
跳转到指定楼层
楼主

这里使用arduino duemilanove通过电位器控制一个舵机转动


使用原件:
arduino duemilanove一块
10K电位器一个
舵机一个
面包板一个
面包板连接线若干

这里要注意,不要使用电脑usb供电,因为如果电流需求大于500ma,会有烧毁usb的可能,推荐使用电池外置供电。

电位器左右两脚分别接3.3V和GND,中间接模拟口0。
舵机接5V和GND,信号口接数字7号口。

把下面代码下载进入arduino,然后再进行线路连接,运行时一定要使用电池供电。[pre lang="arduino" line="1"]int readPin = 0;   //用来连接电位器
int servopin = 7;    //定义舵机接口数字接口7

void servopulse(int angle)//定义一个脉冲函数
{
  int pulsewidth=(angle*11)+500;  //将角度转化为500-2480的脉宽值
  digitalWrite(servopin,HIGH);    //将舵机接口电平至高
  delayMicroseconds(pulsewidth);  //延时脉宽值的微秒数
  digitalWrite(servopin,LOW);     //将舵机接口电平至低
  delayMicroseconds(20000-pulsewidth);
}

void setup()
{
  pinMode(servopin,OUTPUT);//设定舵机接口为输出接口
}

void loop()
{
  //读取电位器(传感器)的读数,接到3.3V,值范围从0到660左右
  int readValue = analogRead(readPin);
  //把值的范围映射到0到165左右
  int angle = readValue / 4;
  //发送50个脉冲
  for(int i=0;i<50;i++)
  {
    //引用脉冲函数
    servopulse(angle);
  }
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶1 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表