มิดิมูด
สำหรับบทช่วยสอนโดยละเอียด โปรดไปที่:
- การทำเพลงด้วย Arduino: https://go.musiconerd.com/making-music-with-arduino
- Curso Fazendo Música กับ Arduino ในโปรตุเกส: https://go.musiconerd.com/curso-completo
- วิดีโอกระบวนการสร้าง: https://youtu.be/aLhOO-UiMg4
พื้นที่เก็บข้อมูลนี้มีโค้ดสำหรับโปรเจ็กต์ตัวควบคุม MIDI แบบกำหนดเองที่เรียกว่า MidiMood ซึ่งสร้างขึ้นโดยใช้ไมโครคอนโทรลเลอร์ ATmega32U4 (หรือคล้ายกัน) โปรเจ็กต์นี้ออกแบบมาเพื่อจัดการกับโพเทนชิโอมิเตอร์ ปุ่ม และส่วนควบคุมอื่นๆ เพื่อส่งข้อความ MIDI ผ่าน USB, BLE หรือโปรโตคอล MIDI มาตรฐาน
สารบัญ
- ภาพรวม
- คุณสมบัติ
- คำอธิบายไฟล์
- คำแนะนำในการตั้งค่า
- การพึ่งพาอาศัยกัน
- การใช้งาน
- ใบอนุญาต
ภาพรวม
MidiMood คือการใช้งานคอนโทรลเลอร์ MIDI ที่ครอบคลุม ซึ่งรองรับวิธีการป้อนข้อมูลที่หลากหลาย (ปุ่ม โพเทนชิโอมิเตอร์ ตัวเข้ารหัส) และวิธีการส่งออก (USB MIDI, BLE MIDI) คอนโทรลเลอร์ได้รับการออกแบบให้ปรับแต่งได้สูง โดยรองรับแพลตฟอร์มไมโครคอนโทรลเลอร์หลายตัว รวมถึง ATmega32U4, ATmega328 และ Teensy
คุณสมบัติ
- รองรับ USB MIDI : ส่งและรับข้อความ MIDI ผ่าน USB
- รองรับ BLE MIDI : ใช้ Bluetooth Low Energy (BLE) สำหรับการสื่อสาร MIDI ไร้สาย
- การจัดการโพเทนชิออมิเตอร์และปุ่ม : จับอินพุตจากโพเทนชิโอมิเตอร์และปุ่มต่างๆ แล้วแปลงเป็นข้อความ MIDI
- รองรับมัลติเพล็กเซอร์ : ขยายจำนวนอินพุตโดยใช้มัลติเพล็กเซอร์
- การสนับสนุนการดีบัก : การดีบักข้อความสามารถเปิดใช้งานผ่านการสื่อสารแบบอนุกรม
- หลายแพลตฟอร์ม : รองรับไมโครคอนโทรลเลอร์ ATmega32U4, ATmega328 และ Teensy
คำอธิบายไฟล์
- _MidiMood.ino : ร่าง Arduino หลักที่เริ่มต้นคอนโทรลเลอร์ MIDI และรันลูปหลัก
- A_POTENTIOMETERS.ino : ประกอบด้วยตรรกะสำหรับการอ่านค่าโพเทนชิออมิเตอร์และแปลงเป็นข้อความเปลี่ยนการควบคุม MIDI
- B_BUTTONS.ino : จัดการอินพุตของปุ่ม โดยแปลงเป็น MIDI Note On/Off หรือ Control Change ข้อความ
- FUNCTIONS.ino : ฟังก์ชันตัวช่วยที่ใช้ทั่วทั้งโปรเจ็กต์ รวมถึงการจัดการข้อความ MIDI และฟังก์ชันยูทิลิตี้อื่นๆ
- LOOP.ino : ลูปหลักที่โปรแกรมตรวจสอบอินพุตและส่งข้อความ MIDI
- MACKIE.h : กำหนดค่าคงที่สำหรับโปรโตคอล Mackie Control Universal (MCU) ที่ใช้สำหรับการควบคุม DAW
- Z_ATMEGA32U4.ino : รหัสการตั้งค่าเฉพาะไมโครคอนโทรลเลอร์สำหรับบอร์ดที่ใช้ ATmega32U4
- Z_SETUP.ino : รหัสการตั้งค่าทั่วไป การเริ่มต้นพิน และการกำหนดค่าโหมดอินพุต/เอาท์พุต
วัสดุ
- Arduino Pro ไมโคร: https://amzn.to/2Vcz3Nz
- สายไฟ: https://amzn.to/2xugvPF
- ลวดทองแดงเปลือย (อุปกรณ์เสริม) 18-24-gauge: https://amzn.to/2FVuDpe
- 26 โพเทนชิโอมิเตอร์แบบหมุน b10k: https://amzn.to/3ckRKUY
- 26 ลูกบิด
- สเปเซอร์ M3 35 มม.: https://amzn.to/2z15BkN
- สกรู M3: https://amzn.to/2RHtfJw
- มัลติเพล็กเซอร์ CD4067: https://amzn.to/303jJVe
- 11 สวิตช์สลับ: https://amzn.to/3hDmORR
- 1 นำ
- 1 นำการสนับสนุน
- ตัวต้านทาน 1 ตัว 1,000 โอห์ม
คำแนะนำในการตั้งค่า
1. โคลนพื้นที่เก็บข้อมูล
git clone https://github.com/yourusername/midi-controller-project.git
cd midi-controller-project
2. ติดตั้ง Arduino IDE
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Arduino IDE บนคอมพิวเตอร์ของคุณแล้ว คุณสามารถดาวน์โหลดได้จากเว็บไซต์อย่างเป็นทางการ
3. เปิดโครงการ
เปิดไฟล์ _MidiMood.ino
ใน Arduino IDE ไฟล์นี้ทำหน้าที่เป็นจุดเริ่มต้นสู่โครงการ
4. เลือกบอร์ดของคุณ
ใน Arduino IDE ให้เลือกบอร์ดที่เหมาะสมตามไมโครคอนโทรลเลอร์ของคุณ:
- สำหรับบอร์ด ATmega32U4 (เช่น Arduino Leonardo) ให้เลือก Arduino Leonardo
- สำหรับบอร์ด ATmega328 (เช่น Arduino Uno) ให้เลือก Arduino Uno
- สำหรับบอร์ด Teensy ให้เลือกรุ่น Teensy ที่ถูกต้อง
5. อัปโหลดรหัส
เชื่อมต่อไมโครคอนโทรลเลอร์ของคุณกับคอมพิวเตอร์ผ่าน USB และอัปโหลดโค้ดโดยใช้ปุ่ม อัปโหลด ใน Arduino IDE
การพึ่งพาอาศัยกัน
- ResponsiveAnalogRead : ไลบรารีสำหรับการปรับการอ่านแอนะล็อกจากโพเทนชิโอมิเตอร์ให้ราบรื่น
- ไลบรารี MIDI : เพื่อจัดการการสื่อสาร MIDI ผ่าน USB และอนุกรม
- BLE MIDI : สำหรับการสื่อสาร Bluetooth MIDI (หากใช้ BLE)
คุณสามารถติดตั้งไลบรารีเหล่านี้ได้โดยใช้ Arduino Library Manager
การใช้งาน
เมื่ออัปโหลดโค้ดแล้ว ตัวควบคุม MIDI ของคุณจะได้รับการยอมรับจากคอมพิวเตอร์หรืออุปกรณ์เคลื่อนที่ของคุณว่าเป็นอุปกรณ์ MIDI คุณสามารถเริ่มใช้เพื่อส่งข้อความ MIDI ไปยัง DAW หรือซอฟต์แวร์อื่นๆ ที่รองรับ MIDI ได้
การดีบัก
หากคุณต้องการดูข้อความการแก้ไขข้อบกพร่อง ให้เปิดใช้งานการตั้งค่าสถานะ DEBUG
ในโค้ด ซึ่งจะทำให้คุณสามารถตรวจสอบข้อความ MIDI และรายละเอียดอื่นๆ ผ่านทางจอภาพแบบอนุกรมใน Arduino IDE