MidiMood
Untuk tutorial detailnya, kunjungi:
- Membuat Musik dengan Arduino: https://go.musiconerd.com/making-music-with-arduino
- Curso Fazendo Música dengan Arduino dalam Bahasa Português: https://go.musiconerd.com/curso-completo
- Video proses pembuatan: https://youtu.be/aLhOO-UiMg4
Repositori ini berisi kode untuk proyek pengontrol MIDI khusus yang disebut MidiMood, yang dibuat menggunakan mikrokontroler ATmega32U4 (atau serupa). Proyek ini dirancang untuk menangani potensiometer, tombol, dan kontrol lain untuk mengirim pesan MIDI melalui USB, BLE, atau protokol MIDI standar.
Daftar isi
- Ringkasan
- Fitur
- Deskripsi File
- Petunjuk Pengaturan
- Ketergantungan
- Penggunaan
- Lisensi
Ringkasan
MidiMood adalah implementasi pengontrol MIDI komprehensif yang mendukung berbagai metode masukan (tombol, potensiometer, encoder) dan metode keluaran (USB MIDI, BLE MIDI). Pengontrol ini dirancang agar dapat disesuaikan, mendukung berbagai platform mikrokontroler termasuk ATmega32U4, ATmega328, dan Teensy.
Fitur
- Dukungan USB MIDI : Mengirim dan menerima pesan MIDI melalui USB.
- Dukungan BLE MIDI : Gunakan Bluetooth Low Energy (BLE) untuk komunikasi MIDI nirkabel.
- Penanganan Potensiometer dan Tombol : Menangkap input dari potensiometer dan tombol dan mengubahnya menjadi pesan MIDI.
- Dukungan Multiplexer : Memperluas jumlah input menggunakan multiplexer.
- Dukungan Debugging : Pesan debug dapat diaktifkan melalui komunikasi serial.
- Multi-platform : Mendukung mikrokontroler ATmega32U4, ATmega328, dan Teensy.
Deskripsi File
- _MidiMood.ino : Sketsa Arduino utama yang menginisialisasi pengontrol MIDI dan menjalankan loop utama.
- A_POTENTIOMETERS.ino : Berisi logika untuk membaca nilai potensiometer dan mengubahnya menjadi pesan Perubahan Kontrol MIDI.
- B_BUTTONS.ino : Menangani input tombol, mengubahnya menjadi pesan MIDI Note On/Off atau Control Change.
- FUNCTIONS.ino : Fungsi pembantu yang digunakan di seluruh proyek, termasuk menangani pesan MIDI dan fungsi utilitas lainnya.
- LOOP.ino : Loop utama tempat program memeriksa input dan mengirimkan pesan MIDI.
- MACKIE.h : Mendefinisikan konstanta untuk protokol Mackie Control Universal (MCU), yang digunakan untuk mengontrol DAW.
- Z_ATMEGA32U4.ino : Kode pengaturan khusus mikrokontroler untuk papan berbasis ATmega32U4.
- Z_SETUP.ino : Kode pengaturan umum, inisialisasi pin, dan konfigurasi mode input/output.
Bahan
- Arduino Pro Mikro: https://amzn.to/2Vcz3Nz
- Kabel: https://amzn.to/2xugvPF
- Kawat Tembaga Telanjang (opsional) 18-24-gauge: https://amzn.to/2FVuDpe
- 26 Potensiometer putar b10k: https://amzn.to/3ckRKUY
- 26 Tombol
- Spacer M3 35mm: https://amzn.to/2z15BkN
- Sekrup M3: https://amzn.to/2RHtfJw
- Multiplekser CD4067: https://amzn.to/303jJVe
- 11 Sakelar pengalih: https://amzn.to/3hDmORR
- 1 memimpin
- 1 dukungan led
- 1 resistor 1k ohm
Petunjuk Pengaturan
1. Kloning Repositori
git clone https://github.com/yourusername/midi-controller-project.git
cd midi-controller-project
2. Instal Arduino IDE
Pastikan Anda telah menginstal Arduino IDE di komputer Anda. Anda dapat mengunduhnya dari situs resminya.
3. Buka Proyek
Buka file _MidiMood.ino
di Arduino IDE. File ini berfungsi sebagai titik masuk ke proyek.
4. Pilih Papan Anda
Di Arduino IDE, pilih papan yang sesuai berdasarkan mikrokontroler Anda:
- Untuk papan ATmega32U4 (misalnya Arduino Leonardo), pilih Arduino Leonardo .
- Untuk papan ATmega328 (misalnya Arduino Uno), pilih Arduino Uno .
- Untuk papan Teensy, pilih model Teensy yang benar.
5. Unggah Kode
Hubungkan mikrokontroler Anda ke komputer melalui USB dan unggah kode menggunakan tombol Unggah di Arduino IDE.
Ketergantungan
- ResponsiveAnalogRead : Perpustakaan untuk menghaluskan pembacaan analog dari potensiometer.
- Perpustakaan MIDI : Untuk menangani komunikasi MIDI melalui USB dan serial.
- BLE MIDI : Untuk komunikasi Bluetooth MIDI (jika menggunakan BLE).
Anda dapat menginstal perpustakaan ini menggunakan Arduino Library Manager.
Penggunaan
Setelah kode diunggah, pengontrol MIDI Anda akan dikenali oleh komputer atau perangkat seluler Anda sebagai perangkat MIDI. Anda dapat mulai menggunakannya untuk mengirim pesan MIDI ke DAW Anda atau perangkat lunak lain yang kompatibel dengan MIDI.
Men-debug
Jika Anda ingin melihat pesan debug, aktifkan tanda DEBUG
dalam kode. Ini akan memungkinkan Anda untuk memantau pesan MIDI dan detail lainnya melalui monitor serial di Arduino IDE.