วิธีสร้างแขนหุ่นยนต์ด้วยเงินเพียงเล็กน้อย

ภาพผลลัพธ์สุดท้ายของแขนหุ่นยนต์

หลายๆ คนคงเคยเห็นในภาพยนตร์นิยายวิทยาศาสตร์แล้วว่านักวิทยาศาสตร์หรือกี๊กมีแขนหุ่นยนต์ที่ควบคุมทุกสิ่งและหยิบจับสิ่งของหรือทำหน้าที่เสมือนมนุษย์ได้ สิ่งที่เป็นไปได้มากขึ้นต้องขอบคุณ Hardware Libre และโครงการ Arduino แต่แขนหุ่นยนต์คืออะไร? Gadget นี้มีฟังก์ชั่นอะไรบ้าง? แขนหุ่นยนต์ถูกสร้างขึ้นมาอย่างไร? ด้านล่างนี้เราจะตอบคำถามเหล่านี้ทั้งหมด

แขนหุ่นยนต์คืออะไร

แขนกลเป็นแขนกลที่มีฐานอิเล็กทรอนิกส์ซึ่งช่วยให้สามารถตั้งโปรแกรมได้อย่างสมบูรณ์. นอกจากนี้แขนประเภทนี้อาจเป็นองค์ประกอบเดียว แต่ยังสามารถเป็นส่วนหนึ่งของหุ่นยนต์หรือระบบหุ่นยนต์อื่น ๆ คุณภาพของแขนหุ่นยนต์เมื่อเทียบกับองค์ประกอบทางกลประเภทอื่น ๆ ก็คือ แขนหุ่นยนต์สามารถตั้งโปรแกรมได้อย่างสมบูรณ์ในขณะที่อุปกรณ์ที่เหลือไม่อยู่ ฟังก์ชั่นนี้ช่วยให้เรามีแขนหุ่นยนต์ตัวเดียวสำหรับการทำงานที่หลากหลายและทำกิจกรรมที่แตกต่างและหลากหลายกิจกรรมที่สามารถทำได้ด้วยบอร์ดอิเล็กทรอนิกส์เช่นบอร์ด Arduino

หน้าที่ของแขนหุ่นยนต์

อาจเป็นหน้าที่พื้นฐานที่สุดของแขนหุ่นยนต์คือฟังก์ชันแขนเสริม ในการดำเนินการบางอย่างเราจำเป็นต้องมีแขนที่สามที่รองรับองค์ประกอบบางอย่างเพื่อให้บุคคลสามารถสร้างหรือสร้างบางสิ่งได้ สำหรับฟังก์ชั่นนี้ไม่จำเป็นต้องมีการตั้งโปรแกรมพิเศษใด ๆ และเราจะต้องปิดเครื่องเท่านั้น

แขนหุ่นยนต์สามารถสร้างขึ้นด้วยวัสดุต่าง ๆ ซึ่งทำให้สามารถใช้แทนการปฏิบัติงานที่เป็นอันตรายได้ เช่นเดียวกับการจัดการองค์ประกอบทางเคมีที่ก่อให้เกิดมลพิษ แขนหุ่นยนต์ยังช่วยให้เราทำงานหนักหรืองานที่ต้องใช้แรงกดเพียงพอตราบใดที่สร้างจากวัสดุที่แข็งแรงและทนทาน

วัสดุที่จำเป็นสำหรับการก่อสร้าง

ต่อไปเราจะสอนวิธีสร้างแขนหุ่นยนต์ด้วยวิธีที่รวดเร็วง่ายและประหยัดสำหรับทุกคน อย่างไรก็ตามแขนหุ่นยนต์นี้จะไม่ทรงพลังหรือมีประโยชน์เท่ากับแขนที่เราเห็นในภาพยนตร์ แต่จะให้บริการเพื่อเรียนรู้เกี่ยวกับการทำงานและการก่อสร้างของมัน ดังนั้น, วัสดุที่เราต้องใช้ในการสร้างอุปกรณ์นี้คือ:

  1. แผ่น  Arduino UNO REV3 หรือสูงกว่า
  2. บอร์ดพัฒนาสองตัว
  3. เซอร์โวสองแกนขนานกัน
  4. ไมโครเซอร์โวสองตัว
  5. ตัวควบคุมอะนาล็อกสองตัวพร้อมกัน
  6. สายจัมเปอร์สำหรับบอร์ดพัฒนา
  7. กระดาษกาว
  8. กระดาษแข็งหรือโฟมบอร์ดสำหรับขาตั้ง
  9. มีดและกรรไกร
  10. อดทนมาก

การชุมนุม

การประกอบแขนหุ่นยนต์นี้ค่อนข้างง่าย ก่อนอื่นเราต้องตัดสี่เหลี่ยมสองอันด้วยโฟม รูปสี่เหลี่ยมแต่ละอันจะเป็นส่วนหนึ่งของแขนหุ่นยนต์ ดังที่คุณเห็นในภาพสี่เหลี่ยมเหล่านี้จะต้องมีขนาดที่เราต้องการแม้ว่าจะแนะนำอย่างนั้นก็ตาม ขนาด 16,50 x 3,80 ซม. และสี่เหลี่ยมผืนผ้าที่สองมีขนาดดังต่อไปนี้ 11,40 x 3,80 ซม.
การวางเซอร์โวมอเตอร์บนแขนหุ่นยนต์

เมื่อเรามีรูปสี่เหลี่ยมผืนผ้าแล้วที่ปลายด้านหนึ่งของแต่ละสี่เหลี่ยมผืนผ้าหรือแถบเราจะติดเทปเซอร์โวมอเตอร์แต่ละตัว หลังจากทำสิ่งนี้แล้ว เราจะตัดโฟมตัว "U". สิ่งนี้จะทำหน้าที่เป็นส่วนยึดหรือส่วนปลายของแขนซึ่งสำหรับมนุษย์จะเป็นมือ เราจะเข้าร่วมชิ้นส่วนนี้กับเซอร์โวมอเตอร์ที่อยู่ในสี่เหลี่ยมผืนผ้าที่เล็กที่สุด

การเข้าร่วมชิ้นส่วนของแขนหุ่นยนต์

ตอนนี้เราต้องทำส่วนล่างหรือฐาน สำหรับสิ่งนี้เราจะดำเนินการตามขั้นตอนเดียวกัน: เราจะตัดโฟมสี่เหลี่ยมออกแล้ววางเซอร์โวมอเตอร์สองแกนขนานกันดังภาพต่อไปนี้:

ฐานแขนหุ่นยนต์

ตอนนี้เราต้องเชื่อมต่อมอเตอร์ทั้งหมดเข้ากับบอร์ด Arduino แต่ก่อนอื่นเราต้องเชื่อมต่อการเชื่อมต่อกับบอร์ดพัฒนาและสิ่งนี้กับบอร์ด Arduino เราจะเชื่อมต่อสายสีดำกับพิน GND สายสีแดงที่เราจะเชื่อมต่อกับขา 5V และสายสีเหลืองถึง -11, -10, 4 และ -3. นอกจากนี้เรายังจะเชื่อมต่อจอยสติ๊กหรือส่วนควบคุมของแขนหุ่นยนต์เข้ากับบอร์ด Arduino ในกรณีนี้ตามภาพระบุ:

แผนภาพการเชื่อมต่อแขนหุ่นยนต์

เมื่อเราเชื่อมต่อและประกอบทุกอย่างแล้วเราจะต้องส่งโปรแกรมไปยังบอร์ด Arduino ซึ่งเราจะต้องเชื่อมต่อบอร์ด Arduino กับคอมพิวเตอร์หรือแล็ปท็อป เมื่อเราส่งโปรแกรมไปยังบอร์ด Arduino แล้วเราต้องตรวจสอบให้แน่ใจ เชื่อมต่อสายเคเบิลเข้ากับบอร์ด Arduino แม้ว่าเราจะสามารถดำเนินการต่อกับบอร์ดพัฒนาและถอดแยกชิ้นส่วนทุกอย่างได้ตลอดเวลาอย่างหลังถ้าเราเพียงต้องการเรียนรู้

ซอฟต์แวร์ที่จำเป็นสำหรับการใช้งาน

แม้ว่าดูเหมือนว่าเราจะสร้างแขนหุ่นยนต์เสร็จแล้ว แต่ความจริงก็คือยังมีอีกมากรออยู่ข้างหน้าและสิ่งที่สำคัญที่สุด การสร้างหรือพัฒนาโปรแกรมที่ทำให้แขนหุ่นยนต์ของเรามีชีวิตตั้งแต่ไม่มีมันเซอร์โวมอเตอร์จะไม่หยุดเป็นกลไกนาฬิกาธรรมดา ๆ ที่หมุนไปโดยไม่มีความหมาย

แก้ไขได้โดยการเชื่อมต่อบอร์ด Arduino เข้ากับคอมพิวเตอร์ของเราและเราเปิดโปรแกรม Arduino IDEเราเชื่อมต่อคอมพิวเตอร์เข้ากับบอร์ดและเขียนรหัสต่อไปนี้ในไฟล์เปล่า:

#include <Servo.h>

const int servo1 = 3;       // first servo

const int servo2 = 10;      // second servo

const int servo3 = 5;       // third servo

const int servo4 = 11;      // fourth servo

const int servo5 = 9;       // fifth servo

const int joyH = 2;        // L/R Parallax Thumbstick

const int joyV = 3;        // U/D Parallax Thumbstick

const int joyX = 4;        // L/R Parallax Thumbstick

const int joyP = 5;        // U/D Parallax Thumbstick

const int potpin = 0;      // O/C potentiometer

int servoVal;           // variable to read the value from the analog pin

Servo myservo1;  // create servo object to control a servo

Servo myservo2;  // create servo object to control a servo

Servo myservo3;  // create servo object to control a servo

Servo myservo4;  // create servo object to control a servo

Servo myservo5;  // create servo object to control a servo

void setup() {

// Servo

myservo1.attach(servo1);  // attaches the servo

myservo2.attach(servo2);  // attaches the servo

myservo3.attach(servo3);  // attaches the servo

myservo4.attach(servo4);  // attaches the servo

myservo5.attach(servo5);  // attaches the servo

// Inizialize Serial

Serial.begin(9600);

}

void loop(){

servoVal = analogRead(potpin);

servoVal = map(servoVal, 0, 1023, 0, 179);

myservo5.write(servoVal);

delay(15);

// Display Joystick values using the serial monitor

outputJoystick();

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyH);

servoVal = map(servoVal, 0, 1023, 0, 180);     // scale it to use it with the servo (result  between 0 and 180)

myservo2.write(servoVal);                         // sets the servo position according to the scaled value

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyV);

servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)

myservo1.write(servoVal);                           // sets the servo position according to the scaled value

delay(15);                                       // waits for the servo to get there

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyP);

servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)

myservo4.write(servoVal);                           // sets the servo position according to the scaled value

delay(15);                                       // waits for the servo to get there

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyX);

servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)

myservo3.write(servoVal);                           // sets the servo position according to the scaled value

delay(15);                                       // waits for the servo to get there

/**

* Display joystick values

*/

void outputJoystick(){

Serial.print(analogRead(joyH));

Serial.print ("---");

Serial.print(analogRead(joyV));

Serial.println ("----------------");

Serial.print(analogRead(joyP));

Serial.println ("----------------");

Serial.print(analogRead(joyX));

Serial.println ("----------------");

}

เราบันทึกไว้และหลังจากนั้นเราก็ส่งไปที่จาน Arduino UNO. ก่อนจบด้วยรหัสเราจะทำการทดสอบที่เกี่ยวข้องเพื่อตรวจสอบว่าจอยสติ๊กทำงานได้หรือไม่ และรหัสไม่แสดงข้อผิดพลาดใด ๆ

ฉันติดตั้งแล้วตอนนี้คืออะไร?

แน่นอนว่าพวกคุณหลายคนไม่ได้คาดหวังว่าแขนหุ่นยนต์ประเภทนี้จะเหมาะอย่างยิ่งเนื่องจากพื้นฐานของสิ่งที่เป็นอยู่ต้นทุนที่มีและวิธีการสอนวิธีสร้างหุ่นยนต์ จากที่นี่ทุกอย่างเป็นของจินตนาการของเรา นั่นคือเราสามารถเปลี่ยนวัสดุเซอร์โวมอเตอร์และแม้แต่กรอกรหัสโปรแกรมได้ มันไปโดยไม่บอกด้วย เราสามารถเปลี่ยนรุ่นบอร์ด Arduino เพื่อให้มีประสิทธิภาพและสมบูรณ์มากขึ้นซึ่งช่วยให้เราสามารถเชื่อมต่อรีโมทคอนโทรลได้ หรือทำงานร่วมกับสมาร์ทโฟน กล่าวโดยสรุป ความเป็นไปได้ที่หลากหลายนั้น Hardware Libre และแขนหุ่นยนต์

ข้อมูลมากกว่านี้ - Instructables


ความคิดเห็นฝากของคุณ

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

      การ์เซียอร์เฆ dijo

    การพิมพ์ 3 มิติเป็นประตูสู่สิ่งที่ยอดเยี่ยม ฉันได้ทำงานกับ Lion 2 ในการออกแบบของฉันเองและผลลัพธ์ที่ได้ก็ทำให้ฉันประทับใจ เนื่องจากฉันได้รับการแนะนำให้อ่านเกี่ยวกับเรื่องนี้ใน http://www.leon-3d.es มันดึงดูดความสนใจของฉันไปแล้วและเมื่อฉันได้ลองใช้และได้เห็นการปรับระดับตัวเองและรายละเอียดในผลลัพธ์สุดท้ายฉันก็รู้ว่าฉันลงทุนอะไรได้ดี