Saya mencoba membuat keyboard yang peka terhadap kecepatan untuk memutar musik.
Saya harus mengukur posisi masing-masing tombol untuk mengetahui seberapa keras suara itu seharusnya.
Volume suara adalah fungsi dari kecepatan tombol di ujung keturunan. Saya tahu posisi dapat dipulihkan dari kecepatan dengan mengintegrasikannya.
Apa yang akan menjadi yang termurah dan termudah, namun masih cukup tepat untuk melakukannya?
Saya tidak tahu persis apa artinya "cukup tepat" dalam konteksnya. Saya harus mengujinya.
Panjang perpindahan maksimum sekitar 2 cm.
EDIT: tidak seperti beberapa jawaban tampaknya menyarankan, kenyaringan BUKAN fungsi dari kecepatan rata-rata kunci.
EDIT2: kenyaringan adalah fungsi dari kecepatan palu pada saat menyentuh senar, tetapi kunci tidak mendorong palu sampai akhir jalurnya. Ini benar-benar seperti melempar bola ke dinding: bola meninggalkan tangan pada satu saat, sebelum menyentuh dinding.
Jawaban:
Bagaimana dengan penginderaan kapasitif? Rekatkan beberapa aluminium foil ke bagian bawah tombol, tanah bagian bawah keyboard, dan mengukur waktu naik melalui resistor 100k.
Metode ini dapat dibuat hampir tepat secara sewenang-wenang, asalkan prosesor Anda cukup cepat untuk membedakan perubahan kapasitansi.
Saya tidak menjelaskan rangkaian dengan sangat baik. Anda menyambungkan output digital ke kunci melalui resistor bernilai tinggi, tetapkan rendah untuk melepaskan muatan liar, dan kemudian setel tinggi. Anda juga menghubungkan input digital langsung ke tombol. Kapasitansi secara perlahan akan mengisi melalui resistor, dan Anda menghitung berapa lama waktu yang dibutuhkan sebelum input digital menyala. Waktu ini sama dengan konstanta waktu RC dari rangkaian.
sumber
analogRead
di Arduino. [1]: pjrc.com/teensy/teensyLC.htmlKebanyakan keyboard hanya menggunakan dua kontak per kunci, yang dikonfigurasikan sehingga mereka menutup (atau membuka) pada posisi yang berbeda dalam perjalanan kunci. Mereka memperkirakan kecepatan dari waktu yang berlalu antara dua peristiwa. Bahkan keyboard "aksi piano" berbobot mewah menggunakan metode penginderaan dasar ini.
Mencoba mengukur posisi dan / atau kecepatan secara langsung terdengar seperti pembunuhan besar-besaran.
sumber
Biasanya kecepatan kunci dihitung dengan mengukur waktu antara putus sakelar normal-tertutup dan pembuatan sakelar terbuka normal.
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Gambar 1. Kontak keyboard break-before-make biasanya digunakan untuk pengukuran kecepatan.
Dalam hal ini Anda perlu mengatur kontak yang biasanya tertutup secara mekanis sehingga rusak dalam beberapa mm perjalanan terakhir.
mensimulasikan rangkaian ini
Gambar 2. Pengaturan switching mekanis.
Menurut saya, taruhan terbaik Anda adalah memodifikasi pedalboard bass MIDI yang ada untuk memenuhi keperluan Anda.
Komentar OP untuk Dave Tweed:
Itulah sebabnya saya mengusulkan untuk mengaktifkan sakelar changeover dalam beberapa mm perjalanan terakhir.
sumber
Anda harus melihat pada keyboard analog. Lihatlah video ini . Ini hanyalah contoh konsep.
Sunting: Juga, jika sakelar optik tidak berfungsi untuk Anda, lihat ini:
Ada gulungan dicetak PCB di bawah setiap tutup tombol. Saat Anda menekan koil tombol mengukur perubahan induktansi yang disebabkan oleh penekanan pegas kunci dan dekompresi, oleh karena itu, Anda bisa mendapatkan pembacaan posisi saklar yang cukup akurat.
Sumber:
Reddit
Imgur
sumber
Jika variabel penting adalah dampak "palu" yang Anda coba tiru, pertimbangkan sensor piezo yang memungkinkan Anda untuk mengukur ini secara langsung. Mereka menghasilkan pulsa yang amplitudo tergantung pada impuls impak.
sumber
Salah satu pilihan bisa sensor Hall, yang merasakan kekuatan medan magnet. Ada berbagai jenis sensor Hall untuk penginderaan digital dan analog, Anda memerlukan yang memiliki analog. Misalnya SI7211 harganya sekitar 0,80 USD.
Anda juga membutuhkan magnet kecil di bawah setiap tombol. Ketika magnet semakin dekat ke sensor, medan magnet meningkat yang meningkatkan tegangan output sensor.
sumber
Anda dapat memperlakukan ini sebagai instrumen digital / analog hibrida dengan menempatkan mikrofon [1] di dalam keyboard, disesuaikan dengan suara pukul tombol. Sinyal dari mikrofon menambah input berbasis switch tradisional, sehingga switch memberi tahu Anda tombol mana yang ditekan, dan mikrofon memberi tahu Anda seberapa keras penekanan tombol terbaru.
2 atau lebih mikrofon sepanjang panjang keyboard akan memungkinkan penguraian sandi dengan nada keras / rendah dan nada lembut / tinggi dan sebaliknya.
[1]: Saya terus mengatakan "mikrofon", tapi maksud saya "perangkat penginderaan getaran umum".
sumber
Anda mungkin ingin meneliti resistor variabel pegas kembali, potensiometer pegas kembali, atau sensor posisi linear. Berikut ini salah satu contohnya: http://ecatalog.beisensors.com/item/linear-position-sens//linear-position-sensor-9600-series-compact-spri/9610r3-4kl2-0
Kemungkinan lain mungkin menggunakan rotary encoder kecil (dan secara mekanis mengubah gerak tekan kunci linier menjadi gerakan putar). Encoder akan menampilkan satu set pulsa atau lebih ketika poros berputar. Denyut nadi yang lebih tinggi akan menunjukkan pers yang lebih cepat. Posisi encoder dapat dilacak secara langsung jika grup pulsa dikirim ke logika digital tambahan. Inilah bagian contohnya: https://www.mouser.com/ProductDetail/Bourns/PEC16-4220F-S0024?qs=6FD5PBp7ZtQte%252Bg7b%2FiMUw%3D%3D&gclid=EAIaIQobChMIrKbIjAdAAAAA
sumber
Jika Anda ingin akurasi super dengan harga yang wajar, bagaimana menggunakan linear encoder , melampirkan strip kode abu-abu (yang Anda cetak sendiri menggunakan printer laser ke lembar transparan, kemudian potong dan pasang satu untuk setiap tombol) - selengkapnya rincian tentang cara kerjanya di bawah rotary encoders di sini . Dengan cara ini Anda memerlukan dua (mungkin 3 sehingga Anda mendapatkan indikasi posisi akhir) garis digital per kunci. Ini akan memungkinkan Anda untuk mengukur kecepatan dengan akurasi yang sangat baik dan bahkan posisi jika itu relevan. Keuntungan dari hal ini adalah Anda dapat memasang kembali ke keyboard lama (bahkan keyboard akustik).
Perhatian: ketika saya masih remaja (beberapa waktu yang lalu) saya bertanya-tanya selama bertahun-tahun apakah saya bisa membuat keyboard yang realistis lebih murah daripada membelinya. Tampaknya tidak mungkin pada waktu itu dan tampaknya bahkan lebih tidak mungkin sekarang. Karena itu, metode yang hemat biaya mungkin "membeli keyboard yang sensitif terhadap kecepatan dan membukanya" yang tidak menyenangkan.
sumber