MIDify Organ Elektronik: 6 Langkah
MIDify Organ Elektronik: 6 Langkah
Anonim
MIDifikasi Organ Elektronik
MIDifikasi Organ Elektronik

Instruksi ini memandu Anda dalam mengambil organ elektronik tua yang tidak dicintai yang Anda miliki di garasi atau ruang bawah tanah Anda, dan mengubahnya menjadi alat musik modern. Kami tidak akan terlalu banyak membahas detail organ tertentu yang Anda miliki, selain mengatakan bahwa pada dasarnya keyboard musik tipikal adalah seperangkat tombol yang terhubung saat ditekan ke bus umum. Di dunia lama, sirkuit yang cukup besar ada di samping tombol yang menyebabkan output diteruskan ke bus, yang pada gilirannya diperkuat dan diteruskan ke sistem audio. Hari ini keyboard adalah satu set sensor; kami membaca status masing-masing kunci, dan mengirim perubahan ke synthesizer perangkat lunak, yang digerakkan oleh perintah MIDI.

Instruksi mencakup banyak proses yang terlibat, mulai dari mengumpulkan status digital kunci, mengelolanya dengan mikroprosesor Arduino, membangun aliran data MIDI, dan meneruskannya ke komputer (termasuk Raspberry Pi) yang menjalankan synthesizer.

Langkah 1: Keyboard Disarikan

Berikut ini merupakan abstrak organ elektronik, di mana setiap baris adalah satu set kunci atau berhenti atau switch kontrol lainnya. Entri kolom 0 mewakili kunci individual, dan - bus yang terhubung dengan kunci saat ditekan. 61 kunci Great Manual bisa menjadi baris pertama, Swell Manual di baris kedua, Pedal di baris ketiga, dan Stop, dll di baris keempat. Baris sebenarnya berisi 64 elemen karena signifikansi digitalnya sebagai kekuatan 2 di luar 61. Di dalam baris keyboard, tombol mengikuti konvensi musik normal dengan C di sebelah kiri.

Bus 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Bus 1 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Bus 2 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Bus 3 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Setiap bus independen, dan terisolasi secara elektrik dari rekan-rekannya. 8 elemen pertama disorot dalam Bold, dengan 8 blok seperti itu dalam susunan di atas. Langkah selanjutnya merinci Papan Sirkuit Tercetak yang beroperasi pada elemen tebal, dan 7 blok lainnya.

Kunci telah direpresentasikan sebagai 0 di atas. Kita dapat mengambil ini sedikit lebih jauh, dan mengatakan bahwa kunci adalah digital 1 saat ditekan, dan 0 sebaliknya. Dan tuts bisa berupa flat putih musik konvensional atau benda tajam hitam, atau pedal organ, atau stop organ, atau kumpulan sakelar putar yang mungkin memberi kita nada saksofon. Kami hanya menganggap instrumen sebagai satu set sakelar pada satu set bus, dan pada dasarnya aliran digital 0 dan 1.

Langkah 2: Pengkabelan Dari Keyboard

Pengkabelan Dari Keyboard
Pengkabelan Dari Keyboard
Pengkabelan Dari Keyboard
Pengkabelan Dari Keyboard

Untuk membantu memasang kabel pada keyboard, papan Sirkuit Tercetak telah dibuat menggunakan Eagle CAD. Ukurannya sekitar 96mm X 43mm, dan diperlukan 8, membentang di bagian belakang rakitan keyboard organ.

Mari kita lihat Printed Circuit Board (PCB) ini secara detail. Gambar kiri adalah bagian depan PCB tempat komponen dipasang, dan kanan adalah bagian belakang tempat kami menyolder komponen.

Pertama, komponen 2X3 di atas dimaksudkan untuk terhubung ke tombol di atas, dengan dua koneksi atas bus 0 dan 1, pasangan berikutnya 2 dan 3, dan pasangan bawah juga bus 2 dan 3. Ditemukan bahwa PCB Header 2X3 cukup kaku untuk mengakomodasi kabel penghubung untai tunggal dari kunci yang hanya didorong ke header, mirip dengan kabel pelindung Arduino. Kawat pengait yang saya gunakan diambil dari organ aslinya; diameternya 0,75 mm.

Jadi setiap Header 2X3 mengakomodasi kolom tombol yang disorot tebal, atau secara umum satu nada. Papan dengan demikian membutuhkan 8 dari header ini. Gambar berisi salah satu header wanita di kiri atas. Bagian tengah papan diisi dengan 32 dioda (1N4148 atau serupa), masing-masing sesuai dengan salah satu input merah. Polaritas dioda seperti yang ditandai pada papan, dengan katoda (pita hitam) di ujung atas papan. Dioda tunggal diilustrasikan pada posisi 4. Akhirnya, satu header jantan 2X5 mengisi bagian terendah papan. 2 pin atasnya tidak terhubung. Pin 1 terletak di sudut kanan bawah, dan terhubung ke 4 dioda paling kiri, Pin 2 ke dioda 5-8, dan akhirnya 29-32 terhubung ke pin 8. Header dapat dipotong dari bagian DIL yang lebih panjang, seperti yang diilustrasikan pada papan. Pengkabelan antara berbagai komponen dilakukan di dalam PCB itu sendiri, dengan satu-satunya penyolderan yang diperlukan adalah dioda dan header.

8 dari papan lengkap ini dipasang tepat di bawah manual menggunakan lubang pemasangan yang disediakan, membentang dengan nyaman di seluruh organ. Fungsi papan ini adalah untuk mengambil satu blok dari 8 kunci di 4 bus, dan menyajikannya ke header laki-laki yang kabel pita 10 arahnya akan dihubungkan untuk transfer ke tahap berikutnya. Desain papan dapat diunduh dari file zip yang disediakan.

Langkah 3: Mengonsolidasikan Output Keyboard Ke Shift Register

Mengkonsolidasikan Keluaran Keyboard Ke dalam Shift Register
Mengkonsolidasikan Keluaran Keyboard Ke dalam Shift Register

Diperlukan dua PCB lebih lanjut, seperti yang ditampilkan di atas. Mereka dikenal sebagai DIN R5, dan populer di dunia MIDI, meskipun mereka hanya menyediakan fungsi register geser. Pertama di bagian horizontal atas, Anda dapat melihat 4 header jantan 2X5, yang terhubung melalui kabel pita ke pasangan 2X5 pada 8 papan di atas. Kami membutuhkan dua papan DIN untuk mengakomodasi 8 kabel tersebut.

Lebih jauh ke bawah papan adalah chip IC yang membentuk register geser 32-bit, dan akhirnya yang menarik bagi kami adalah 2 header 2X5 lebih lanjut, salah satunya (J2) geng ke papan DIN lebih lanjut (yang kedua kami), dan yang lainnya J1 ke mikroprosesor Arduino atau seperti Arduino kami.

Untuk meringkas, kami memiliki -

  • Hingga 4 bus 64-kunci yang dimasukkan ke dalam
  • 8 papan 32-input, 8-output per bus
  • 64-output ini dimasukkan ke dalam 2 register geser 32-bit
  • mikroprosesor Arduino akan berputar melintasi bus

Langkah 4: Menyatukan Perangkat Keras

Menyatukan Perangkat Keras
Menyatukan Perangkat Keras
Menyatukan Perangkat Keras
Menyatukan Perangkat Keras
Menyatukan Perangkat Keras
Menyatukan Perangkat Keras
Menyatukan Perangkat Keras
Menyatukan Perangkat Keras

Hubungan antara Arduino, dua papan DIN dan kabel pita dari kompleks kunci organ diilustrasikan pada gambar di atas. Perhatikan bahwa J2 DIN kedua dibiarkan kosong.

Konektor menggunakan teknologi IDC (kontak isolasi-perpindahan), dan kabel tidak perlu dilucuti atau dipisahkan. Mereka diterapkan pada kabel dengan alat kompresi yang tersedia di penggemar. Di sebelah kiri ujung kabel yang dikerutkan dapat dirapikan dengan silet; di tengah bagian bawah konektor menyediakan soket perempuan 2X5; dan di sebelah kanan tampak atas konektor.

Papan DIN dan papan PCB khusus dipasang pada kayu organ menggunakan sekrup kayu kuningan dan spacer kepala bulat. Tampilan bagian dari papan PCB khusus yang dipasang di organ digambarkan di atas. Kabel kawat hookup atas menghubungkan stop atau kontrol ke papan, dan massa di sebelah kiri berasal dari pedal. Akhirnya, penghapusan generator nada dan berbagai fungsi lain dari organ asli telah memungkinkan kekosongan kabinet untuk digunakan kembali untuk penyimpanan anggur.

Langkah 5: Kompleks Arduino

Kompleks Arduino
Kompleks Arduino
Kompleks Arduino
Kompleks Arduino
Kompleks Arduino
Kompleks Arduino
Kompleks Arduino
Kompleks Arduino

Kompleks Arduino yang terlihat di sebelah kiri dari dua papan DIN di atas sekarang akan dibahas. Ini terdiri dari tiga lapisan yang berbeda, saling berhubungan sebagai perisai Arduino. PCB yang terdiri dari lapisan-lapisan itu secara kebetulan berwarna Biru, Hijau dan Merah.

Lapisan Biru (di atas) adalah pelindung yang diproduksi oleh Freetronics, yang menyediakan tampilan karakter kristal cair 16X2. (2 baris 16 karakter). Ini tidak sepenuhnya penting, tetapi sangat berguna dalam memeriksa pengoperasian keyboard, pedal, dan stop. Itu didorong oleh perpustakaan LiquidCrystal, dan varian perangkat keras lainnya dapat dengan mudah diganti.

Lapisan Merah (di bagian bawah) adalah Teensy 3.2 yang dipasang pada papan Sparkfun Teensyduino. The Teensy menawarkan dukungan MIDI langsung, dan sebaliknya berperilaku sebagai Arduino UNO. Jadi menggunakan Teensy menghemat komponen di hilir. Sambungan catu daya (5V 2A) ada di kiri bawah, dan konektor USB yang mendukung output serial atau MIDI di kiri tengah. Header di tepi atas dan bawah menyediakan fungsionalitas pelindung Arduino standar.

Lapisan Hijau (terjepit di antara Biru dan Merah) adalah papan PCB khusus. Tujuannya secara luas untuk mendukung potongan-potongan seperti tautan ke papan DIN, dan untuk memotong kabel eksternal. Beberapa fungsinya berlebihan. Ini mencakup beberapa sirkuit untuk mendukung MIDI melalui Arduino UNO standar. Ini juga menyediakan header laki-laki 2X5 untuk koneksi kabel pita ke header J1 pada papan DIN pertama. Fungsionalitas lainnya termasuk dukungan Kontrol Volume; Organ asli menggunakan potensiometer 10K (pot) yang digerakkan oleh Foot Shoe.

Empat header horizontal menyediakan konektivitas pelindung Arduino standar ke papan Teensy di bawah dan layar Liquid Crystal. Jejak yang menyerupai stasiun bus di sudut kiri bawah adalah sisa, dan tajuk vertikal panjang di kiri menyediakan konektivitas ke empat bus, kontrol volume, dan ground.

Papan kustom dikembangkan menggunakan Eagle CAD, dan file zip kompleks Gerber yang dikirim ke perakit PCB tersedia dalam file zip PCB2.

Langkah 6: Perangkat Lunak Arduino

Perangkat lunak ini awalnya dikembangkan untuk Arduino UNO, dan kemudian diubah dengan sedikit perubahan untuk menggunakan Teensy. Penggunaan pin tidak berubah.

Layar Liquid Crystal menggunakan setengah lusin pin, dan diputuskan untuk menggunakan pin Analog dalam mode digital untuk mendapatkan blok pin yang berdekatan untuk bus. Kontrol Volume menggunakan pin Analog lain dalam mode Analog.

Sebagian besar perangkat lunak berkaitan dengan membaca keyboard individual, pedal, dan tombol berhenti dengan mengaktifkan setiap bus secara bergantian, dan menggerakkan nilai bit keluar dari register geser yang disediakan oleh papan DIN.

Lingkungan hilir biasanya akan mencakup prosesor yang menjalankan Windows, atau UNIX, atau Linux, dan Synthesizer Perangkat Lunak seperti FluidSynth, yang mungkin dikelola oleh jOrgan. FluidSynth pada akhirnya digerakkan oleh satu atau lebih Soundfont, yang menentukan suara apa yang dihasilkan ketika perintah MIDI tertentu diterima. Ada beberapa analogi dengan font Word Processing. Untuk keyboard dan pedal, perubahan dari pemindaian sebelumnya akan menghasilkan urutan MIDI Note On atau Note Off. Tombol paling kiri adalah MIDI 36, dan bertambah di seluruh keyboard. Indeks bus akan dengan mudah menyediakan ruang lingkup untuk nomor saluran MIDI. Untuk tombol stop, urutan kontrol program MIDI dihasilkan, atau mungkin masuk akal untuk menghasilkan Note On/Off dan menyerahkannya ke jOrgan atau perangkat lunak hilir MIDI serupa untuk menafsirkan, menyesuaikan, dan memperluas. Apapun jalan yang diambil, keputusan akhir ditentukan oleh definisi Soundfont hilir. Perangkat lunak ini telah digunakan dalam berbagai samaran untuk menghasilkan MIDI melalui USB ke Windows yang mengoperasikan aplikasi Wurlitzer dan FluidSynth, dan ke Raspberry Pi yang menjalankan FluidSynth dan General MIDI Soundfont. Deskripsi ini memang samar, tetapi siapa pun yang akrab dengan lingkungan Arduino atau C tidak akan kesulitan mengubahnya untuk tujuan mereka sendiri; ada dokumentasi internal yang wajar, dan modularitas yang wajar.

Perangkat lunak Arduino terkandung dalam organino.zip.