สารบัญ:
- ขั้นตอนที่ 1: แนวคิด
- ขั้นตอนที่ 2: การสร้างต้นแบบเขียงหั่นขนม
- ขั้นตอนที่ 3: การผลิต
- ขั้นตอนที่ 4: การจำลองและเค้าโครง CAD
- ขั้นตอนที่ 5: การออกแบบ PCB
- ขั้นตอนที่ 6: การติดตั้งหน้าจอ
- ขั้นตอนที่ 7: สิ่งที่แนบมา
- ขั้นตอนที่ 8: เอ่อ-โอ้
- ขั้นตอนที่ 9: ระบายสี
- ขั้นตอนที่ 10: การเดินสายไฟ
- ขั้นตอนที่ 11: รหัส Arduino
- ขั้นตอนที่ 12: บทสรุป
วีดีโอ: Arduino MIDI Foot Controller: 12 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ฉันเพิ่งออกแบบตัวควบคุม MIDI นี้เพื่อควบคุมวลีวนรอบซึ่งอยู่ในแป้นเหยียบการหน่วงเวลา Boss DD500 ฉันควบคุมอุปกรณ์กีตาร์ทั้งหมดของฉันโดยใช้บอร์ด MIDI ของ Behringer FCB และสิ่งนี้ทำให้ฉันเปลี่ยนแพตช์บนแป้นเหยียบดีเลย์ในลูปเอฟเฟกต์ได้ ในขณะที่เปลี่ยนช่องแอมป์พร้อมกัน
DD500 มีฟังก์ชัน looper พื้นฐานในตัว แต่ข้อเสียอย่างหนึ่งของมันคือเมื่อ looper ทำงาน มันจะควบคุมโดย footswitches บนคันเหยียบ ซึ่งหมายความว่าคุณไม่สามารถเปลี่ยนแผ่นแปะบนแป้นเหยียบในขณะที่วงล้อทำงานอยู่ เนื่องจากระบบจะจับหน้าที่ของสวิตช์เท้าเป็นหลัก ขณะที่ฉันใช้ MIDI ข้อจำกัดนี้ไม่มีอยู่จริง เนื่องจากเป็นเพียงปัญหาทางกายภาพเท่านั้น นี่หมายถึงการจอง 5 ฟุตสวิตช์บนคอนโทรลเลอร์ MIDI หลักของฉันสำหรับลูปเดอร์ ดังนั้นฉันจึงตัดสินใจสร้างคอนโทรลเลอร์แยกต่างหากสำหรับตัวควบคุมเหล่านั้น
แผนแรกของฉันสำหรับสิ่งนี้คือนำตู้แฮมมอนด์ขนาดเล็กและวางสวิตช์เท้า 5 อันและสอนการเข้ารหัส Arduino ขั้นพื้นฐานให้กับตัวเอง เมื่อฉันเริ่มเรียนรู้เพิ่มเติมและโค้ดของฉันก็ใช้งานได้ มันกลับกลายเป็นแรงบันดาลใจให้ฉันลองทำอะไรหลายๆ อย่างมากขึ้น และโดยพื้นฐานแล้วมันก็กลายเป็นสิ่งที่ใหญ่กว่า
ขั้นตอนที่ 1: แนวคิด
แนวคิดแรกๆ ประการหนึ่งคือการมีปุ่ม 5 ปุ่มติดต่อกันพร้อมไฟ LED แสดงสถานะ มันค่อนข้างง่ายที่จะจำลองบนเขียงหั่นขนมกับ Arduino การเพิ่มคุณสมบัติและฮาร์ดแวร์ใหม่กลายเป็นกระบวนการที่ฉันออกแบบและออกแบบเลย์เอาต์ทางกายภาพบนกระดาษและสร้างบนโปรเจ็กต์เขียงหั่นขนมอย่างต่อเนื่อง แม้จะมีการวางแผนมากมาย แต่งานจำนวนมากเกี่ยวกับเรื่องนี้ก็ค่อนข้างเสร็จสิ้นในทันทีตั้งแต่เริ่มต้น
รูปภาพ 2 รูปด้านบนแสดงภาพวาดแรกสุดที่ฉันเขียนลงบนกระดาษ ซึ่งทำให้ไอเดียนี้เริ่มต้นขึ้นในตอนแรก ตามด้วยโน้ตหนึ่งเดือนที่เขียนขึ้นหลังจากสร้างเค้าโครงจริงและเลย์เอาต์ PCB
ขั้นตอนที่ 2: การสร้างต้นแบบเขียงหั่นขนม
โครงการทั้งหมดสร้างขึ้นบนเขียงหั่นขนมและผ่านการทดสอบอย่างสมบูรณ์เพื่อให้แน่ใจว่าทำงานได้อย่างเต็มประสิทธิภาพกับ DD500 ก่อนเริ่มงานใดๆ บนตัวเครื่องอย่างถาวร มีการเพิ่มคุณสมบัติพิเศษบางอย่างในโค้ด ซึ่งทำให้ตัวควบคุมมีฟังก์ชันพิเศษบางอย่างที่ DD500 ขาดหายไป สิ่งเหล่านี้จะกล่าวถึงอย่างครบถ้วนในส่วนโค้ด
แป้นเหยียบมีสวิตช์เท้าเหยียบ 5 ดวง ไฟ LED แสดงสถานะ 4 ดวง หน้าจอ LCD I2C 5 จอ และควบคุมโดย Arduino Nano Every ได้รับพลังงานจาก PSU เหยียบกีต้าร์ 9V โดยใช้กล่องแยกซึ่งนำพลังงานนั้นผ่านสาย MIDI โดยใช้พิน 2 ตัวซึ่งปกติจะไม่ใช้กับขั้วต่อ MIDI
ขั้นตอนที่ 3: การผลิต
ฉันดูกรณีที่เป็นไปได้มากมายสำหรับโครงการนี้ และถึงกับพิจารณาถึงความคิดที่จะพยายามงอเคสของฉันเองจากแผ่นอะลูมิเนียม ในที่สุดฉันก็ตัดสินใจเลือกตู้แฮมมอนด์ซึ่งกว้างพอที่จะใส่จอ LCD ขนาด 16X2 จำนวน 5 จอที่ฉันเลือกไว้
สวิตช์เท้าเป็นสวิตช์สัมผัสนุ่มนวลชั่วขณะทั่วไป
ในขั้นตอนนี้ ฉันตัดสินใจที่จะติดตั้งกรอบหน้าจอแบบกำหนดเองเพื่อให้ด้านหน้าดูสะอาด เนื่องจากฉันจะตัดรูหน้าจอด้วยมือด้วย Dremel และรู้ว่าอาจมีบางพื้นที่ที่ไม่สมบูรณ์แบบ ฉันตัดสิ่งเหล่านี้โดยสตูดิโอออกแบบในพื้นที่ซึ่งทำการตัดด้วยเลเซอร์ อย่างแรกเลยคือเทมเพลตกระดาษแข็งเพื่อให้แน่ใจว่าขนาดของฉันถูกต้องทั้งหมด จากนั้นในอะครีลิคสีขาว 3 มม. สำหรับชิ้นสุดท้าย
ขั้นตอนที่ 4: การจำลองและเค้าโครง CAD
จากภาพสเก็ตช์กระดาษของฉัน ฉันใช้ Inkscape เพื่อจัดวางส่วนประกอบทางกายภาพทั้งหมดและกำหนดขนาดและตำแหน่งให้สมบูรณ์ ฉันยังคิดวิธีการติดตั้งหน้าจอ ณ จุดนี้ด้วย เพื่อลดจำนวนสลักเกลียวที่มองเห็นได้ทางด้านหน้า ฉันจึงตัดสินใจติดตะแกรงทั้งหมดกับแผ่นอะลูมิเนียมจากด้านหลังโดยใช้ขาตั้ง จากนั้นฉันต้องใช้สลักเกลียวเพียง 4 ตัวต่อแผ่นเพื่อยึดเข้ากับโครงตู้ ซึ่ง จะยึดขอบหน้าจอไว้ด้วย
ขั้นตอนที่ 5: การออกแบบ PCB
ในการสร้าง PCB ฉันใช้เว็บไซต์ชื่อ EasyEDA มันมีสภาพแวดล้อมตัวแก้ไขซึ่งคุณสามารถวาดแผนผังของส่วนประกอบของคุณ เปลี่ยนเป็นเค้าโครง PCB แล้วส่งออกโดยตรงไปยัง JLCPCB เพื่อทำเป็นบอร์ด ฉันไม่เคยทำอะไรแบบนี้มาก่อน แต่พวกเขามีคำแนะนำที่ดีในเว็บไซต์ซึ่งอธิบายวิธีการทำงานของบรรณาธิการ และภายในหนึ่งชั่วโมงฉันก็ออกแบบและสั่งบอร์ด
บางพื้นที่บนกระดานได้รับการออกแบบมาไม่ดีในขณะนั้นเนื่องจากขาดประสบการณ์ เช่น การใช้ราง 5V เพียงรางเดียวเพื่อจ่ายไฟให้กับหน้าจอ แทนที่จะให้ฟีดแยกกัน โชคดีที่แรงดันไฟฟ้าตกไม่เพียงพอที่จะทำให้เกิดปัญหากับหน้าจอ
กระดานมาถึงประมาณ 2 สัปดาห์ต่อมาและขอบคุณที่ใช้งานได้โดยไม่มีปัญหาใดๆ
ขั้นตอนที่ 6: การติดตั้งหน้าจอ
ส่วนแรกที่ทำขึ้นคือตัวยึดหน้าจอ ฉันใช้อะลูมิเนียม 3 มม. สำหรับสิ่งนี้และเจาะรูสำหรับขาตั้ง ขนาดถูกกำหนดโดยการวางทุกอย่างไว้บนโต๊ะเนื่องจากฉันต้องการให้แป้นเหยียบสุดท้ายเป็นและวัดจากรูยึดบน PCB ของหน้าจอ ฉันยังวางสวิตช์เท้ากับพวกเขาเพื่อรับระยะทางสำหรับสิ่งเหล่านั้น
เมื่อเจาะรูทั้งหมดแล้ว ตะแกรงจะถูกติดตั้งและตรวจสอบความเรียบโดยจับไม้บรรทัดที่ขอบด้านล่างแบน ทุกอย่างเรียงกันจนถึงตอนนี้
ขั้นตอนที่ 7: สิ่งที่แนบมา
ถัดมาคือการปรับเปลี่ยนเคส สวิตช์เท้าและไฟ LED นั้นตรงไปตรงมาเพราะแต่ละอันต้องการรูขนาด 12 มม. และ 5 มม. ตามลำดับ
งานหลักส่วนใหญ่เกิดขึ้นเมื่อตัดรูหน้าจอออก ฉันใช้ Dremel กับแผ่นตัดสำหรับงานหนัก และไฟล์ต่างๆ เพื่อทำความสะอาดรูหลังจากนั้น ภาคนี้ใช้เวลาทั้งหมดประมาณ 2 ชั่วโมง
ตู้ที่ฉันใช้ได้รับการออกแบบสำหรับวัตถุประสงค์ทางอุตสาหกรรม และสร้างขึ้นโดยการดัดโลหะชิ้นเดียวและเชื่อมจุดต่างๆ ที่มุม ซึ่งหมายความว่าต้องมีงานบางอย่างในการทำความสะอาดมุมเหล่านี้โดยใช้ฟิลเลอร์ตัวรถเพื่อปรับระดับจุดต่ำและเติมช่องว่างบนขอบ
เมื่อมาถึงจุดนี้ เคสได้รับการลงสีพื้นอย่างสมบูรณ์แล้ว และฉันก็ล้อเลียนทุกอย่างเพื่อดูว่ามันจะออกมาเป็นอย่างไร
ขั้นตอนที่ 8: เอ่อ-โอ้
และแล้วก็มาตระหนักว่า แม้จะมีการวางแผนและการวัดผลทั้งหมดของฉัน แต่ฉันได้ทำผิดพลาดครั้งใหญ่เพียงครั้งเดียว ฉันออกแบบบอร์ดและเลย์เอาต์เคสแยกจากกัน ในหัวของฉัน กระดานจะนั่งชิดผนังด้านบนเกือบชิดกับผนังด้านบน โดยมีการยืนออกสั้นๆ อยู่ข้างหลัง แต่ไม่มีทางเป็นไปได้อย่างแน่นอน และไม่มีที่ว่างให้วางด้านข้างด้วย การกำกับดูแลครั้งใหญ่ แต่โชคดีที่ฉันสามารถแก้ไขได้เนื่องจากยังมีช่องว่างเล็กน้อยระหว่างการติดตั้งหน้าจอบนฝาครอบด้านหลังของเคส มีการเจาะรูอีกสองสามรูบนตัวยึดหน้าจอและการหยุดทำงานสองสามครั้ง และเรากลับมาทำธุรกิจอีกครั้งโดยมีพื้นที่เพียงพอสำหรับใส่ฝาปิด
ขั้นตอนที่ 9: ระบายสี
ทุกอย่างถูกถอดประกอบอีกครั้ง และตัวเรือนถูกทาสีแดงเมทัลลิกแคนดี้ ตามด้วยแล็กเกอร์สองสามชั้น เคสนี้ถูกปล่อยให้รักษาเป็นเวลาหนึ่งสัปดาห์ แม้ว่าฉันจะพบว่าแล็คเกอร์ยังอ่อนอยู่เล็กน้อย ณ จุดนี้เมื่อฉันสร้างทุกอย่างขึ้น พื้นที่เล็กๆ น้อยๆ ของสีได้รับความเสียหายด้วยเหตุนี้ สิ่งที่ฉันตั้งใจจะหลีกเลี่ยงในโครงการต่อไปของฉัน
ในช่วงเวลานี้ ฉันซื้อเครื่องพิมพ์ 3 มิติ และตัดสินใจใช้เครื่องพิมพ์นี้ทำเครื่องซักผ้าสำหรับสวิตช์เท้าเหยียบ เนื่องจากเครื่องพิมพ์ไนลอนที่ฉันซื้อมามีโทนสีเหลืองที่น่าสยดสยองและมีขนาดไม่ดี
ขั้นตอนที่ 10: การเดินสายไฟ
ส่วนสุดท้ายของการประกอบทางกายภาพคือการต่อสายไฟทุกอย่าง อีกครั้ง ปัญหาเกี่ยวกับการออกแบบเคส/การออกแบบ PCB เกิดขึ้นอีกครั้งและตำแหน่งส่วนหัวบางตำแหน่งบน PCB หมายถึงการข้ามสายจำนวนมากเข้าด้วยกัน ทำให้สิ่งต่าง ๆ เลอะเทอะกว่าที่ฉันคาดไว้เล็กน้อย
สายไฟสำหรับฉากกั้นเป็นชุด 4 ชุด และใช้ผ้าหดแบบฮีทซิงค์และผ้าพันแบบถักเป็นชิ้นเดียว
ขั้นตอนที่ 11: รหัส Arduino
ในฐานะที่เป็นผู้เริ่มต้นเขียนโค้ด Arduino ทั้งหมด ฉันกำลังสอนตัวเองตลอดเส้นทาง โค้ดนี้น่าจะเป็นโปรแกรมที่เทียบเท่ากับ "ทางยาว" แต่ฉันดีใจที่มันทำงานตามที่ตั้งใจไว้
looper บน DD500 มี 5 ฟังก์ชั่นพื้นฐาน:
- เปิด/ปิดลูป
- บันทึก/พากย์ทับ/เล่น
- เล่นวนที่บันทึกไว้
- หยุดเล่น
- ล้างลูปที่บันทึกไว้
แต่ละฟังก์ชันเหล่านั้นมีสวิตช์เท้าที่ตรงกัน และ LED แสดงสถานะยกเว้นปุ่มหยุด หน้าจอ LCD ยังอัปเดตด้วยข้อมูลที่เกี่ยวข้องเพื่อแสดงว่าแป้นเหยียบอยู่ในโหมดบันทึก โอเวอร์ดับเบิ้ล หรือเล่นซ้ำ ตลอดจนฟังก์ชันการทำงานของสวิตช์เท้าเหยียบแต่ละตัวขึ้นอยู่กับสิ่งที่เกิดขึ้นในขณะนั้น
คุณสมบัติอื่นที่ฉันเพิ่มเข้าไปคือการติดตามจำนวนครั้งที่เปิดใช้งานคุณสมบัติบันทึก/โอเวอร์ดับ สิ่งนี้ถูกติดตามในโค้ดโดยการเพิ่มจำนวนเต็มซึ่งจะแสดงบนหน้าจอ 'บัฟเฟอร์' โดยระบุจำนวนแทร็กที่บันทึก แม้ว่า DD500 จะลบแต่ละแทร็กไม่ได้ แต่ฉันได้เพิ่มสิ่งนี้เป็นแบบฝึกหัดการเขียนโค้ดเพื่อดูว่าฉันจะทำให้มันทำงานได้หรือไม่
ดูเหมือนจะมีปัญหาในการอัปโหลดไฟล์ไปยัง Instructables ดังนั้นฉันจึงวางสำเนาของโค้ดบน Pastebin แทนที่:https://pastebin.com/XBSXHut2
มีการใช้ห้องสมุด 2 แห่งในรหัส:
LiquidCrystal_I2C
ห้องสมุด MIDI FortySevenEffects
ขั้นตอนที่ 12: บทสรุป
สิ่งหนึ่งที่ยิ่งใหญ่ที่สุดที่ฉันได้จากโครงการนี้คือการวางแผนให้มากที่สุดล่วงหน้าสามารถหลีกเลี่ยงปัญหาที่อาจเกิดขึ้นได้ ปัญหาเกี่ยวกับการติดตั้ง PCB ของฉันเน้นถึงความสำคัญของสิ่งนี้ การจดบันทึกที่ดีเป็นสิ่งที่ผมขอแนะนำเช่นกัน หากไม่มีพวกเขา ฉันอาจพบปัญหามากกว่าที่เคยเป็น ฉันกำลังสร้างตัวควบคุม MIDI ตัวที่สองของฉัน และครั้งนี้ฉันได้พยายามมากขึ้นในการปรับปรุงโค้ดของฉัน และออกแบบฮาร์ดแวร์ของฉันโดยคำนึงถึงวิธีการติดตั้ง PCB
แนะนำ:
สร้าง Arduino MIDI Controller: 5 ขั้นตอน (พร้อมรูปภาพ)
สร้าง Arduino MIDI Controller: สวัสดีทุกคน! ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างคอนโทรลเลอร์ MIDI ที่ขับเคลื่อนด้วย Arduino ของคุณเอง MIDI ย่อมาจาก Musical Instrument Digital Interface และเป็นโปรโตคอลที่ช่วยให้คอมพิวเตอร์ เครื่องดนตรี และฮาร์ดแวร์อื่นๆ สามารถสื่อสาร
การแปลง Foot-Candle Meter สำหรับการถ่ายภาพ: 5 ขั้นตอน (พร้อมรูปภาพ)
การแปลง Foot-Candle Meter สำหรับการถ่ายภาพ: หากคุณชอบงานของฉัน โปรดลงคะแนนให้ Instructable นี้ใน Make It Real Challenge ก่อนวันที่ 4 มิถุนายน 2012 ขอบคุณ! สำหรับบรรดาช่างภาพสมัครเล่นที่ชอบถ่ายฟิล์ม บางครั้งกล้องรุ่นเก่าก็ไม่มีมาตรวัดแสงที่เหมาะสม
MIDI 5V LED Strip Light Controller สำหรับ Spielatron หรือ MIDI Synth อื่นๆ: 7 ขั้นตอน (พร้อมรูปภาพ)
MIDI 5V LED Strip Light Controller สำหรับ Spielatron หรือ MIDI Synth อื่นๆ: คอนโทรลเลอร์นี้กะพริบไฟแถบ LED สามสีเป็นเวลา 50mS ต่อโน้ต สีน้ำเงินสำหรับ G5 ถึง D#6, สีแดงสำหรับ E6 ถึง B6 และสีเขียวสำหรับ C7 ถึง G7 คอนโทรลเลอร์เป็นอุปกรณ์ ALSA MIDI ดังนั้นซอฟต์แวร์ MIDI สามารถส่งออกไปยัง LED ได้ในเวลาเดียวกันกับอุปกรณ์สังเคราะห์ MIDI
Foot Flusher: 8 ขั้นตอน (พร้อมรูปภาพ)
Foot Flusher: นี่เป็นโครงการเล็กๆ ที่เรียบง่ายซึ่งจะช่วยให้คุณตั้งค่าเครื่องล้างเท้าได้ง่ายและรวดเร็ว เครื่องล้างเท้าเป็นคันเหยียบที่ยึดติดกับโถสุขภัณฑ์ใด ๆ จึงช่วยให้ผู้ใช้ล้างห้องน้ำด้วยเท้าของเขาเท่านั้น - อนุญาตให้ล้างแบบแฮนด์ฟรี
Mac OS Foot Switch จากแป้นเหยียบแอมป์กีต้าร์: 12 ขั้นตอน
Mac OS Foot Switch จากกีต้าร์แอมป์ Pedal: ต้องการแป้นเหยียบสำหรับ Mac ของคุณหรือไม่? มีแป้นเหยียบกีต้าร์สองสวิตช์และบอร์ด Arduino อยู่รอบ ๆ หรือไม่? สายไฟสองสามเส้น 1/4" แจ็คและคุณพร้อมแล้ว ฉันต้องทำการถอดเสียงและใช้แป้นเหยียบเพื่อเล่น/หยุดชั่วคราวและข้ามบา