- วัสดุที่ต้องการ:
- การพิมพ์ 3D ชิ้นส่วนที่ต้องการ:
- ฮาร์ดแวร์และแผนงาน:
- การประกอบหุ่นยนต์:
- การเขียนโปรแกรม Arduino สำหรับ Biped Robot:
- การประมวลผลแอปพลิเคชัน Android ที่ใช้:
- การทำงานของหุ่นยนต์สองขาที่ควบคุมด้วยบลูทู ธ :
ยินดีต้อนรับสู่อีกโครงการที่เราจะสร้างหุ่นยนต์ขนาดเล็กที่สามารถเดินและเต้นได้ โครงการนี้มีจุดมุ่งหมายเพื่อสอนวิธีสร้างหุ่นยนต์งานอดิเรกขนาดเล็กโดยใช้ Arduino และวิธีการตั้งโปรแกรมเซอร์โวมอเตอร์สำหรับแอปพลิเคชันดังกล่าว ในตอนท้ายของโปรเจ็กต์คุณจะสามารถสร้างหุ่นยนต์เดินและเต้นที่รับคำสั่งจากโทรศัพท์มือถือ Android เพื่อดำเนินการบางอย่างที่กำหนดไว้ล่วงหน้า คุณยังสามารถใช้โปรแกรม (ให้ไว้ในตอนท้ายของบทช่วยสอน) เพื่อปรับแต่งการทำงานของหุ่นยนต์ของคุณเองได้อย่างง่ายดายโดยการควบคุมตำแหน่งของเซอร์โวมอเตอร์โดยใช้จอภาพอนุกรม การมีเครื่องพิมพ์ 3 มิติจะทำให้โครงการนี้น่าสนใจและดูดีมากขึ้น แต่หากคุณไม่มีคุณสามารถใช้บริการออนไลน์ใด ๆ หรือใช้กระดาษแข็งเพื่อสร้างแบบเดียวกัน
วัสดุที่ต้องการ:
ต่อไปนี้เป็นวัสดุที่จำเป็นสำหรับการสร้างหุ่นยนต์นี้:
- Arduino นาโน
- เซอร์โว SG90 - 4Nos
- แท่งตัวผู้
- โมดูลบลูทู ธ HC-05 / HC-06
- เครื่องพิมพ์ 3 มิติ
ดังที่คุณเห็นหุ่นยนต์พิมพ์ 3 มิตินี้ต้องการชิ้นส่วนอิเล็กทรอนิกส์ที่น้อยที่สุดในการสร้างเพื่อให้ต้นทุนของโครงการต่ำที่สุด โครงการนี้มีวัตถุประสงค์เพื่อความคิดและความสนุกสนานเท่านั้นและยังไม่มีแอปพลิเคชันแบบเรียลไทม์ใด ๆ
การพิมพ์ 3D ชิ้นส่วนที่ต้องการ:
การพิมพ์ 3 มิติเป็นเครื่องมือที่น่าทึ่งที่สามารถมีส่วนร่วมได้มากเมื่อสร้างโครงการต้นแบบหรือทดลองออกแบบเครื่องจักรกลใหม่ ๆ หากคุณยังไม่ได้ค้นพบประโยชน์ของเครื่องพิมพ์ 3 มิติหรือวิธีการทำงานคุณสามารถอ่านคู่มือเริ่มต้นสำหรับการพิมพ์ 3 มิติ
ในโปรเจ็กต์นี้ร่างกายของหุ่นยนต์ที่แสดงด้านบนจะพิมพ์เป็น 3 มิติ คุณสามารถดาวน์โหลดไฟล์ STL ได้จากที่นี่ โหลดไฟล์เหล่านี้บนซอฟต์แวร์การพิมพ์ 3 มิติของคุณเช่น Cura และสั่งพิมพ์โดยตรง ฉันใช้เครื่องพิมพ์พื้นฐานของฉันเพื่อพิมพ์ชิ้นส่วนทั้งหมด เครื่องพิมพ์เป็น FABX v1 จาก 3ding ซึ่งมาในราคาที่เหมาะสมด้วยปริมาณการพิมพ์ 10 ลูกบาศก์ซม. ราคาถูกมาพร้อมกับการแลกเปลี่ยนที่มีความละเอียดการพิมพ์ต่ำและไม่มีการ์ด SD หรือฟังก์ชันการพิมพ์ต่อ ฉันใช้ซอฟต์แวร์ที่เรียกว่า Cura เพื่อพิมพ์ไฟล์ STL การตั้งค่าที่ฉันใช้ในการพิมพ์วัสดุมีให้ด้านล่างนี้คุณสามารถใช้การตั้งค่าเดียวกันหรือเปลี่ยนตามเครื่องพิมพ์ของคุณ
เมื่อคุณพิมพ์ชิ้นส่วนทั้งหมดทำความสะอาดที่รองรับ (ถ้ามี) แล้วตรวจสอบให้แน่ใจว่ารูที่ขาและส่วนท้องนั้นใหญ่พอที่จะใส่สกรูได้ ถ้าไม่มีให้ใช้เข็มเพื่อทำให้รูใหญ่ขึ้นเบา ๆ ชิ้นส่วนที่พิมพ์ 3 มิติของคุณจะมีลักษณะดังนี้
ฮาร์ดแวร์และแผนงาน:
ฮาร์ดแวร์สำหรับหุ่นยนต์ Arduino Biped ที่ควบคุมด้วยโทรศัพท์มือถือ นี้ง่ายมาก แผนผังที่สมบูรณ์จะแสดงในภาพด้านล่าง
ฉันใช้บอร์ด Perf เพื่อทำการเชื่อมต่อข้างต้น ตรวจสอบให้แน่ใจว่าวงจรของคุณจะพอดีกับส่วนหัวของหุ่นยนต์ด้วย เมื่อบอร์ด Perf ของคุณพร้อมแล้วควรมีลักษณะดังนี้
การประกอบหุ่นยนต์:
เมื่อฮาร์ดแวร์และชิ้นส่วนที่พิมพ์ 3 มิติพร้อมแล้วเราก็สามารถประกอบหุ่นยนต์ได้ ก่อนติดตั้งมอเตอร์ตรวจสอบให้แน่ใจว่าคุณวางมอเตอร์ไว้ที่มุมด้านล่างเพื่อให้โปรแกรมทำงานได้อย่างไม่มีที่ติ
หมายเลขมอเตอร์ |
มอเตอร์เพลส |
ตำแหน่งมอเตอร์ |
1 |
มอเตอร์สะโพกซ้าย |
110 |
2 |
มอเตอร์สะโพกขวา |
100 |
4 |
มอเตอร์ข้อเท้าขวา |
90 |
5 |
มอเตอร์สะโพกขวา |
80 |
สามารถกำหนดมุมเหล่านี้ได้โดยใช้โปรแกรมที่ให้ไว้ในตอนท้ายของบทช่วยสอน เพียงอัปโหลดโปรแกรมไปยัง Arduino ของคุณหลังจากทำการเชื่อมต่อข้างต้นแล้วพิมพ์สิ่งต่อไปนี้ในจอภาพอนุกรม (หมายเหตุ: อัตรารับส่งข้อมูลคือ 57600)
1, 100, 110
2,90,100
4,80,90
5,70,80
จอภาพอนุกรมของคุณควรมีลักษณะดังนี้หลังจากวางมอเตอร์ทั้งหมดของคุณในตำแหน่ง
เมื่อมอเตอร์ถูกตั้งค่าในมุมที่สอดคล้องกันแล้วให้ติดตั้งดังแสดงในรูปด้านบน
หากคุณสับสนในการประกอบมอเตอร์ให้ทำตามวิดีโอในตอนท้ายของบทช่วยสอนนี้ เมื่อประกอบหุ่นยนต์แล้วก็ได้เวลาตั้งโปรแกรมหุ่นยนต์เต้นของเรา
การเขียนโปรแกรม Arduino สำหรับ Biped Robot:
การเขียนโปรแกรม หุ่นยนต์ BBB ( Bluetooth Biped Bob )เป็นส่วนที่น่าสนใจและสนุกที่สุดในบทช่วยสอนนี้ หากคุณเก่งในการเขียนโปรแกรมเซอร์โวมอเตอร์กับ Arduino ฉันขอแนะนำให้คุณสร้างโปรแกรมของคุณ ถ้าคุณต้องการเรียนรู้วิธีการใช้เซอร์โวมอเตอร์สำหรับการใช้งานหุ่นยนต์เช่นนี้โปรแกรมนี้จะมีประโยชน์มากสำหรับ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโปรแกรม arduino ในหมวดโครงการ arduino ของเรา
โปรแกรมที่สมบูรณ์จะได้รับในตอนท้ายของบทช่วยสอนนี้หรือคุณสามารถดาวน์โหลดรหัสทั้งหมดได้จากที่นี่ ฉันจะอธิบายส่วนที่เหมือนกันด้านล่าง โปรแกรมสามารถควบคุมการทำงานของหุ่นยนต์ผ่านจอภาพอนุกรมหรือบลูทู ธ คุณยังสามารถเคลื่อนไหวของคุณเองได้โดยการควบคุมมอเตอร์แต่ละตัวโดยใช้จอภาพอนุกรม
เซอร์โว 1. แนบ (3); เซอร์โว 2. แนบ (5); เซอร์โว 4. แนบ (9); เซอร์โว 5 แนบ (10);
บรรทัดข้างต้นของโค้ดใช้เพื่อระบุว่าเซอร์โวมอเตอร์ตัวใดเชื่อมต่อกับพินใดของ Arduino ในกรณีของเรา Servo 1,2,4 และ 5 เชื่อมต่อกับพิน 3,5,9 และ 10 ตามลำดับ
Bot_BT.begin (9600); // เริ่มการสื่อสาร Bluetooth ที่ 9600 baudrate Serial.begin (57600);
ดังที่กล่าวไว้ก่อนหน้านี้หุ่นยนต์เดินของเราสามารถทำงานบนคำสั่งบลูทู ธ และจากคำสั่งจากมอนิเตอร์แบบอนุกรม ดังนั้นการสื่อสารแบบอนุกรมของ Bluetooth จึงทำงานด้วยอัตราการรับส่งข้อมูลที่ 9600 และการสื่อสารแบบอนุกรมทำงานร่วมกับอัตราการรับส่งข้อมูลที่ 57600 ชื่อของวัตถุบลูทู ธ ของเราที่นี่คือ“ Bot_BT”
สวิตช์ (มอเตอร์) {case 1: // For motor one {Serial.println ("Executing motor one"); ถ้า (num1
กล่องสวิตช์ที่แสดงด้านบนใช้เพื่อควบคุมเซอร์โวมอเตอร์ทีละตัว สิ่งนี้จะช่วยในการเคลื่อนไหวที่สร้างสรรค์ของคุณเองกับหุ่นยนต์ของคุณ ด้วยรหัสส่วนนี้คุณสามารถบอกหมายเลขมอเตอร์จากมุมและอีกมุมเพื่อให้มอเตอร์เคลื่อนที่ไปยังตำแหน่งที่ต้องการได้
ตัวอย่างเช่นหากเราต้องการย้ายมอเตอร์หมายเลข 1 ซึ่งเป็นมอเตอร์สะโพกด้านซ้ายจากตำแหน่งเริ่มต้นที่ 110 องศาเป็น 60 องศา เราสามารถเขียน“ 1,110,60” ในซีเรียลมอนิเตอร์ของ Arduino แล้วกด Enter สิ่งนี้จะมีประโยชน์ในการเคลื่อนไหวที่ซับซ้อนของคุณเองด้วยหุ่นยนต์ของคุณ เมื่อคุณทดลองกับนางฟ้าทั้งหมดและจากมุมหนึ่งแล้วคุณสามารถเคลื่อนไหวของคุณเองและทำซ้ำได้โดยทำให้เป็นฟังก์ชัน
ถ้า (Serial.available ()> 0) // อ่านสิ่งที่เข้ามาใน Serial {gmotor = Serial.parseInt (); Serial.print ("หมายเลขที่เลือก ->"); Serial.print (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("องศา"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("องศา"); ธง = 1; }
หากข้อมูลอนุกรมมีอยู่หมายเลขก่อน“” ตัวแรกจะถูกพิจารณาว่าเป็น gmotor จากนั้นตัวเลขที่อยู่ก่อน“”” ที่สองจะถือเป็น gnum1 และตัวเลขหลัง“,” ที่สองจะถือเป็น gnum2
if (Bot_BT.available ()) // อ่านสิ่งที่เข้ามาผ่านบลูทู ธ {BluetoothData = Bot_BT.read (); Serial.print ("ขาเข้าจาก BT:"); Serial.println (BluetoothData); }
หากบลูทู ธ ได้รับข้อมูลบางอย่างข้อมูลที่ได้รับจะถูกเก็บไว้ในตัวแปร“ BluetoothData” จากนั้นตัวแปรนี้จะถูกเปรียบเทียบกับค่าที่กำหนดไว้ล่วงหน้าเพื่อดำเนินการกระทำเฉพาะ
ถ้า (flag == 1) เรียก (gmotor, gnum1, gnum2); // เรียกใช้มอเตอร์ตามลำดับเพื่อดำเนินการ // เรียกใช้ฟังก์ชันตามคอมมอนด์ที่ได้รับผ่าน Serial monitor หรือ Bluetooth // if (gmotor == 10) left_leg_up (); ถ้า (gmotor == 11) right_leg_up (); ถ้า (gmotor == 12) move_left_front (); ถ้า (gmotor == 13) move_right_front (); ถ้า (BluetoothData == 49 - gmotor == 49) say_hi (); ถ้า (BluetoothData == 50 - gmotor == 50) walk1 (); ถ้า (BluetoothData == 51 - gmotor == 51) walk2 (); ถ้า (BluetoothData == 52 - gmotor == 52) dance1 (); ถ้า (BluetoothData == 53 - gmotor == 53) dance2 (); ถ้า (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
นี่คือที่ที่เรียกใช้ฟังก์ชันตามค่าที่ได้รับจากมอนิเตอร์แบบอนุกรมหรือบลูทู ธ ดังที่แสดงไว้ด้านบน gmotor ตัวแปรจะมีค่าของจอภาพแบบอนุกรมและ BluetoothData จะมีค่าจากอุปกรณ์ Bluetooth ตัวเลข 10,11,12 ถึง 53,54 เป็นตัวเลขที่กำหนดไว้ล่วงหน้า
ตัวอย่างเช่นหากคุณป้อนหมายเลข 49 ในจอภาพอนุกรม ฟังก์ชัน say_hi () จะทำงานโดยที่หุ่นยนต์จะโบกมือทักทายคุณ
ฟังก์ชันทั้งหมดถูกกำหนดไว้ในหน้า“ Bot_Functions” คุณสามารถเปิดและดูว่าเกิดอะไรขึ้นภายในแต่ละฟังก์ชัน ฟังก์ชั่นทั้งหมดนี้ถูกสร้างขึ้นโดยการทดลองจากแองเจิลและแองเจิลของมอเตอร์ทุกตัวโดยใช้เคสสวิตช์ที่อธิบายไว้ข้างต้น หากคุณมีข้อสงสัยใด ๆ คุณสามารถใช้ส่วนความคิดเห็นเพื่อโพสต์ได้และเรายินดีที่จะช่วยเหลือคุณ
การประมวลผลแอปพลิเคชัน Android ที่ใช้:
แอปพลิเคชัน Android เพื่อควบคุมหุ่นยนต์สร้างขึ้นโดยใช้โหมดประมวลผล Android หากคุณต้องการเปลี่ยนแปลงแอปพลิเคชันคุณสามารถดาวน์โหลดโปรแกรมประมวลผลทั้งหมดได้จากที่นี่
หากคุณต้องการใช้แอปพลิเคชันคุณสามารถดาวน์โหลดได้จากที่นี่เป็นไฟล์ APK และติดตั้งโดยตรงบนโทรศัพท์มือถือของคุณ
หมายเหตุ: โมดูลบลูทู ธ ของคุณควรมีชื่อว่า HC-06 มิฉะนั้นแอปพลิเคชันจะไม่สามารถเชื่อมต่อกับโมดูลบลูทู ธ ของคุณได้
เมื่อติดตั้งแอปพลิเคชันแล้วคุณสามารถจับคู่โมดูล Bluetooth กับโทรศัพท์ของคุณจากนั้นเปิดแอปพลิเคชัน ควรมีลักษณะดังนี้ด้านล่าง
หากคุณต้องการทำให้แอปของคุณน่าสนใจยิ่งขึ้นหรือเชื่อมต่อกับอุปกรณ์อื่น ๆ นอกเหนือจาก Hc-06 คุณสามารถใช้รหัสประมวลผลและทำการเปลี่ยนแปลงบางอย่างจากนั้นอัปโหลดรหัสไปยังโทรศัพท์ของคุณโดยตรง
การทำงานของหุ่นยนต์สองขาที่ควบคุมด้วยบลูทู ธ:
เมื่อฮาร์ดแวร์แอปพลิเคชัน Android และ Arduino Sketch ของคุณพร้อมแล้วก็ถึงเวลาสนุกไปกับหุ่นยนต์ของเรา คุณสามารถควบคุม Robot จากแอพพลิเคชั่น Bluetooth โดยใช้ปุ่มในแอพพลิเคชั่นหรือโดยตรงจาก Serial monitor โดยใช้คำสั่งต่อไปนี้ดังที่แสดงในภาพด้านล่าง
คำสั่งแต่ละคำสั่งจะทำให้หุ่นยนต์ทำงานแปลก ๆ และคุณยังสามารถเพิ่มการกระทำอื่น ๆ ตามความคิดสร้างสรรค์ของคุณได้อีกด้วย
หุ่นยนต์ยังสามารถใช้พลังงานจากอะแดปเตอร์ 12V หรือสามารถใช้พลังงานจากแบตเตอรี่ 9V แบตเตอรี่นี้สามารถวางไว้ด้านล่างบอร์ด Perf ได้อย่างง่ายดายและยังสามารถหุ้มด้วย Head of the Robot ได้อีกด้วย
การทำงานทั้งหมดของหุ่นยนต์ควบคุมสมาร์ทโฟนนี้สามารถพบได้ในวิดีโอด้านล่าง