meArm 機械手臂(含馬達)--黑色款

CSK0043-N

MeArm 是時下最好玩的桌上型機器手臂,它不只能帶你走入 maker的世界,更能透過開源程序源碼培養程式設計能力,從學生到社會人士都適合玩。

黑色款

更多資訊

NT$ 629 含稅

更多資訊

產品簡介

MeArm 是時下最好玩的桌上型機器手臂,它不只能帶你走入 maker的世界,更能透過開源程序源碼培養程式設計能力,從學生到社會人士都適合玩。MeArm 目的是要喚醒大家潛藏已久的自造魂,希望讓時下最好玩的桌上型機器手臂來發興趣,同時開源程序源碼給大家,讓大家可以很快進入程式設計的殿堂。


套件包含

  • 馬達*4
  • 壓克力*1
  • 零配件*1

 

產品規格

【此為組裝示意圖不包含電控,需要額外購買】

O1CN01oYZlEh2EL0yT0lgxG_!!34518727.jpg

O1CN01Jr841q2EL0yQ5rarB_!!34518727.jpg


產品範例

※範例一:用Arduino控制機械臂

機械臂與Arduino的引腳接線說明:


Arduino引腳

底部馬達

右側馬達

左側馬達

鉗子馬達

GND

GND(棕色)

GND(棕色)

GND(棕色)

GND(棕色)

5V

5V(紅色)

5V(紅色)

5V(紅色)

5V(紅色)

11

信號線(黃色)

10

信號線(黃色)

9

信號線(黃色)

6

信號線(黃色)

範示程式碼:

#include "meArm.h"
#include    //引入系統馬達驅動程式 
int basePin = 11;   //底部馬達
int shoulderPin = 10;//肩部(右側)馬達
int elbowPin = 9;    //肘部(左側)馬達 
int gripperPin = 6; //鉗子馬達 
meArm arm;
void setup() {
  arm.begin(basePin, shoulderPin, elbowPin, gripperPin);
}
void loop() {
  //首先鼓鼓掌—鉗子開合 
  arm.openGripper();
  arm.closeGripper();
  arm.openGripper();
  arm.closeGripper();
  arm.openGripper();
  delay(500);
  //轉到左上方抓點東西 
  arm.gotoPoint(-80,100,140);
  arm.closeGripper();
  //再把東西放到右前方 
  arm.gotoPoint(70,200,10);
  arm.openGripper();
  //回到起始點 
  arm.gotoPoint(0,100,50);
  delay(2000);
}


※範例二:用一對搖杆控制機械臂

機械臂與Arduino的引腳連接方式如下:


Arduino

Stick1

Stick2

底部馬達

右側馬達

左側馬達

鉗子馬達

GND

GND

GND

GND(棕色)

GND(棕色)

GND(棕色)

GND(棕色)

5V

VCC

5V(紅色)

5V(紅色)

5V(紅色)

5V(紅色)

A0

HOR(X)

A1

VER(Y)

A2

HOR(X)

A3

VER(Y)

11

信號線(黃色)

10

信號線(黃色)

9

信號線(黃色)

6

信號線(黃色)


 

範例程式:

#include "meArm.h"
#include 
int basePin = 11;
int shoulderPin = 10;
int elbowPin = 9;
int gripperPin = 6;
int xdirPin = 0;
int ydirPin = 1;
int zdirPin = 3;
int gdirPin = 2;
meArm arm;
void setup() {
  arm.begin(basePin, shoulderPin, elbowPin, gripperPin);
}
void loop() {
  float dx = map(analogRead(xdirPin), 0, 1023, -5.0, 5.0);
  float dy = map(analogRead(ydirPin), 0, 1023, 5.0, -5.0);
  float dz = map(analogRead(zdirPin), 0, 1023, 5.0, -5.0);
  float dg = map(analogRead(gdirPin), 0, 1023, 5.0, -5.0);
  if (abs(dx) < 1.5) dx = 0;
  if (abs(dy) < 1.5) dy = 0;
  if (abs(dz) < 1.5) dz = 0;
  if (!(dx == 0 && dy == 0 && dz == 0))
    arm.goDirectlyTo(arm.getX() + dx, arm.getY() + dy, arm.getZ() + dz);
  if (dg < -3.0)
    arm.closeGripper();
  else if (dg > 3.0)
    arm.openGripper();
  delay(50);
}

完成範例

arm.gif


文件下載

配件