สารบัญ:

โครงสร้าง LED ที่ควบคุมโดย MIDI: 7 ขั้นตอน
โครงสร้าง LED ที่ควบคุมโดย MIDI: 7 ขั้นตอน

วีดีโอ: โครงสร้าง LED ที่ควบคุมโดย MIDI: 7 ขั้นตอน

วีดีโอ: โครงสร้าง LED ที่ควบคุมโดย MIDI: 7 ขั้นตอน
วีดีโอ: ซ่อมหลอดไฟ LED ลองเก็บหลอดไฟที่เขาทิ้งๆกันมาซ่อมดูว่าจะเป็นยังไง...รู้อย่างนี้เก็บตั้งนาน 2024, พฤศจิกายน
Anonim
Image
Image

ในฐานะผู้รักเสียงเพลงอย่างแท้จริง และเป็นนักเรียนวิทยาศาสตร์อิเล็กทรอนิกส์และวิทยาการคอมพิวเตอร์ ฉันต้องการสร้างอุปกรณ์ MIDI มาโดยตลอด ที่ฉันสามารถใช้สร้างดนตรีอิเล็กทรอนิกส์ได้

หลังจากเข้าร่วมงานแสดงและเทศกาลดนตรีมากมาย ฉันเริ่มสนใจการแสดงแสงสีระหว่างการแสดง

หลังจากการค้นคว้าหลายครั้ง ฉันพบแต่อุปกรณ์ที่ใช้ไมโครโฟนเป็นส่วนใหญ่ และไม่สามารถควบคุมไฟ LED ได้ตามที่คุณต้องการ

การทำความคุ้นเคยกับสัญญาณ DAW และ MIDI มากขึ้นเรื่อยๆ ทำให้ฉันตัดสินใจเริ่มต้นโปรเจ็กต์นี้

ประกอบด้วยโครงสร้าง 3 มิติพร้อมไฟ LED ที่ไม่เกี่ยวข้อง ซึ่งควบคุมโดยสัญญาณ MIDI (ข้อความ NoteOn, NoteOff และ CC)

เพื่อให้นักดนตรีสามารถควบคุมสีและความเข้มของ LED แต่ละดวงได้โดยใช้สัญญาณ MIDI ที่สร้างโดย DAW ใดๆ เท่านั้น

ด้วยแนวคิดนี้ ฉันต้องการยกระดับความคิดสร้างสรรค์ผ่านการแสดงแสงสี และให้ทุกคนสร้างผลงานของตัวเอง เพื่อทำให้การแสดงภาพทุกรูปแบบมีเอกลักษณ์เฉพาะตัว

ขั้นตอนที่ 1: วัสดุ

โดยพื้นฐานแล้ว โครงการนี้ประกอบด้วยสองส่วน: วงจรรับสัญญาณ MIDI และโครงสร้าง LED; และไมโครคอนโทรลเลอร์เพื่อเชื่อมโยงชิ้นส่วนเหล่านั้นและ "แปล" สัญญาณ MIDI ที่มาจาก DAW ไปยังแถบ LED นี่คือรายการวัสดุที่จำเป็นสำหรับแต่ละส่วน

วงจรรับสัญญาณ MIDI:

  • 1 x 6N138 ออปโตคัปเปลอร์
  • 1 x 1N914 ไดโอด
  • 1 x แจ็ค Din 5 พิน (แจ็ค MIDI)
  • ตัวต้านทาน 2 x 220 โอห์ม
  • ตัวต้านทาน 1 x 4.7K โอห์ม
  • แจ็ค USB/MIDI 1 ช่อง

โครงสร้าง LED:

ฉันใช้แถบ LED RGB ตาม LED WS2812B ที่สามารถควบคุมได้ด้วยพอร์ตดิจิทัลเพียงพอร์ตเดียว หากคุณวางแผนที่จะใช้ LED จำนวนมาก คุณอาจต้องคำนึงถึงกระแสไฟสูงสุดที่ต้องการ (LED 1 ดวงกินไฟได้สูงสุด 60mA) หากไมโครคอนโทรลเลอร์ไม่สามารถจัดการค่าสูงสุดนี้ได้ คุณจะต้องใช้แหล่งจ่ายไฟ 5V ตัวอื่นที่สามารถจ่ายกระแสไฟได้เพียงพอ ฉันใช้อะแดปเตอร์ AC/DC 5V - 8A กับอะแดปเตอร์เอาต์พุตเฉพาะและสวิตช์

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

สุดท้าย ฉันใช้ Arduino Uno แบบธรรมดาพร้อมตัวป้องกันสกรูเพื่อสร้างความเชื่อมโยงระหว่างสัญญาณ MIDI กับแถบ LED

ขั้นตอนที่ 2: สร้างวงจรอินพุต MIDI

การสร้างวงจรอินพุต MIDI
การสร้างวงจรอินพุต MIDI
การสร้างวงจรอินพุต MIDI
การสร้างวงจรอินพุต MIDI

หากคุณสนใจว่าโปรโตคอล MIDI คืออะไรและทำงานอย่างไร ฉันขอแนะนำอย่างยิ่งให้คุณตรวจสอบช่อง YouTube Notes และ Volts ซึ่งมีบทแนะนำและโครงการ MIDI Arduino ที่น่าสนใจและสร้างสรรค์มากมาย

ในส่วนนี้ผมจะเน้นที่วงจรอินพุต MIDI เท่านั้น อาจเป็นความคิดที่ดีที่จะสร้างต้นแบบบนโปรโตบอร์ดและตรวจสอบว่าไมโครคอนโทรลเลอร์รับสัญญาณ MIDI ที่มาจาก DAW ได้ดีหรือไม่ก่อนที่จะทำการบัดกรีส่วนประกอบ

วิดีโอสองรายการต่อไปนี้อธิบายวิธีสร้างและทดสอบวงจร:

  • การสร้างวงจร
  • ทดสอบวงจร

สุดท้าย อาจเป็นความคิดที่ดีที่จะตรวจสอบวิดีโอนี้เพื่อทำความเข้าใจข้อความ CC และวิธีที่ไมโครคอนโทรลเลอร์สามารถตีความคลิปอัตโนมัติเพื่อควบคุมความสว่างของ LED เป็นต้น

ขั้นตอนที่ 3: การกำหนดค่า FL Studio (ตัวเลือก)

การกำหนดค่า FL Studio (ตัวเลือก)
การกำหนดค่า FL Studio (ตัวเลือก)
การกำหนดค่า FL Studio (ตัวเลือก)
การกำหนดค่า FL Studio (ตัวเลือก)
การกำหนดค่า FL Studio (ตัวเลือก)
การกำหนดค่า FL Studio (ตัวเลือก)

เนื่องจากฉันรู้สึกสบายใจในการใช้ FL Studio ฉันจะอธิบายวิธีกำหนดค่าอินเทอร์เฟซ MIDI อย่างถูกต้อง แต่ฉันค่อนข้างแน่ใจว่าขั้นตอนนี้ไม่ควรแตกต่างกันอย่างมากหากคุณใช้ Digital Audio Workstation อื่น

ขั้นแรก คุณเพียงแค่ต้องเสียบแจ็ค USB/MIDI เข้ากับคอมพิวเตอร์ของคุณ โดยปกติ อุปกรณ์ดังกล่าวจะมาพร้อมกับเฟิร์มแวร์แบบฝังตัวและถือเป็นอุปกรณ์ MIDI แม้ว่าจะไม่ได้เสียบปลั๊กก็ตาม จากนั้นเปิดหน้าต่าง "การตั้งค่า" (โดยกด F10) หากทุกอย่างทำงานอย่างถูกต้อง คุณจะสังเกตเห็นอุปกรณ์ MIDI เอาต์พุตบางส่วนในส่วนเอาต์พุต เลือกอุปกรณ์ของคุณและตรวจสอบให้แน่ใจว่าเปิดอยู่

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

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

ตอนนี้ เมื่อมีการเล่นโน้ตโดยช่อง MIDI Out ข้อความ "NoteOn" จะถูกส่งผ่านอินเทอร์เฟซ MIDI ในทำนองเดียวกัน ข้อความ "NoteOff" จะถูกส่งไปเมื่อมีการเผยแพร่โน้ต

คุณสมบัติที่น่าสนใจอีกอย่างหนึ่งที่มาพร้อมกับช่อง MIDI Out คือความสามารถในการควบคุมพารามิเตอร์ต่างๆ ด้วยโพเทนชิโอมิเตอร์ โดยคลิกขวาที่หนึ่งในนั้นและเลือก "กำหนดค่า…" คุณสามารถกำหนดให้ส่ง CCMessages (ค่าตั้งแต่ 0 ถึง 127) ที่จะใช้ในการควบคุมความสว่างของ LED: เลือก CC แล้วยอมรับ

โดยปกติ FL Studio พร้อมที่จะส่งข้อมูลไปยังอินเทอร์เฟซ MIDI ของคุณแล้ว! ต่อไปคือการเขียนโค้ดเพื่อแฟลชใน Arduino และปรับให้เข้ากับโครงสร้าง LED ของคุณ

ขั้นตอนที่ 4: เชื่อมต่อ LEDs

การเชื่อมต่อ LEDs
การเชื่อมต่อ LEDs

การเชื่อมต่อแถบ LED นั้นค่อนข้างง่าย เนื่องจากต้องใช้เพียง +5V, GND และ Data อย่างไรก็ตาม เนื่องจากฉันวางแผนที่จะเชื่อมต่อมากกว่า 20 ตัว ฉันจึงตัดสินใจใช้หมุด PWM ของ Arduino หลายตัวและประกาศ Adafruit_NeoPixel หลายตัว (ในตัวเดียวกัน) เพื่อหลีกเลี่ยงความล่าช้าที่ไม่ได้ตั้งใจ

ภาพที่แนบมานี้ยังมีจุดประสงค์เพื่ออธิบายว่าอุปกรณ์อิเล็กทรอนิกส์ทำงานอย่างไร:

  • แถบ LED ใช้พลังงานโดยตรงจากแหล่งจ่ายไฟ
  • สวิตช์เปิดปิดใช้สำหรับจ่ายไฟให้กับ Arduino
  • วงจรอินพุต MIDI นั้นขับเคลื่อนโดย Arduino เมื่อเปิดสวิตช์

ขั้นตอนที่ 5: กำหนดโครงสร้าง 3 มิติ

การกำหนดโครงสร้าง 3 มิติ
การกำหนดโครงสร้าง 3 มิติ
การกำหนดโครงสร้าง 3 มิติ
การกำหนดโครงสร้าง 3 มิติ
การกำหนดโครงสร้าง 3 มิติ
การกำหนดโครงสร้าง 3 มิติ
การกำหนดโครงสร้าง 3 มิติ
การกำหนดโครงสร้าง 3 มิติ

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

แน่นอน คุณมีอิสระที่จะออกแบบโมเดลของคุณเองด้วยรูปทรงที่คุณต้องการ! ฉันจะไม่ให้รายละเอียดเกี่ยวกับกระบวนการสร้างแบบจำลอง แต่คุณจะพบไฟล์ STL หากคุณต้องการออกแบบโครงสร้างนี้

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

หมายเหตุ: หากคุณต้องการออกแบบโครงสร้างดังกล่าว คุณจะต้องใช้ชิ้นหกเหลี่ยม 10 ชิ้น (ประมาณ 3 ชั่วโมงต่อชิ้นโดยใช้เครื่องพิมพ์ขนาดเล็ก PP3DP UP) และชิ้นห้าเหลี่ยม 6 ชิ้น (2 ชั่วโมง)

เมื่อมี LED หนึ่งดวงในแต่ละส่วน คุณจะต้องเชื่อมต่อทุกขั้ว 5V และ GND เข้าด้วยกัน และต่อขั้วอินพุตและเอาต์พุตหลายตัวของ LED แต่ละตัวในแบบที่คุณเชื่อมต่อ

สุดท้าย ฉันใช้ LED อะครีลิคกระจายแสงเพื่อปกปิดแต่ละหน้าและทำให้มันสว่างสม่ำเสมอ

สิ่งที่เหลืออยู่หลังจากนั้นคือรหัสซึ่งเผยให้เห็นว่าไม่ซับซ้อน!

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

รหัส
รหัส

อย่างที่ฉันได้กล่าวไปแล้วในตอนที่แล้ว โค้ดเผยให้เห็นว่าค่อนข้างง่าย!

อันที่จริงแล้ว มันประกอบด้วยในอินสแตนซ์ MIDI เพียงหนึ่งอินสแตนซ์และอินสแตนซ์ Adafruit_NeoPixel หลายรายการ (เท่าที่มีแถบต่างกัน)

โดยพื้นฐานแล้ว เมื่อประกาศแล้ว คลาส MIDI จะทำงานกับ "การขัดจังหวะ" เช่น NoteOn, NoteOff และ CCMessage เมื่อ cicruit อินพุต MIDI ส่งสัญญาณเฉพาะอย่างใดอย่างหนึ่งไปยัง Arduino รูทีนย่อยที่เกี่ยวข้องจะถูกเรียก จากนั้น สิ่งที่โค้ดกำลังทำคือเปิดไฟ LED เฉพาะบนสัญญาณ NoteOn ปิดเครื่องที่สัญญาณที่เกี่ยวข้อง NoteOff และอัปเดตความสว่างของแถบบน CCMessage

นอกจากนี้ ฉันยังกำหนดฟังก์ชันง่ายๆ ที่ช่วยให้สามารถเลือกสีของ LED โดยการอ่านความเร็วที่มาพร้อมกับสัญญาณ NoteOn จากนั้น LED ทุกดวงจะเป็นสีแดง ม่วง น้ำเงิน เทอร์ควอยซ์ เขียว เหลือง ส้ม หรือขาว ขึ้นอยู่กับค่าความเร็วตั้งแต่ 0 ถึง 127

สิ่งสำคัญที่ควรสังเกตคือ คุณจะต้องถอดพิน RX (ที่มาจากวงจรอินพุต MIDI) เมื่ออัปโหลดภาพสเก็ตช์ของคุณเนื่องจากพอร์ตอนุกรม (ใช้ในระหว่างกระบวนการนี้) เชื่อมต่อกับพินนั้น!

ขั้นตอนที่ 7: อะไรตอนนี้

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

แนะนำ: