四自由度机械臂
四自由度机械臂代码://四自由度机械臂程序(三个9克舵机,一个步进电机.Arduino程序控制.)#include <Stepper.h>#include <Servo.h>
//抓手,主臂,次臂三舵机Servo myservo1; //抓手 Servo myservo2; //主臂Servo myservo3; //次臂int pos =0;
//底盘步进电机const int stepsPerRevolution=200; Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11); //步进电机 Pinint step=0;void setup() { //三舵机Pinmyservo1.attach(2); //Pin 2myservo2.attach(3); //Pin 3myservo3.attach(4); //Pin 4//三舵机复位myservo1.write(0);delay(150);myservo2.write(0); delay(150);myservo3.write(0); delay(150);myStepper.setSpeed(30);}
void loop() {//第一次顺环动作s1open(20); //抓手开启delay(1000); s2Forward(45); //主臂向前 45 度delay(1000);s1close(20); //抓手关闭delay(1000); s2Backward(45); //主臂向后 45 度delay(1000);s3Forward(45); //次臂抬升 45 度Stepper(200); //步进电机正转 200 步delay(500);
delay(1000);
//第二次顺环动作s2Forward(45); //主臂向前 45 度delay(1000);s3Backward(45); //次臂下降 45 度delay(1000);s1open(20); //抓手开启delay(1000); s1close(20); //抓手关闭delay(1000); s2Backward(45); //主臂向后 45 度//s3Forward(45); //次臂抬升 45 度Stepper(-200); //步进电机反转 200 步delay(500);
delay(1000);}
//抓手开启void s1open(int anlge) {for (pos = 0; pos <= anlge; pos += 1) { myservo1.write(pos); delay(30); }}
//抓手关闭void s1close(int anlge) {for (pos = anlge; pos >= 0; pos -= 1) { myservo1.write(pos); delay(30); }}
//主臂向前void s2Forward(int anlge) {for (pos = 0; pos <= anlge; pos += 1) { myservo2.write(pos); delay(30); }}
//主臂向后void s2Backward(int anlge) {for (pos = anlge; pos >= 0; pos -= 1) { myservo2.write(pos); delay(30); }}
//次臂向前void s3Forward(int anlge) {for (pos = 0; pos <= anlge; pos += 1) { myservo3.write(pos); delay(30); }}
//次臂向后void s3Backward(int anlge) {for (pos = anlge; pos >= 0; pos -= 1) {myservo3.write(pos); delay(30); }}
//步进电机void Stepper(int stepsPerRevolution) {myStepper.step(stepsPerRevolution);delay(500);}
链接:https://pan.baidu.com/s/1ZV3v6NmTecn9dMHSgNNcxg提取码:cnhh复制这段内容后打开百度网盘手机App,操作更方便哦
页:
[1]