#arduino下位机程序
#舵机角度,从大拇指开始 
#robotjiaodu = ["80","90","100","80","75"]


#include <Servo.h>
Servo myservoA,myservoB,myservoC,myservoD,myservoE,myservoF;
//创建ABCDE伺服对象,分别代表大拇指,食指,中指,无名指,尾指,手腕

int dataIndex = 0;

void setup() {
  // put your setup code here, to run once:
  myservoA.attach(3);//定义大拇指引脚为D3,第3脚
  myservoA.write(0);
  myservoB.attach(5);//定义食指引脚为D5
  myservoB.write(0);
  myservoC.attach(6);//定义中指引脚为D6
  myservoC.write(0);
  myservoD.attach(9);//定义无名指引脚为D9
  myservoD.write(0);
  myservoE.attach(10);//定义尾指引脚为D10
  myservoE.write(0);
  myservoF.attach(11);//定义手腕引脚为D11
  myservoF.write(90);
  Serial.begin(115200);//设置波特率
  //myservoA.write(0);
  
}

void loop() {
  // put your main code here, to run repeatedly:
  if (Serial.available()){
    char servoName = Serial.read();//获取电机指令中电机编号信息,read读取的是串口中第一个字符
    Serial.print("servoName= ");
    Serial.print(servoName);
    Serial.print(" , ");
    int data = Serial.parseInt(); //获取电机指令中的角度信息,parseInt得到的是串口中的整数
    switch (servoName){
      case 'A'://指令A,设置大拇指角度
  
        myservoA.write(data);//把得到的角度信息写入到大拇指舵机
        Serial.print("控制的是拇指:");
        Serial.println(data);
        break;
  
      case 'B'://指令B,设置食指角度
        myservoB.write(data);//把得到的角度信息写入到食指舵机
        Serial.print("控制的是食指:");
        Serial.println(data);
        break;
  
      case 'C'://指令C,设置中指角度
        myservoC.write(data);//把得到的角度信息写入到中指舵机
        Serial.print("控制的是中指:");
        Serial.println(data);
        break;
  
      case 'D'://指令D,设置无名指角度
        myservoD.write(data);//把得到的角度信息写入到无名指舵机
        Serial.print("控制的是无名指:");
        Serial.println(data);
        break;
  
      case 'E'://指令E,设置尾指角度
        myservoE.write(data);//把得到的角度信息写入到尾指舵机
        Serial.print("控制的是尾指:");
        Serial.println(data);
        break;
      case 'F'://指令F,设置手腕角度
        myservoF.write(data);//把得到的角度信息写入到手腕舵机
        Serial.print("控制的是手腕:");
        Serial.println(data);
        break;
    }
  }
}
最后修改:2022 年 02 月 16 日
如果觉得我的文章对你有用,请随意赞赏