หลายๆ คนคงเคยเห็นในภาพยนตร์นิยายวิทยาศาสตร์แล้วว่านักวิทยาศาสตร์หรือกี๊กมีแขนหุ่นยนต์ที่ควบคุมทุกสิ่งและหยิบจับสิ่งของหรือทำหน้าที่เสมือนมนุษย์ได้ สิ่งที่เป็นไปได้มากขึ้นต้องขอบคุณ Hardware Libre และโครงการ Arduino แต่แขนหุ่นยนต์คืออะไร? Gadget นี้มีฟังก์ชั่นอะไรบ้าง? แขนหุ่นยนต์ถูกสร้างขึ้นมาอย่างไร? ด้านล่างนี้เราจะตอบคำถามเหล่านี้ทั้งหมด
แขนหุ่นยนต์คืออะไร
แขนกลเป็นแขนกลที่มีฐานอิเล็กทรอนิกส์ซึ่งช่วยให้สามารถตั้งโปรแกรมได้อย่างสมบูรณ์. นอกจากนี้แขนประเภทนี้อาจเป็นองค์ประกอบเดียว แต่ยังสามารถเป็นส่วนหนึ่งของหุ่นยนต์หรือระบบหุ่นยนต์อื่น ๆ คุณภาพของแขนหุ่นยนต์เมื่อเทียบกับองค์ประกอบทางกลประเภทอื่น ๆ ก็คือ แขนหุ่นยนต์สามารถตั้งโปรแกรมได้อย่างสมบูรณ์ในขณะที่อุปกรณ์ที่เหลือไม่อยู่ ฟังก์ชั่นนี้ช่วยให้เรามีแขนหุ่นยนต์ตัวเดียวสำหรับการทำงานที่หลากหลายและทำกิจกรรมที่แตกต่างและหลากหลายกิจกรรมที่สามารถทำได้ด้วยบอร์ดอิเล็กทรอนิกส์เช่นบอร์ด Arduino
หน้าที่ของแขนหุ่นยนต์
อาจเป็นหน้าที่พื้นฐานที่สุดของแขนหุ่นยนต์คือฟังก์ชันแขนเสริม ในการดำเนินการบางอย่างเราจำเป็นต้องมีแขนที่สามที่รองรับองค์ประกอบบางอย่างเพื่อให้บุคคลสามารถสร้างหรือสร้างบางสิ่งได้ สำหรับฟังก์ชั่นนี้ไม่จำเป็นต้องมีการตั้งโปรแกรมพิเศษใด ๆ และเราจะต้องปิดเครื่องเท่านั้น
แขนหุ่นยนต์สามารถสร้างขึ้นด้วยวัสดุต่าง ๆ ซึ่งทำให้สามารถใช้แทนการปฏิบัติงานที่เป็นอันตรายได้ เช่นเดียวกับการจัดการองค์ประกอบทางเคมีที่ก่อให้เกิดมลพิษ แขนหุ่นยนต์ยังช่วยให้เราทำงานหนักหรืองานที่ต้องใช้แรงกดเพียงพอตราบใดที่สร้างจากวัสดุที่แข็งแรงและทนทาน
วัสดุที่จำเป็นสำหรับการก่อสร้าง
ต่อไปเราจะสอนวิธีสร้างแขนหุ่นยนต์ด้วยวิธีที่รวดเร็วง่ายและประหยัดสำหรับทุกคน อย่างไรก็ตามแขนหุ่นยนต์นี้จะไม่ทรงพลังหรือมีประโยชน์เท่ากับแขนที่เราเห็นในภาพยนตร์ แต่จะให้บริการเพื่อเรียนรู้เกี่ยวกับการทำงานและการก่อสร้างของมัน ดังนั้น, วัสดุที่เราต้องใช้ในการสร้างอุปกรณ์นี้คือ:
- แผ่น Arduino UNO REV3 หรือสูงกว่า
- บอร์ดพัฒนาสองตัว
- เซอร์โวสองแกนขนานกัน
- ไมโครเซอร์โวสองตัว
- ตัวควบคุมอะนาล็อกสองตัวพร้อมกัน
- สายจัมเปอร์สำหรับบอร์ดพัฒนา
- กระดาษกาว
- กระดาษแข็งหรือโฟมบอร์ดสำหรับขาตั้ง
- มีดและกรรไกร
- อดทนมาก
การชุมนุม
การประกอบแขนหุ่นยนต์นี้ค่อนข้างง่าย ก่อนอื่นเราต้องตัดสี่เหลี่ยมสองอันด้วยโฟม รูปสี่เหลี่ยมแต่ละอันจะเป็นส่วนหนึ่งของแขนหุ่นยนต์ ดังที่คุณเห็นในภาพสี่เหลี่ยมเหล่านี้จะต้องมีขนาดที่เราต้องการแม้ว่าจะแนะนำอย่างนั้นก็ตาม ขนาด 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
การพิมพ์ 3 มิติเป็นประตูสู่สิ่งที่ยอดเยี่ยม ฉันได้ทำงานกับ Lion 2 ในการออกแบบของฉันเองและผลลัพธ์ที่ได้ก็ทำให้ฉันประทับใจ เนื่องจากฉันได้รับการแนะนำให้อ่านเกี่ยวกับเรื่องนี้ใน http://www.leon-3d.es มันดึงดูดความสนใจของฉันไปแล้วและเมื่อฉันได้ลองใช้และได้เห็นการปรับระดับตัวเองและรายละเอียดในผลลัพธ์สุดท้ายฉันก็รู้ว่าฉันลงทุนอะไรได้ดี