标题: arduino舵机控制实验 [打印本页]

作者: 314474991    时间: 2017-2-14 21:32
标题: 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);
  }
}





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1