สารบัญ:

Prima - หุ่นยนต์ที่เล่นเปียโน: 13 ขั้นตอน
Prima - หุ่นยนต์ที่เล่นเปียโน: 13 ขั้นตอน

วีดีโอ: Prima - หุ่นยนต์ที่เล่นเปียโน: 13 ขั้นตอน

วีดีโอ: Prima - หุ่นยนต์ที่เล่นเปียโน: 13 ขั้นตอน
วีดีโอ: อะไรเอ่ย #สิว #สิวอุดตัน #สิวอักเสบ #สิวเห่อ #รอยสิว #รักษาสิว #เล็บเท้า #satisfying 2024, กรกฎาคม
Anonim
Prima - หุ่นยนต์เล่นเปียโน
Prima - หุ่นยนต์เล่นเปียโน

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

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

และการออกแบบได้รับแรงบันดาลใจจากคำแนะนำนี้ ร้องให้ JimRD!

เริ่มกันเลย

ขั้นตอนที่ 1: ภาพรวมของโครงการทั้งหมด

Prima เป็นหุ่นยนต์ที่สามารถเล่นคีย์บอร์ด/เปียโน หรือเครื่องดนตรีประเภทอื่นๆ ที่คล้ายคลึงกัน มี Arduino Uno เป็นสมอง หน้าจอ LCD สำหรับการแสดงผลภาพ และเซ็นเซอร์อัลตราโซนิกสำหรับการเริ่มต้นแบบไม่ต้องสัมผัส อะแดปเตอร์จ่ายไฟใดๆ ที่จ่ายไฟ 5 โวลต์ 2 แอมป์ควรจะจ่ายไฟให้กับมันได้

มีคุณสมบัติดังต่อไปนี้ -

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

ขั้นตอนที่ 2: วิดีโอ

Image
Image

คุณสามารถดูมันเล่นคีย์บอร์ดในวิดีโอ

ขั้นตอนที่ 3: การสร้างแบบจำลอง 3 มิติ

การสร้างแบบจำลอง 3 มิติ
การสร้างแบบจำลอง 3 มิติ
การสร้างแบบจำลอง 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
การสร้างรางแกน X
การสร้างรางแกน X
การสร้างรางแกน X

ฉันยืมแนวคิดของรางแกน X จากเครื่อง CNC เป็นเพียงซี่ล้อสองซี่ที่วางขนานกัน และ "ผนัง" มีรูที่ซี่ล้อจะผ่านไป ที่ปลายอีกด้านของผนัง ซี่ล้อจะติดกาวร้อนกับผนังเพื่อไม่ให้ขยับ ซี่ล้อมีความแข็งแรงพอที่จะรองรับแท่นแกน X

ขั้นตอนที่ 8: แพลตฟอร์มแกน X

แพลตฟอร์มแกน X
แพลตฟอร์มแกน X
แพลตฟอร์มแกน X
แพลตฟอร์มแกน X
แพลตฟอร์มแกน X
แพลตฟอร์มแกน X
แพลตฟอร์มแกน X
แพลตฟอร์มแกน X

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

มีหลอดใส่ปากการีฟิลสองหลอดติดกาวร้อนไว้ด้านล่างซึ่งซี่ล้อเลื่อนไปมาเพื่อให้สามารถเลื่อนไปมาได้ ฉันได้หลอดนี้มาจากปากกา คุณสามารถใช้อะไรก็ได้ที่พอดีกับซี่ล้อ เช่น หลอดดูดน้ำ

จากนั้นตรงกลางแผ่นพีวีซีด้านล่างก็มีแผ่นพีวีซีอีกแผ่นตั้งตรง มีรูเจาะที่ส่วนล่างซึ่งพอดีกับตัวเซอร์โวและเซอร์โวถูกแทรกเข้าไป เซอร์โวได้รับการยึดด้วยกาวร้อน

เซอร์โวมีแขนเชื่อมต่ออยู่ เมื่อหุ่นยนต์ต้องกดปุ่ม เซอร์โวจะหมุนแขนลง ส่งผลให้มีการกดปุ่มและหมุนไปยังตำแหน่งเดิมหลังจากนั้น

ขั้นตอนที่ 9: การย้ายแพลตฟอร์ม X Axis

การย้ายแพลตฟอร์มแกน X
การย้ายแพลตฟอร์มแกน X
การย้ายแพลตฟอร์มแกน X
การย้ายแพลตฟอร์มแกน X
การย้ายแพลตฟอร์มแกน X
การย้ายแพลตฟอร์มแกน X

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

ข้อต่อทำด้วยสกรู

ขั้นตอนที่ 10: รหัส

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

โค้ดนี้ค่อนข้างเรียบง่ายและมีพื้นที่สำหรับการปรับปรุง หากคุณต้องการให้หุ่นยนต์เล่นทำนองของคุณเอง คุณเพียงแค่ต้องใส่มันลงในโค้ดซึ่งค่อนข้างง่าย

ขั้นตอนที่ 11: วาดภาพมัน

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

ฉันใช้สีสเปรย์เพื่อทาสีของฉัน

ขั้นตอนที่ 12: การจัดวางและจัดระเบียบอุปกรณ์อิเล็กทรอนิกส์

การวางและการจัดระเบียบอุปกรณ์อิเล็กทรอนิกส์
การวางและการจัดระเบียบอุปกรณ์อิเล็กทรอนิกส์
การวางและการจัดระเบียบอุปกรณ์อิเล็กทรอนิกส์
การวางและการจัดระเบียบอุปกรณ์อิเล็กทรอนิกส์

ฉันขัน Arduino กับแผ่น PVC ฐานและติดกาวทั้งวงจรไฟฟ้าและ LCD บนกระดานฐาน จัดสายไฟด้วยกาวร้อน

ขั้นตอนที่ 13: บทสรุป: ขอขอบคุณที่อ่านคำแนะนำ

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

แผนการในอนาคตกับโครงการนี้ -

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

หากคุณสร้างสิ่งนี้ ทิ้งรูปภาพไว้ในความคิดเห็น ฉันชอบที่จะเห็นของคุณ!:)

แนะนำ: