สารบัญ:
- ขั้นตอนที่ 1: ภาพรวมของโครงการทั้งหมด
- ขั้นตอนที่ 2: วิดีโอ
- ขั้นตอนที่ 3: การสร้างแบบจำลอง 3 มิติ
- ขั้นตอนที่ 4: ชิ้นส่วนและเครื่องมือ
- ขั้นตอนที่ 5: วงจรไฟฟ้า
- ขั้นตอนที่ 6: เมานต์เซ็นเซอร์โซนาร์
- ขั้นตอนที่ 7: การสร้างรางแกน X
- ขั้นตอนที่ 8: แพลตฟอร์มแกน X
- ขั้นตอนที่ 9: การย้ายแพลตฟอร์ม X Axis
- ขั้นตอนที่ 10: รหัส
- ขั้นตอนที่ 11: วาดภาพมัน
- ขั้นตอนที่ 12: การจัดวางและจัดระเบียบอุปกรณ์อิเล็กทรอนิกส์
- ขั้นตอนที่ 13: บทสรุป: ขอขอบคุณที่อ่านคำแนะนำ
วีดีโอ: Prima - หุ่นยนต์ที่เล่นเปียโน: 13 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ความคิดที่ว่าหุ่นยนต์กำลังเล่นเครื่องดนตรีนั้นดึงดูดใจฉันมาตลอด และฉันอยากจะสร้างมันขึ้นมาเองเสมอ อย่างไรก็ตาม ฉันไม่เคยมีความรู้เกี่ยวกับดนตรีและเครื่องดนตรีมากนัก เลยไม่รู้ว่าจริงๆ แล้วฉันจะเริ่มต้นด้วยสิ่งนั้นได้อย่างไร จนกระทั่งเมื่อไม่นานนี้ ฉันสนใจเกี่ยวกับการทำดนตรี เริ่มเรียนการผลิตเพลง และหลังจากได้รับคีย์บอร์ด MIDI ฉันก็รู้ว่านี่ไม่ใช่เครื่องดนตรีที่เล่นยาก และฉันสามารถสร้างหุ่นยนต์ที่สามารถเล่นได้จริงๆ นั่นคือจุดเริ่มต้นของการสร้างพรีม่า
ฉันไม่แน่ใจเกี่ยวกับความสำเร็จของโครงการนี้ เลยไม่ต้องเสียเวลาจดบันทึก แต่เนื่องจากมันใช้งานได้ดี ฉันจึงตัดสินใจแชร์รายละเอียดกับชุมชน Instructables นี่จะไม่ใช่บันทึกการสร้างแบบทีละขั้นตอน แต่เป็นแนวทางในการเริ่มต้นใช้งานมากกว่า ฉันจะอธิบายวิธีการทำงานของหุ่นยนต์แต่ละส่วน แบ่งปันรูปภาพและรหัสสำหรับ Arduino หวังว่าจะเพียงพอหากคุณต้องการทำซ้ำโครงการนี้
และการออกแบบได้รับแรงบันดาลใจจากคำแนะนำนี้ ร้องให้ JimRD!
เริ่มกันเลย
ขั้นตอนที่ 1: ภาพรวมของโครงการทั้งหมด
Prima เป็นหุ่นยนต์ที่สามารถเล่นคีย์บอร์ด/เปียโน หรือเครื่องดนตรีประเภทอื่นๆ ที่คล้ายคลึงกัน มี Arduino Uno เป็นสมอง หน้าจอ LCD สำหรับการแสดงผลภาพ และเซ็นเซอร์อัลตราโซนิกสำหรับการเริ่มต้นแบบไม่ต้องสัมผัส อะแดปเตอร์จ่ายไฟใดๆ ที่จ่ายไฟ 5 โวลต์ 2 แอมป์ควรจะจ่ายไฟให้กับมันได้
มีคุณสมบัติดังต่อไปนี้ -
- ตั้งโปรแกรมได้ - สามารถตั้งโปรแกรมให้เล่นองค์ประกอบใดๆ ที่จำกัดภายในอ็อกเทฟได้
- จังหวะที่ปรับได้ - จังหวะที่จะติดตามในขณะที่เล่นเครื่องดนตรีสามารถตั้งค่าได้ในรหัส
- การเริ่มต้นแบบไม่ต้องสัมผัส - ผู้ใช้สามารถกระตุ้นการเล่นได้เพียงแค่รูดมือบนเซ็นเซอร์ ซึ่งจะเป็นประโยชน์อย่างมากหากผู้ใช้กำลังยุ่งกับการเล่นเครื่องดนตรีอื่นและต้องการให้ Prima เล่นร่วมกับเขา/เธอหลังจากเวลาที่กำหนด ผู้เล่นที่เป็นมนุษย์ปะทะกับผู้เล่นหุ่นยนต์ - สามารถทำได้เช่นกันด้วยความช่วยเหลือของคุณสมบัตินี้
ขั้นตอนที่ 2: วิดีโอ
คุณสามารถดูมันเล่นคีย์บอร์ดในวิดีโอ
ขั้นตอนที่ 3: การสร้างแบบจำลอง 3 มิติ
หลังจากสรุปสิ่งที่ควรทำได้แล้ว ฉันออกแบบร่างกายบน TinkerCAD เพื่อที่ฉันจะได้เริ่มสร้างมันขึ้นมาโดยมีความคิดชัดเจนว่าฉันกำลังทำอะไรอยู่
วิธีนี้ช่วยให้ฉันลงเอยด้วยหุ่นยนต์ที่ดูเรียบร้อยซึ่งทำงานตรงตามที่ออกแบบไว้ แม้ว่าฉันจะต้องปรับเปลี่ยนการออกแบบดั้งเดิมเล็กน้อยในขณะที่สร้างมัน แต่โมเดล 3 มิติยังช่วยประหยัดเวลาและความพยายามของฉันได้มาก ดูรายละเอียดเพิ่มเติมเกี่ยวกับโมเดล 3 มิติได้ที่นี่
ขั้นตอนที่ 4: ชิ้นส่วนและเครื่องมือ
สำหรับชิ้นส่วนอิเล็กทรอนิกส์ คุณจะต้อง -
- Arduino Uno (จำนวน - 1)
- หน้าจอ LCD 16x2 (จำนวน - 1)
- อะแดปเตอร์ I2C สำหรับหน้าจอ LCD (จำนวน - 1)
- TowerPro SG90 ไมโครเซอร์โว (จำนวน - 2)
- HC-SR04 อัลตราโซนิกเซนเซอร์ (จำนวน - 1)
- สวิตช์กดสลับ (จำนวน - 1)
- Buzzer (จำนวน - 1)
- กระดาน Vero/Dot Board/ Perf Board
- สายจัมเปอร์ตัวผู้กับตัวผู้และตัวผู้ถึงตัวเมีย
สำหรับทำร่างกาย-
- แผ่นพีวีซี 5 มม.
- รอบพูด (จำนวน - 2)
- สกรู
- หลอดใส่ปากกา
- สีสเปรย์ (หากต้องการทาสี)
เครื่องมือที่คุณต้องการ -
- ซุปเปอร์กลู
- ปืนกาวร้อน
- หัวแร้ง
- Anti-cutter (เครื่องตัดกระดาษ A. K. A)
ขั้นตอนที่ 5: วงจรไฟฟ้า
ส่วนวงจรค่อนข้างง่าย ฉันกำลังอธิบายว่าฉันทำแต่ละส่วนได้อย่างไร -
ส่วน LCD - ฉันใช้อะแดปเตอร์ I2C สำหรับ LCD เพื่อให้ Arduino สามารถสื่อสารกับมันผ่าน I2C ซึ่งไม่จำเป็น แต่ทำให้วงจรง่ายขึ้นและลดจำนวนสาย คุณสามารถใช้ LCD มาตรฐานได้โดยแก้ไขโค้ดเล็กน้อย
ส่วนพลังงาน - ฉันสร้างวงจรอย่างง่ายบน veroboard ซึ่งประกอบด้วยสวิตช์กดสลับ ออด ไฟ LED (ซึ่งฉันตัดสินใจไม่ใช้ในภายหลัง) และบัสไฟฟ้าทั่วไป 5V บัสไฟฟ้าเช่นเดียวกับ 5V และพินกราวด์ของเซอร์โว เซ็นเซอร์โซนาร์ LCD และ Arduino ทั้งหมดเชื่อมต่อกันตามลำดับ สวิตช์กดหนึ่งพินเชื่อมต่อกับสาย 5V+ และอีกพินหนึ่งเชื่อมต่อกับพิน VCC ของแหล่งจ่ายไฟ สายกราวด์เชื่อมต่อกับพินกราวด์ของแหล่งจ่ายไฟโดยตรง จึงสามารถเปิด/ปิด Prima ได้โดยใช้สวิตช์ ออดและไฟ LED เชื่อมต่อแบบขนานและพิน VCC ของพวกมันไปที่พิน 13 ของ Arduino กราวด์ของพวกเขาเชื่อมต่อกับกราวด์ของบัสไฟฟ้าทั่วไป
การปรับเปลี่ยนคอนเนคเตอร์ของเซอร์โว - เนื่องจากสายจัมเปอร์มักจะตัดการเชื่อมต่อจากคอนเน็กเตอร์ของเซอร์โว ฉันจึงตัด VCC และสายกราวด์จากเซอร์โวทั้งสองและบัดกรีโดยตรงไปยังพาวเวอร์บัส อย่างไรก็ตาม สำหรับพินสัญญาณ ฉันใช้สายจัมเปอร์เพื่อเชื่อมต่อกับ Arduino
เซ็นเซอร์โซนาร์ - บัดกรีสายไฟสองเส้นตามลำดับกับ VCC และพินกราวด์ของเซ็นเซอร์โซนาร์ ซึ่งไปที่บัสไฟฟ้าทั่วไป และใช้สายจัมเปอร์สำหรับเชื่อมต่อทริกเกอร์และพินเอคโค่กับ Arduino
Arduino - ขับเคลื่อนผ่านขั้วต่อแจ็คแบบบาร์เรล
ซึ่งไปที่ -
พินทริกเกอร์ของ Sonar Sensor -> ขา A2 ของ Arduino
echo pin ของ Sonar Sensor -> ขา A3 ของ Arduino
พิน SDA ของอะแดปเตอร์ I2C -> พิน A4 ของ Arduino
พิน SCL ของอะแดปเตอร์ I2C -> พิน A5 ของ Arduino
VCC ของ Buzzer -> พิน D13 ของ Arduino
หมุดสัญญาณเซอร์โวแบบกดคีย์ -> พิน D9 ของ Arduino
พินสัญญาณเซอร์โวแกน X -> พิน D8 ของ Arduino
VCC และพินกราวด์ทั้งหมดเชื่อมต่อกับพาวเวอร์บัสทั่วไป
ขั้นตอนที่ 6: เมานต์เซ็นเซอร์โซนาร์
รูปภาพอธิบายได้ด้วยตนเอง เพียงแค่ติดชั้นวางรูปตัว L บน "ผนัง" ที่ติดกาวซุปเปอร์ และติดเซ็นเซอร์โซนาร์บนชั้นวางด้วยความร้อน
ขั้นตอนที่ 7: การสร้างรางแกน X
ฉันยืมแนวคิดของรางแกน X จากเครื่อง CNC เป็นเพียงซี่ล้อสองซี่ที่วางขนานกัน และ "ผนัง" มีรูที่ซี่ล้อจะผ่านไป ที่ปลายอีกด้านของผนัง ซี่ล้อจะติดกาวร้อนกับผนังเพื่อไม่ให้ขยับ ซี่ล้อมีความแข็งแรงพอที่จะรองรับแท่นแกน X
ขั้นตอนที่ 8: แพลตฟอร์มแกน X
เป็นส่วนที่อยู่ด้านข้างเพื่อเอื้อมไปยังปุ่มบางปุ่มและมีเซอร์โวที่มีแขนติดอยู่กับปุ่มซึ่งกดคีย์
มีหลอดใส่ปากการีฟิลสองหลอดติดกาวร้อนไว้ด้านล่างซึ่งซี่ล้อเลื่อนไปมาเพื่อให้สามารถเลื่อนไปมาได้ ฉันได้หลอดนี้มาจากปากกา คุณสามารถใช้อะไรก็ได้ที่พอดีกับซี่ล้อ เช่น หลอดดูดน้ำ
จากนั้นตรงกลางแผ่นพีวีซีด้านล่างก็มีแผ่นพีวีซีอีกแผ่นตั้งตรง มีรูเจาะที่ส่วนล่างซึ่งพอดีกับตัวเซอร์โวและเซอร์โวถูกแทรกเข้าไป เซอร์โวได้รับการยึดด้วยกาวร้อน
เซอร์โวมีแขนเชื่อมต่ออยู่ เมื่อหุ่นยนต์ต้องกดปุ่ม เซอร์โวจะหมุนแขนลง ส่งผลให้มีการกดปุ่มและหมุนไปยังตำแหน่งเดิมหลังจากนั้น
ขั้นตอนที่ 9: การย้ายแพลตฟอร์ม X Axis
เซอร์โว "ผู้เสนอญัตติแกน X" ติดอยู่กับแท่นยกซึ่งอยู่ทางด้านซ้ายของหุ่นยนต์ แพลตฟอร์มแกน X มีชั้นวางอยู่ด้านบนซึ่งมีการต่อแขนโดยใช้สกรู ที่ปลายอีกด้านของแขน แขนอีกข้างหนึ่งต่อโดยใช้สกรู และส่วนนี้เชื่อมต่อกับแตรเซอร์โว ข้อต่อทั้งหมดสามารถเคลื่อนย้ายได้ และเซอร์โวสามารถขับเคลื่อนแท่นแกน X บนรางแกน X โดยหมุนแตรไปทางซ้าย/ขวา ซึ่งจะทำให้แขนดัน/ดึงแท่นบนราง
ข้อต่อทำด้วยสกรู
ขั้นตอนที่ 10: รหัส
หลังจากสร้างร่างกายและวงจรเสร็จแล้ว ให้อัปโหลดโค้ดบน Arduino วางหุ่นยนต์ขนานกับคีย์บอร์ด/เปียโน แท่นแกน x จะเริ่มเคลื่อนที่ไปทางซ้ายก่อนและหยุดที่จุดหนึ่ง ย้ายหุ่นยนต์จนกว่าคีย์ C ของเปียโนจะตรงจุดนั้น นี่เป็นขั้นตอนที่สำคัญ เพราะหากไม่มีการวางตำแหน่งหุ่นยนต์ด้วยวิธีนี้ จะไม่สามารถเล่นเพลงได้อย่างถูกต้อง จากนั้นเปิดหุ่นยนต์ก็ควรเริ่มเล่นเมโลดี้ภายในไม่กี่วินาที
โค้ดนี้ค่อนข้างเรียบง่ายและมีพื้นที่สำหรับการปรับปรุง หากคุณต้องการให้หุ่นยนต์เล่นทำนองของคุณเอง คุณเพียงแค่ต้องใส่มันลงในโค้ดซึ่งค่อนข้างง่าย
ขั้นตอนที่ 11: วาดภาพมัน
หากคุณต้องการทาสีเหมือนของฉัน (ฉันขอแนะนำอย่างยิ่งให้ทำเช่นนั้น มันดูดีกว่าทาสีมาก) ให้สร้างส่วนต่างๆ ของร่างกายทั้งหมดก่อน ตรวจสอบให้แน่ใจว่าได้ตัดอย่างถูกต้อง จากนั้นล้างด้วยสบู่เพื่อไม่ให้มีน้ำมันและสิ่งสกปรก ผู้คนมักจะขัดพื้นผิวก่อนทาสี แต่ที่นี่คุณไม่จำเป็นต้องทำ ฉีดสเปรย์หนึ่งชั้นก่อน ปล่อยให้แห้งพอ (สองสามชั่วโมง) แล้วทาสีอีกชั้นหนึ่ง คุณอาจเริ่มประกอบชิ้นส่วนและติดกาวเข้าด้วยกันหลังจากที่สีแห้ง
ฉันใช้สีสเปรย์เพื่อทาสีของฉัน
ขั้นตอนที่ 12: การจัดวางและจัดระเบียบอุปกรณ์อิเล็กทรอนิกส์
ฉันขัน Arduino กับแผ่น PVC ฐานและติดกาวทั้งวงจรไฟฟ้าและ LCD บนกระดานฐาน จัดสายไฟด้วยกาวร้อน
ขั้นตอนที่ 13: บทสรุป: ขอขอบคุณที่อ่านคำแนะนำ
นี่คือวิธีที่ฉันสร้างพรีมา หวังว่าบันทึกการสร้างจะชัดเจนและเข้าใจง่าย หากคุณมีคำถามใด ๆ โปรดทิ้งไว้ในส่วนความคิดเห็น ฉันจะพยายามตอบกลับโดยเร็วที่สุด
แผนการในอนาคตกับโครงการนี้ -
- การสร้างซอฟต์แวร์สำหรับการเขียนโปรแกรม Prima ได้ง่ายขึ้น
- เพิ่มคุณสมบัติการแตะจังหวะเพื่อให้คุณสามารถแตะปุ่มเพื่อปรับจังหวะได้
- สลับเซอร์โวกับเซอร์โวที่เงียบกว่าและเร็วกว่า
หากคุณสร้างสิ่งนี้ ทิ้งรูปภาพไว้ในความคิดเห็น ฉันชอบที่จะเห็นของคุณ!:)
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง