標(biāo)題: Arduino機(jī)械臂設(shè)計 [打印本頁]

作者: 探索軟件    時間: 2018-12-5 18:24
標(biāo)題: Arduino機(jī)械臂設(shè)計
制作出來的實物圖如下:


硬件:Arduino UNO  三個舵機(jī)  一個步進(jìn)電機(jī)  閃色LED
代碼:
//3自由度機(jī)械臂
#include <Stepper.h>
#include <Servo.h>
#define LED 5
Servo myservo1;   //第一個舵機(jī)
Servo myservo2;   //第二個舵機(jī)
Servo myservo3;   //第二個舵機(jī)
int pos1 = 0; // 該變量用與存儲舵機(jī)1角度位置
int pos2 = 0; // 該變量用與存儲舵機(jī)2角度位置
const int stepsPerRevolution = 500;  //步進(jìn)電機(jī)旋轉(zhuǎn)范圍
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);// 步進(jìn)電機(jī)pin腳:

void setup() {
myservo1.attach(2);   // 該舵機(jī)由arduino第2腳控制
myservo2.attach(3);   // 該舵機(jī)由arduino第3腳控制
myservo3.attach(4);   // 該舵機(jī)由arduino第4腳控制
myservo1.write(0); // 指定舵機(jī)1轉(zhuǎn)向的角度0
delay(50);
myservo2.write(0); // 指定舵機(jī)2轉(zhuǎn)向的角度0
delay(50);
myservo3.write(0); // 指定舵機(jī)2轉(zhuǎn)向的角度0
delay(50);
// set the speed at 60 rpm:
myStepper.setSpeed(60); //步進(jìn)電機(jī)轉(zhuǎn)速
Serial.begin(9600);
}
void loop() {
//Serial.println("clockwise");
myStepper.step(stepsPerRevolution);     //步進(jìn)電機(jī)順時鐘轉(zhuǎn)
delay(1000);

//舵機(jī)12
for(pos1 = 0; pos1 <40; pos1 += 2) {
myservo1.write(pos1); // 指定舵機(jī)1轉(zhuǎn)向的角度
myservo2.write(40-pos1); // 指定舵機(jī)2轉(zhuǎn)向的角度
delay(60); // 等待0.8ms讓舵機(jī)到達(dá)指定位置
}
bright();
delay(1000);

//舵機(jī)3
for(pos2 = 0; pos2 < 80; pos2 += 2) {
myservo3.write(pos2); // 指定舵機(jī)1轉(zhuǎn)向的角度
delay(60); // 等待0.8ms讓舵機(jī)到達(dá)指定位置
}
bright();
delay(1000);

//Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);//步進(jìn)電機(jī)順時鐘轉(zhuǎn)
delay(1000);

//舵機(jī)12
for(pos1 = 40; pos1 >0; pos1 -= 2){
myservo1.write(pos1); // 指定舵機(jī)1轉(zhuǎn)向的角度
myservo2.write(40-pos1); // 指定舵機(jī)1轉(zhuǎn)向的角度
delay(60); // 等待0.8ms讓舵機(jī)到達(dá)指定位置
}
bright();
delay(1000);

//舵機(jī)3
for(pos2 = 80; pos2 >0; pos2 -= 2) {
myservo3.write(pos2); // 指定舵機(jī)1轉(zhuǎn)向的角度
delay(60); // 等待0.8ms讓舵機(jī)到達(dá)指定位置
}
bright();
delay(1000);
}

void bright()      //設(shè)置舵機(jī)角度為angle
{
digitalWrite(LED,HIGH);    //點亮LED
delay(800);          //延時200ms
digitalWrite(LED,LOW);    //關(guān)閉LED                                                                                                                                                                                 delay(200);          //延時200ms
}

視頻:
https://pan.baidu.com/s/1BLlM21NCnPNQMG9yK2mVAQ

作者: 都市郎    時間: 2019-8-8 15:43
好資料,51黑有你更精彩!
作者: r55ye    時間: 2019-8-15 13:55
這算是3軸的機(jī)械手嗎?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1