MeArm的組裝

手工鍛練的時間(把機械手臂裝起來)

這兒我借用一下冠羽帥哥六年級時的這張照片,他自己看著組裝教學影片就把一台MeArm給組了起來,得意地比出YA的手勢…

※原則上,平時有手工經驗、會轉螺絲的小朋友,只要專心一些,自己都能把這台機手臂給組裝起來的,不過當然要有組裝說明或影片

組裝教學影片(YouTube上搜一下就有,不用自己拍)

上頭二段是我在YouTube上打關鍵字「MeArm組裝」就搜到的,也許零件會和你手邊的有一點點不同,但是大同小異,花一點時間看一下跟著組,大多能成功。

※有一件注意事項是我要提醒大家的:組裝時轉螺絲要有一點技巧,別太猛力轉太緊,會把壓克力給轉破可就殘念了喔!

※重要:舵機的校正(在組裝前,我們先了解一下舵機的轉動方向)

測試材料

Arduino UNO、MG90舵機、杜邦線

使用杜邦線延長

舵機線有三線:紅(5V)棕(接地)橘(訊號)

接上Arduino UNO

注意正負級別接錯,紅線接板子的5V,棕線接GND,橘線接到11

/* Servo轉向測試

Arduino code by Coffeeworm 2020

 這個範例主要的作用是讓舵機在0度和180度間來回轉動

*/

#include <Servo.h>

Servo myservo;  // 建servo物件

int pos = 0;    // 設定一個變數來表示舵機的角度

void setup() {

  Serial.begin(9600);  //開啟序列埠

  myservo.attach(11);  // 附加一個servo在 pin 11 上

  myservo.write(90);   //舵機轉到90度

  Serial.println(90);  //在序列視窗印出數字90

  delay(5000);  //等5秒

}

void loop() {

  for (pos = 0; pos <= 180; pos += 1) {           // 迴圈0-180,pos變數每次加1

    myservo.write(pos);                                  // 將目前'pos'所代表的數字寫入舵機

    Serial.println(pos);                               //在序列視窗印出目前的角度

    delay(15);                                              // 等 15ms(毫秒) 讓舵機緩衝

  }

  delay(2000);

  for (pos = 180; pos >= 0; pos -= 1) {            // 這個迴圈的原理與上面一樣,

    myservo.write(pos);                                          //只是每圈pos -1

    Serial.println(pos);

    delay(15);                 

  }

  delay(2000);

}

經過上頭的範例觀察,你是不是發現一件事:由上往下看舵機,當給的角度數字變大時,舵機是逆時鐘轉動;給的角度數變小時,舵機是順時鐘轉動,記住這個,接下來在撰寫操控MeArm的程式時,會比較有概念…

※舵機通常是有180度的轉動方向,而且是理論值,便宜貨有時實際上只能轉個120度…

下面這份文件可以幫助你更了解舵機:https://www.cyut.edu.tw/~ypliu/1128-ypl-motor.pdf