开始arduino之旅——随动机械臂

这次的项目是利用arduino和labview做一个随动机械臂,但是没什么经验,一切从零开始,参考了大量的网络上的分享帖。

一 舵机的控制

这次采用9g舵机作为实验对象。

基本知识:脉宽可由0.5ms到2.5ms之间,脉宽和舵机的转角0°~180°相对应。

全代码如下:

int servopin=7;//定义舵机接口数字接口7
int myangle;//定义角度变量
int pulsewidth;//定义脉宽变量
int val;
void servopulse(int servopin,int myangle)//定义一个脉冲函数
{
  pulsewidth=(myangle*11)+500;//将角度转化为500-2480的脉宽值
  digitalWrite(servopin,HIGH);//将舵机接口电平至高
  delayMicroseconds(pulsewidth);//延时脉宽值的微秒数
  digitalWrite(servopin,LOW);//将舵机接口电平至低
  delay(20-pulsewidth/1000);
}
void setup()
{
  pinMode(servopin,OUTPUT);//设定舵机接口为输出接口
  Serial.begin(9600);//连接到串行端口,波特率为9600
  Serial.println("servu=o_seral_simple ready" ) ;
}
 void loop()//将0到9的数转化为0到180角度,并让LED闪烁相应数的次数
 {
   val=Serial.read();//读取串行端口的值
  if(val>'0'&&val<='9')
  {
    val=val-'0';//将特征量转化为数值变量
    val=val*(180/9);//将数字转化为角度
    Serial.print("moving servo to ");
    Serial.print(val,DEC);
    Serial.println();
    for(int i=0;i<=50;i++)//给予舵机足够的时间让它转到指定角度
     {
        servopulse(servopin,val);//引用脉冲函数
      }
   }
}

代码很好理解,但是最终需要的是“随动的机械臂”因此目标还很远。

你可能感兴趣的:(开始arduino之旅——随动机械臂)