Daftar Isi:
- Langkah 1: Bahan
- Langkah 2: Desain
- Langkah 3: Konstruksi dan Pengkabelan
- Langkah 4: Pemrograman
- Langkah 5: Pengaturan
Video: Arduino Uno Midi Fighter: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Instruksi ini dibuat untuk memenuhi persyaratan proyek Makecourse di University of South Florida (www.makecourse.com)
Berdasarkan MidiFighter yang populer oleh DJ Techtools, pengontrol Musical Instrument Digital Interface (MIDI) bertenaga Arduino buatan sendiri ini dapat digunakan sebagai perangkat MIDI di semua perangkat lunak Digital Audio Workstation (DAW). Pengontrol MIDI dapat mengirim dan menerima pesan MIDI dari komputer dan dapat digunakan untuk mengontrol secara langsung perangkat lunak mana pun yang digunakan. Selain itu, kontrol pada pengontrol MIDI sepenuhnya dapat disesuaikan -- artinya setiap tombol, penggeser, dan kenop individual dapat dipetakan ke fungsi apa pun dalam DAW. Misalnya, menekan tombol dapat memainkan nada tertentu atau diprogram untuk mengubah tempo proyek audio Anda.
github.com/jdtar/Arduino-Midi-Controller
Langkah 1: Bahan
Di bawah ini adalah daftar bahan dan alat yang digunakan dalam proyek ini.
Arduino Uno
Papan tempat memotong roti
4051/4067 Multiplexer
Kabel jumper
Kawat Ekstra
Potensiometer geser linier 2x 10k ohm
16x Sanwa 24mm tombol
Menyusut panas
Solder Besi
Pisau cukur
4,7 kΩ resistor
Lembaran Akrilik (untuk tutup)
Perumahan untuk tombol dan Arduino
Pencetak 3-D
Pemotong Laser
Langkah 2: Desain
Saya sudah menyediakan rumah untuk pengontrol MIDI saya sebelum memulai proyek, jadi saya membuat sketsa untuk tutupnya untuk memvisualisasikan di mana semuanya harus ditempatkan. Saya tahu saya menginginkan setidaknya 16 tombol dan beberapa potensiometer sebagai fitur, jadi saya mencoba untuk memisahkan komponen secara merata.
Setelah menyusun tata letak tutupnya, saya mengekspor file sebagai PDF 1:1 dan mengirimkannya ke pemotong laser untuk memotong selembar akrilik. Untuk lubang sekrup, saya menandai tempat yang saya inginkan dengan spidol dan melelehkan akrilik dengan filamen panas.
Terlampir adalah PDF 1:1 yang dapat dicetak sebagai 1:1 dan dipotong dengan perkakas listrik jika pemotong laser tidak tersedia.
Langkah 3: Konstruksi dan Pengkabelan
Setelah memotong akrilik, saya menemukan bahwa akrilik itu terlalu tipis untuk menopang semua komponen dengan cukup. Saya kemudian memotong lembaran lain dan merekatkannya bersama-sama yang kebetulan bekerja dengan sempurna.
Pengkabelan komponen membutuhkan beberapa percobaan dan kesalahan tetapi menghasilkan sketsa Fritzing yang terpasang. Saya pertama kali memasang kabel ground dan resistor 4.7kΩ, menyolder dan memanaskan sambungan pada tombol. Memasang dua potensiometer geser membutuhkan lubang leleh untuk sekrup di akrilik. Setelah dua potensiometer disekrup, mereka disambungkan ke pin analog A0 dan A1. Setelah pengkabelan selesai, saya ingat bahwa tidak ada tutup kenop untuk fader saya, jadi daripada membelinya, saya mencetak beberapa tutup kenop menggunakan printer 3-D dengan membuat sketsa di Autodesk Fusion 360 dan mengekspor ke file STL. De
Arduino Uno hanya memiliki 12 pin input digital yang tersedia tetapi 16 tombol harus dihubungkan. Untuk mengimbangi ini, saya memasang Multiplexer 74HC4051 pada papan tempat memotong roti yang menggunakan 4 pin input digital dan memungkinkan banyak sinyal untuk menggunakan saluran bersama yang menghasilkan 8 pin input digital yang tersedia dengan total 16 pin digital yang tersedia untuk digunakan.
Menghubungkan tombol ke pin yang benar hanyalah masalah membuat matriks 4x4 dan menggunakannya dalam kode. Namun bagian yang sulit adalah bahwa multiplexer tertentu yang dibeli memiliki tata letak pin khusus yang dibantu oleh lembar data dan juga saya memiliki tata letak catatan khusus saat memasang tombol yang akhirnya terlihat seperti ini:
MATRIKS CATATAN
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
PIN MATRIX (M = MASUKAN MUX)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Langkah 4: Pemrograman
Setelah perakitan selesai, tinggal memprogram Arduino. Script terlampir ditulis sedemikian rupa sehingga mudah disesuaikan.
Awal skrip menyertakan perpustakaan MIDI.h dan perpustakaan pengontrol yang dipinjam dari blog Notes dan Volts yang keduanya disertakan dalam file zip untuk kode. Dengan menggunakan pustaka pengontrol, objek untuk tombol, potensiometer, dan tombol multipleks dapat dibuat berisi nilai data yang mencakup nomor not, nilai kontrol, kecepatan not, nomor saluran MIDI, dll. Pustaka MIDI.h memungkinkan komunikasi I/O MIDI pada Port serial Arduino yang pada gilirannya mengambil data dari objek pengontrol, mengubahnya menjadi pesan MIDI dan mengirim pesan ke antarmuka midi mana pun yang terhubung.
Bagian pengaturan batal dari skrip menginisialisasi semua saluran sebagai mati dan juga memulai koneksi serial pada 115200 baud, tingkat yang lebih cepat daripada sinyal MIDI yang dipertukarkan.
Loop utama pada dasarnya mengambil larik tombol dan tombol multipleks dan menjalankan loop for yang memeriksa apakah tombol telah ditekan atau dilepaskan dan mengirimkan byte data yang sesuai ke antarmuka midi. Loop potensiometer memeriksa posisi potensiometer dan mengirimkan perubahan tegangan yang sesuai kembali ke antarmuka midi.
Langkah 5: Pengaturan
Setelah skrip dimuat ke Arduino, langkah selanjutnya adalah plug and play. Namun, ada beberapa langkah sebelum dapat digunakan.
Di OSX, Apple memasukkan fitur untuk membuat perangkat midi virtual yang dapat diakses melalui aplikasi Audio Midi Setup di mac. Setelah perangkat baru dibuat, Hairless MIDI dapat digunakan untuk membuat koneksi serial antara Arduino dan perangkat midi virtual baru. Koneksi serial dari Arduino melalui Hairless MIDI beroperasi pada baud rate yang ditentukan di bagian pengaturan batal dari skrip dan harus disetel setara dalam pengaturan preferensi Hairless MIDI.
Untuk tujuan pengujian, saya menggunakan Midi Monitor untuk memeriksa apakah data yang dikirim benar melalui koneksi serial-MIDI. Setelah saya menentukan bahwa semua tombol dikirim melalui data yang benar melalui saluran yang benar, saya mengatur sinyal MIDI untuk merutekan ke Ableton Live 9 sebagai Input MIDI. Di Ableton saya dapat memetakan sampel audio yang diiris ke setiap tombol dan memutar setiap sampel.
Direkomendasikan:
Levitasi Akustik Dengan Arduino Uno Langkah-demi-Langkah (8-langkah): 8 Langkah
Akustik Levitation Dengan Arduino Uno Langkah-demi-Langkah (8-langkah): transduser suara ultrasonik L298N Dc female adapter power supply dengan pin dc laki-laki Arduino UNOBreadboardCara kerjanya: Pertama, Anda mengunggah kode ke Arduino Uno (ini adalah mikrokontroler yang dilengkapi dengan digital dan port analog untuk mengonversi kode (C++)
Arduino-UNO yang Lebih Kuat, Massduino-UNO: 9 Langkah
Arduino-UNO,Massduino-UNO yang Lebih Kuat: Apa itu Massduino?Massduino adalah lini produk baru, yang menggabungkan platform Arduino yang kaya periferal, pengembangan yang nyaman dan cepat, biaya rendah dan keuntungan produksi skala besar yang mudah dibuat. Hampir semua kode Arduino dapat menjadi
Antarmuka Langkah MIDI (versi En Espaol): 12 Langkah
Antarmuka Langkah MIDI (versión En Español): Versi yang dapat diinstruksikan untuk mempelajari lebih lanjut “Simon Says” untuk mengetahui lebih banyak tentang MIDI. Ambos modos operados con los pies! Sebelumnya
Antarmuka Langkah MIDI: 12 Langkah (dengan Gambar)
Antarmuka Langkah MIDI: Versi Spanyol di sini. Dalam instruksi ini kami akan menunjukkan cara membuat antarmuka ringan dan suara yang dapat digunakan untuk memainkan "Simon Says" dan sebagai antarmuka MIDI. Kedua mode akan dimainkan dengan kaki Anda.Latar BelakangProyek ini lahir karena
MIDI 5V LED Strip Light Controller untuk Spielatron atau Synth MIDI Lainnya: 7 Langkah (dengan Gambar)
MIDI 5V LED Strip Light Controller untuk Spielatron atau Synth MIDI Lainnya: Kontroler ini mengedipkan lampu strip LED tiga warna selama 50mS per not. Biru untuk G5 hingga D#6, merah untuk E6 hingga B6 dan hijau untuk C7 hingga G7. Pengontrol adalah perangkat ALSA MIDI sehingga perangkat lunak MIDI dapat menampilkan ke LED pada saat yang sama sebagai perangkat synth MIDI