» Alat muzik »Kravox synthesizer spatial pada Arduino

Kravox synthesizer spatial pada Arduino



Sarjana mencipta Kravox semasa projek penyelidikan di Lund University (Sweden), yang tujuannya adalah untuk memberikan pengawal alat muzik digital yang merasakan instrumen mekanikal tradisional. Kini tuan mahu menjadikan Kravox dapat diakses oleh semua orang sebagai platform muzik untuk percubaan. Ia adalah untuk ini yang dia buat taklimat terperinci ini, yang akan membolehkan ramai orang yang mungkin menggunakan alat muzik baru yang menarik ini.

Bermain Kravox cukup mudah. Bayangkan bahawa anda bermain dengan objek biasa, seperti penyapu, dan cara anda menyentuhnya dan menggerakkannya dalam ruang mengawal bagaimana bunyi dihasilkan. Anda boleh menonton dan mendengar cara bermain Kravox, serta proses membuat instrumen, di akhir artikel dalam video.

Alat dan bahan:
- papan roti 50 * 24 lubang -1 pcs;
-40-pin lelaki penyambung -5 pcs;
Plug-40-pin - 5 pcs;
- Potentiometers 10 kOhm dan pemegangnya - 5 pcs;
-Blue 5 mm standard LED - 3 pcs;
- Resistor 150 Ohms - 3 pcs;
- Kapasitor 10 uF - 2 pcs;
- Kapasitor 100 nF - 2 pcs;
-Radio modul NRF24L01 - 2 pcs;
-Arduino nano -2 pcs;
-Resistors 220 Ohm -3 pcs;
- Lembaga sensor sensor MPR121 - 2 pcs;
- Gyro digital GY-521 MPU 6050 - 1 pc;
- USB-A ke kabel USB-C;
-4 meter (minimum) tembaga pita 1 cm lebar;
-Powerbank;
-7 meter (minimum) wayar warna yang berbeza;
-0.2 meter, tiub shrink haba ø = 3 mm;
- Aksesori pematerian;
-Multimeter;
-Rule;
-Knife;
-Nozhovka;
- Tang;
-Carton;
-Glue gun;
-Tape;
-Glue;
-Gas gula;
-Clips;




Langkah Pertama: Teori
Kravox adalah instrumen muzik digital jalur lebar terbuka yang terdiri daripada tiga komponen - pengawal / pengawal, penerima, dan perisian.

Anda boleh menyambung sehingga tiga pengawal wayarles. Setiap pengawal memproses data orientasi dan percepatan dari gyroscope digital MPU-6050 dan menyentuh data dari dua papan sensor sensor MPR121 yang disambungkan ke Arduino Nano. Pengawal menghantar data kepada penerima menggunakan pemancar radio nRF24L01. Jika perlu menggunakan lebih daripada satu pengawal, pengawal kedua dan ketiga mesti diberikan alamat individu.

Penerima menghantar data yang diterima dari pengawal ke komputer bersambung bersama data yang dikumpulkan dari beberapa potensiometer.Kod penerima yang diberikan membolehkan anda menubuhkan komunikasi dengan tiga pengawal, tetapi ia juga akan berfungsi dengan hanya satu atau dua tanpa tetapan.

Data dari penerima diproses dalam program yang ditulis dalam bunyi output.
Keindahan Kravox adalah bentuknya, bagaimana ia berbunyi dan bagaimana memainkannya, boleh diselaraskan. Ini memberikan wizard peluang untuk membangun versi Kravox yang mudah untuk menyalin untuk pelajaran ini.


Langkah kedua: buat papan pengawal
Seterusnya, penyihir menerangkan bagaimana untuk melakukannya elektronik pengawal langkah demi langkah dari butiran di atas.
Jika anda tidak pasti di mana untuk menyeberang kabel, anda sentiasa boleh kembali ke gambarajah litar dan semak sama ada komponen disambung dengan betul.


Langkah pertama ialah memotong papan roti dan penyambung dan memasangnya bersama-sama dengan kapasitor kecil dan besar, yang membantu meningkatkan kebolehpercayaan pemancar radio.

Potong papan dengan pisau utiliti
Potong penyambung dengan gergaji besi (tuan meletakkan mereka di dalam buku untuk menyelaraskannya dari meja)
Pasang penyambung pada papan roti dan solder. Anda sudah boleh menyambung setiap pasangan kenalan dua
penyambung lama yang bersebelahan antara satu sama lain. Untuk selebihnya, cukup untuk melampirkannya dengan solder kecil - sebaiknya kenalan yang, mengikut rajah litar, tidak akan disambung kemudian. Apabila kapasitor pematerian, perhatikan polaritas kapasitor elektrolitik daripada 10 mikrofarad (yang lebih besar daripada dua). Satu pihak akan mempunyai jalur dan, sebagai peraturan, kaki yang lebih pendek. Bahagian ini mesti disambungkan ke tanah. Kapasitor nanofarad 100 yang lebih kecil tidak terpolarisasi dan boleh dipateri dalam apa cara sekalipun.





Selanjutnya, perintang LED disalurkan. Beri perhatian kepada polariti LED: satu sisi biasanya mempunyai kaki yang lebih pendek. Bahagian ini harus disambungkan ke tanah dalam langkah seterusnya. Kawat biru disebarkan ke kaki lain. Hujung wayar yang lain disambungkan ke penyambung yang mana Arduino pin D3 akan disambungkan.


Seterusnya, semua kabel kuasa merah dan biru dipasang. Merah untuk 3.3 Volt dan biru untuk tanah (GND).


Tiga papan sensor berkomunikasi melalui protokol I2C (litar bersepadu). Ini bermakna mereka semua boleh dihubungkan dengan dua pin Arduino yang sama, jadi kami menyalurkan wayar kuning dan hijau ke sensor dan Arduino A4 dan A5 pin. Anda juga perlu memasang kabel putih untuk menyambungkan kenalan interrupt gyro.


Pemancar radio berkomunikasi melalui protokol SPI (bersiri
antara muka persisian), yang memerlukan lebih banyak sambungan daripada I2C, penyihir menambah wayar hitam, kelabu, coklat, ungu dan oren.


Kini sudah tiba masanya untuk menyediakan komponen. Selain pematerian penyambung pin, jika tidak
dipateri, anda perlu memberi perhatian khusus kepada papan sensor! Untuk model murah dari China, pin alamat teguh didasarkan tanpa perintang perantaraan, jadi anda perlu memotong secara fizikal sambungan ini di bahagian bawah papan dengan pisau. Potong antara dua pad berhampiran tempat di mana ADD ditulis. Penyihir mengesyorkan berdering dengan multimeter untuk memastikan bahawa kenalan tidak disambungkan.


Apabila semua bahagian telah disambungkan penyambung dan papan sensor disediakan, anda boleh menyambung Arduino Nano, gyroscope, dua papan sensor, dan modul radio ke papan pengawal.


Langkah Ketiga: Kod muat turun
Selepas pemeriksaan berganda, jika semuanya disambungkan dengan betul, langkah seterusnya adalah untuk memuatkan Arduino nano yang disediakan, tetapi sebelum anda boleh melakukan ini, anda perlu memasang perpustakaan untuk giroskop, papan sensor sensor dan pemancar radio. Jika anda baru ke perpustakaan Arduino, pelajari cara memasangnya.
Gelombang MPU6050 memerlukan perpustakaan I2Cdev.h dan MPU6050_6Axis_MotionApps20.h, yang boleh dimuat turun.
Untuk papan sentuh MPR121, perpustakaan Bare Conductive MPR121.h diperlukan, yang boleh didapati Terdapat sekurang-kurangnya dua versi perpustakaan. Pastikan anda memasang versi yang dibangunkan oleh Bare Conductive, bukan versi yang dibangunkan oleh Adafruit.
Lembaga pemancar radio NRF24L01 memerlukan pustaka nRF24L01.h dan RF24.h TMRh20, yang boleh dimuat turun. Sila ambil perhatian: terdapat juga sekurang-kurangnya dua versi perpustakaan ini dengan nama yang sama. Pastikan untuk memasang TMRh20 yang telah dibangunkan, bukannya manikbak.
Sebaik sahaja pustaka dipasang, anda boleh memuat turun kod Kravox-Controller.

Untuk memeriksa sama ada pengawal berfungsi, anda boleh mendayakannya untuk mengeluarkan data dari sensor sentuhan dan giroskop melalui monitor bersiri. Untuk melakukan ini, anda mesti mengedit bahagian terakhir kod penerima sebelum memuat turun: dengan membuang tanda komen pada awal (/ *) dan pada akhir (* /) itu (lihat. Foto)

Selepas memuat turun kod dengan pilihan ini, anda perlu membuka Monitor Serial dan tetapkan kelajuan penghantaran (kadar data) untuk itu ke 115200. Sekarang anda boleh melihat data dari sensor, yang berubah apabila papan pengawal dipindahkan dan kenalan disentuh, dari papan MPR121 yang ditandakan dari 0 hingga 11.

Sekiranya tiada kerja atau hanya nol yang diperoleh, anda perlu menyemak dengan teliti pendawaian dan bandingkan dengan gambarajah di atas. Jika anda menerima isyarat yang salah dari Monitor Serial, anda perlu menyemak sama ada kadar pemindahan data ditetapkan dengan betul.


Langkah Empat: Kuasa Lembaga

Untuk kuasa, anda perlu menyambungkan papan pengawal ke bank.
Jika bank tidak dimatikan secara automatik selepas beberapa ketika, papan pengawal selesai, dan anda boleh pergi ke papan penerima. Jika tidak, ikuti langkah seterusnya.

Langkah Lima: Menyelesaikan Masalah Kuasa
Pada prinsipnya, papan pengawal sudah siap, tetapi sesetengah bank akan secara automatik dimatikan selepas beberapa saat apabila disambungkan ke papan pengawal, kerana ia menggunakan sedikit kuasa. Sebagai penyelesaian, anda boleh menambah tiga 220 Ohm resistor selari antara pin 5V dan GND Arduino.


Selepas menyambung semula komponen, (pasti) papan pengawal siap kelihatan seperti ini.


Langkah Enam: Buat Papan Penerima
Dalam langkah ini, wizard akan menunjukkan kepada anda cara membuat papan penerima. Proses ini sangat serupa dengan membuat papan pengawal.


Pertama anda perlu memotong papan roti dan penyambung. Kemudian pasangkan kapasitor. Anda boleh membandingkan langkah ini dengan langkah pertama untuk membuat papan pengawal untuk maklumat lanjut.


Seterusnya anda perlu menambah semua wayar merah dan biru. Merah untuk 3.3 Volt dan biru untuk tanah (GND).


Pendawaian untuk komunikasi SPI.


Lembaga penerima sedia, tetapi sebelum anda memuat naik kod Kravox-Receiver ke Arduino Nano, anda mesti membuat antarmuka untuk penerima.


Kemudian penyihir menunjukkan cara membuat antarmuka dengan 4 potensiometer dan LED untuk penerima. Antara muka disambungkan, seperti pada angka pertama, dan akan disambungkan ke papan penerima, seperti yang dilihat pada angka kedua.


Prosedurnya adalah seperti berikut, pertama anda perlu mengambil satu bundle 8 kabel dan solder 5 dari mereka ke kenalan tengah dari potensiometer. Adalah dinasihatkan untuk menggunakan warna yang sama seperti rajah supaya tidak dapat dikelirukan.

Kemudian, anda perlu memotong 2 baris roti dari 17 lubang dan penyambung lelaki 17 pin. Pasang kabel dan penyambung ke papan. Perhatikan rajah di atas untuk memastikan bahawa anda menyambungkan kabel di tempat yang betul.


Sekarang anda perlu untuk memasang kabel biru solder (tanah) ke salah satu kenalan semua potensiometer. Solder LED biru dengan penghalang mengehadkan semasa sebanyak 150 Ohms.

Kabel solder hijau.

Antara muka yang siap harus kelihatan seperti ini (foto 1) dan boleh disambungkan ke papan penerima seperti ini (foto 2).

Langkah ketujuh: kod
Kini boleh dimuat turun ke penerima Arduino Nano.
Untuk memeriksa, anda perlu membuat pelarasan kecil ke kod tersebut sebelum memuat turun. Secara lalai, penerima memaparkan data dalam format yang boleh ditafsirkan sebagai data tulen, tetapi tidak memaparkan maklumat berguna pada monitor bersiri. Walau bagaimanapun, anda boleh menukar tingkah laku ini dalam kod anda dengan mengedit (tambah // sebelum) garis #define WRITE_AS_BYTES dan (mengeluarkan // sebelum) baris // #define PRINT_VIA_SERIAL_MONITOR.


Langkah Lapan: Kes
Lebih jauh dari jalur tembaga, tuan membuat sensor.


Untuk membuat kes itu, tuan menggunakan kotak kosong.

Tuan menarik kadbod. Memotong 24 tembaga tembaga dan mengikat pada kadbod.



Selanjutnya, master memotong kadbod 2 * 24 lubang lebar dan penyambung lelaki 24 pin untuk saiz dan solder 24 wayar kepadanya. Kawat di tengah perlu sekurang-kurangnya 10 cm panjang. Apabila anda bergerak dari pusat, panjang wayar meningkat. Contohnya, jika anda menggunakan pita tembaga 1 cm lebar dan jarak antara elektrod 3 mm, panjang dawai akan meningkat sebanyak 1.3 cm, seperti ditunjukkan di bawah: 10 / 11.3 / 12.6 / 13.9 / 15.2 ...

Kini anda boleh menyambung hujung kedua wayar ke jalur tembaga dan meterai jalur dengan pita.



Memadamkan sensor ke dalam badan, dan kemudian melekatkan badan lain kepadanya (untuk pengesahan).


Meliputi bahagian belakang papan pengawal dengan kadbod.

Pasang LED dan kuasa bank. Anda perlu mengatur bank kuasa supaya anda boleh menyambung dan memutuskan sambungan kabel USB, kerana ini adalah bagaimana pengawal menghidupkan dan mematikannya. Juga sambungkan antara muka sentuhan ke papan pengawal dan masukkannya ke dalam kotak.

Membuat luka untuk kabel USB-A-USB-C di persimpangan dua kotak, memegangnya dan menyambungkannya ke Arduino Nano.

Kini pengawal sudah bersedia.

Tuan membaiki kes itu dengan bantuan alat tulis alat tulis. Jika kemudiannya terdapat masalah dengan sensor yang mengenali sentuhan apabila mereka tidak berada di sana, anda perlu meletakkan bahan penebat, seperti filem, atau sejenis antara perumahan sensitif sentuhan, papan litar dan wayar. Sambungkan kuasa tanpa menyentuh penderia.


Langkah Sembilan: Mewujudkan Kes Penerima
Kini anda perlu membuat perumahan bagi penerima. Penyihir memotong beberapa lubang bulat untuk potensiometer dan LED.


Ia melekatkan papan penerima, LED, potensiometer skru. Menetapkan pemegang.




Langkah Sepuluh: Lengkap
Sekarang bahawa semua peralatan dipasang, sudah tiba masanya untuk memainkan muzik! Untuk melakukan ini, anda memerlukan perisian yang boleh anda sambungkan peralatan. Untuk Kravox, ini adalah perisian Pure Data Vanilla, yang boleh anda muat turun secara percuma.

Selepas memasang Data Tulen pada komputer, anda perlu menjalankannya dan buka fail Kravox.pd. Sila ambil perhatian bahawa ia mesti disimpan di komputer anda dalam folder yang sama dengan folder drumsamples yang dibekalkan - jika Data Tulen tidak akan dapat mencari fail.
Sebaik sahaja antara muka program Kravox.pd dibuka, anda perlu membuka tetingkap seperti dalam foto dan memasang empat peranti luaran yang disebut di dalam tetingkap ini. Memasangnya adalah mudah, hanya klik "bantuan" dalam menu "Data Bersih", pilih "Mencari objek tambahan di internet" (mungkin sedikit berbeza). Cari "comport", "zexy", "freeverb" dan "arraysize". "satu demi satu dan pasang versi terkini Sekarang empat objek yang ditandakan sebagai comport, repack, freeverb dan arraysize harus mempunyai garis besar pepejal, seperti dalam gambar di bawah. Anda mungkin perlu memulakan semula Data Tulen untuk ini.

Selepas memasang peranti luaran, anda boleh menyambungkan penerima melalui USB. Jika anda mengubah kod di Bahagian 4 untuk menggunakan Penerima dengan Monitor Serial Arduino, anda mesti terlebih dahulu membatalkan perubahan ini dan memuatkan kod sumber ke penerima Arduino Nano sebelum menyambung dan menutup Monitor Serial Arduino.

Sekarang lihat pada tetingkap Data Tulen. Jika anda melihat aliran data yang dikemas kini dengan cepat, ini bagus, tetapi kemungkinan besar ia akan menunjukkan kepada anda mesej merah, seperti yang ada pada imej pertama, yang dikemas kini setiap dua saat.

Teks merah mungkin sedikit berbeza, tetapi tetap bermakna, Data Tulisan belum dapat disambungkan ke penerima anda. Ini kerana program itu perlu menentukan port USB mana yang hendak disambungkan. Port USB boleh dilabelkan secara berbeza pada peranti yang berlainan, pada MacBook Pro 2014, Data Tulen mengiktiraf kedua-dua port USB sebagai port bersiri 3, tanpa mengira penerima yang mana anda menyambungkan. Kemudian penyihir menggunakan Kravox dengan Lenovo Yoga Pad dengan hanya satu port USB berfungsi, yang ditetapkan sebagai port siri 6. Pada Windows, pelabuhan ditetapkan sebagai 8 dan 9. Wizard menyarankan hanya untuk mencari nombor mana port USB berfungsi pada peranti anda . Dia membuat dialog sebagai sebahagian daripada antara muka Kravox.pd (foto kedua), di mana anda boleh klik pada nombor sehingga peranti berfungsi. Anda juga boleh mencuba "Tunjukkan port yang tersedia" dan butang "Tunjukkan peranti USB yang disambungkan".
Kravox synthesizer spatial pada Arduino


Kemudian anda perlu mengklik "Simpan" agar Data Tulen akan cuba menyambung ke port ini pada kali seterusnya secara automatik.
Sekiranya kod pengawal diedit, maka anda perlu memuat semula kod tersebut.

Ia kekal untuk menyambungkan papan pengawal ke bekalan kuasa. Apabila anda melakukan ini, kepungan antara muka sentuhan di sekeliling papan hendaklah ditutup, dan bahagian sentuhan kepungan tidak boleh menyentuh tangan anda atau apa-apa lagi.

Segala-galanya siap, maklumat tambahan boleh dilihat pada video.


5.5
5.5
5.5

Tambah komen

    • senyumtersenyumxaxaokdontknowyahoonea
      bosawalbodohyaya-yaagresifrahsia
      maaftariandance2dance3pengampunanmembantuminuman
      berhentikawan-kawanbaikgoodgoodwiseltolaklidah
      asapbertepuk tangancraymengisytiharkanderisivejangan dengarmuat turun
      panasberalunketawa1mdamesyuaratmoskingnegatif
      not_ipopcornmenghukumbacamenakutkanmenakutkancarian
      mengejekterima kasihinito_clueumnikakutbersetuju
      burukbeeeblack_eyeblum3memerahbermegahkebosanan
      ditapiskesenanganrahsia2mengancamkemenanganyusun_bespectacled
      shokrespektloldiingatiselamat datangkrutoyya_za
      ya_dobryipembantune_huliganne_othodifludlarangantutup

Kami menasihati anda untuk membaca:

Bawa ia untuk telefon pintar ...