机械臂控制程序

本课题来源于陈安老师的嵌入式的实践课程,使用现有的六轴机械手,采用蓝牙通信技术实现手机和六轴机械手的无线通信,编写相应的程序,通过树莓派烧写程序到arduino板卡中,通过手机客户端无线控制机械手运动。可以控制机械臂的运动,停止,加速,减速运动等

#include<Servo.h>

Servo myservo3;

Servo myservo5;

Servo myservo6;

Servo myservo9;

Servo myservo10;

Servo myservo11;

void serialtest(){

if (Serival.available())

{

  char a=Serial.read();

  if(a=='1')

  {

          int pos = 90;

    for(pos=10;pos<=170;pos+=1)

    {

    myservo9.write(pos);

    delay(15);

              }

    

             for(pos=170;pos>=10;pos-=1)

    {

    myservo9.write(pos);

    delay(15);

              }

       }

  

if(a=='2')

  {

          int pos = 90;

    for(pos=10;pos<=170;pos+=1)

    {

    myservo3.write(pos);

    delay(15);

              }

    

             for(pos=170;pos>=10;pos-=1)

    {

    myservo3.write(pos);

    delay(15);

              }

       }

  

if(a=='3')

  {

          int pos = 90;

    for(pos=10;pos<=170;pos+=1)

    {

    myservo10.write(pos);

    delay(15);

              }

    

             for(pos=170;pos>=10;pos-=1)

    {

    myservo10.write(pos);

    delay(15);

              }

       }

  

if(a=='4')

  {

          int pos = 90;

    for(pos=10;pos<=170;pos+=1)

    {

    myservo11.write(pos);

    delay(15);

              }

    

             for(pos=170;pos>=10;pos-=1)

    {

    myservo11.write(pos);

    delay(15);

              }

       }

  if(a=='5')

  {

  int pos =90;

  for(pos=10;pos<=170;pos+=1)

    {

      myservo3.write(pos);

      myservo9.write(pos);

      myservo10.write(pos);

      myservo11.write(pos);

      delay(20);

    }

  }

  if(a=='4')

  {

    myservo3.write(90);

    myservo5.write(90);

    myservo6.write(90);

    myservo9.write(90);

              myservo10.write(90);

    myservo11.write(90);

  }

}

}

void setup(){

  myservo3.attach(3);

  myservo3.attach(5);

  myservo3.attach(6);

  myservo3.attach(9);

  myservo3.attach(10);

  myservo3.attach(11);

  Servial.begian(9600);

  }

  void loop(){

  serialtest();

  for(pos=10;pos<=170;pos+=1)

  {

    myservo.write(pos);

    delay(15);

 

  }

  

  for(pos=180;pos>=0;pos-=1)

  {

    myservo.write(pos);

    delay(15);

  }

}

 

posted @ 2017-08-31 15:15  竹之轩  阅读(4410)  评论(0编辑  收藏  举报