Isi kandungan:

HX1-DM - Mesin Drum DIY Bertenaga Arduino DUE Powered (dibuat dengan Maschine Mati MK2): 4 Langkah
HX1-DM - Mesin Drum DIY Bertenaga Arduino DUE Powered (dibuat dengan Maschine Mati MK2): 4 Langkah

Video: HX1-DM - Mesin Drum DIY Bertenaga Arduino DUE Powered (dibuat dengan Maschine Mati MK2): 4 Langkah

Video: HX1-DM - Mesin Drum DIY Bertenaga Arduino DUE Powered (dibuat dengan Maschine Mati MK2): 4 Langkah
Video: Вот почему миле машинки живут почти вечно - сбивка ворса #miele 2024, November
Anonim
Image
Image
Pembaikan
Pembaikan

Spesifikasi

  • Pengawal Hybrid Midi / mesin drum: Arduino DUE berkuasa!
  • 16 Pad sensing kecepatan dengan kependaman yang sangat rendah 1> ms
  • 8 kenop pengguna boleh diberikan kepada sebarang arahan Midi #CC
  • Penjurut terbina dalam 16ch (tidak memerlukan komputer !!)
  • Fungsi masuk / keluar / melalui MIDI (boleh digunakan sebagai antara muka USB midi!)
  • Jam MIDI separa & sokongan MTC (berfungsi pada kawalan MMC dan DAW)

Ini pastinya merupakan projek yang paling rumit yang saya jalankan, iaitu membincangkan 17 register peralihan output, 6 register peralihan input, 2x 16 multiplexer saluran yang bekerja di papan litar Saya tidak tahu apa itu dan di mana ditambah saya tidak pernah mengacaukan dengan register shift / multiplexer sebelum ……

Ia bermula sebagai dorongan beli eBay, saya sangat mahukan Native Instruments Maschine kerana saya selalu menyukai pad drum di atasnya berbanding dengan yang ada di studio MPC yang saya miliki jadi ketika saya melihat yang salah di eBay dengan harga £ 40, saya fikir Saya akan berusaha memperbaikinya dengan senario terburuk adalah 'jika saya tidak dapat memperbaikinya, saya mempunyai Arduino DUE dan beberapa UNO berbaring, saya selalu dapat melakukan hack'

Saya sangat suka pad drum itu !!!!

Bekalan

1 x Native Instruments Maschine MK2 yang rosak

1 x Arduino Berakhir.

17 x SN74HC595's - daftar peralihan output 8-bit

6 x SN74HC165's - register peralihan input 8-bit

2 x 74HC4067 - multiplexer 16 saluran.

Paparan OLED 2 x 3.2 256x64.

beberapa wayar rata (kabel floppy lama akan dilakukan)

Langkah 1: Pembaikan

Penjual eBay cukup baik untuk memberikan idea tentang apa yang diharapkan dalam keterangan dan telah melepaskan port USB. Papan mengalami voltan lebihan dan tidak berfungsi. Isikan multimeter…. Papan nampaknya pendek.. 'Saya sudah membaiki papan induk yang tidak terkira dengan seluar pendek. Jadi, betapa sukarnya!?!' Ternyata voltan berlebihan ini (dan mungkin sebahagiannya reka bentuk papan), telah mengeluarkan hampir SETIAP komponen di papan termasuk CPU utama. Papan ini dengan cara yang sangat teruk!

Saya terus membuat & membuat pukulan dengan multimeter saya, melakukan sedikit kajian mengenai komponen dan mengetahui apa yang masing-masing lakukan dan NI melakukan kerja yang baik untuk membuat sesuatu menjadi cukup jelas dengan pelbagai titik ujian di sekitar papan induk ??.

Langkah 2: Peretasan

Peretasan
Peretasan
Hack
Hack
Peretasan
Peretasan

Mengetahui bahawa saya perlu mengganti semua bar CPU utama (yang tidak akan diperlukan) saya beralih ke eBay. Syukurlah, semua yang diperlukan adalah murah sehingga memesan banyak dari mereka adalah menyeronokkan. ?

17 x SN74HC595's - daftar peralihan output 8-bit

17 register peralihan output digunakan untuk mengawal LED pelbagai warna pada drum pad dan semua LED Butang (136 tepat !!) Ini sangat mudah digunakan dan dengan cepat menemui sebuah perpustakaan yang menggunakan Arduino IDE untuk menyelamatkan diri saya membuat satu.. mereka dirantai bersama.

6 x SN74HC165's - daftar peralihan input 8-bit

Daftar peralihan input ini bagus untuk pelbagai input pada 1 saluran. Terdapat 48 butang secara keseluruhan.

2 x 74HC4067 - multiplexer 16 saluran

Kami mempunyai 16 pad dan 8 tombol tersisa, ini juga analog. Saya merasa lebih senang menggunakan ini kerana yang ada di papan adalah 8 saluran dan saya menghadapi masalah untuk mencari tempat untuk menyambungkan pin data.. cue spaghetti junction….

Paparan OLED 2 x 3.2 "256x64

Ia mesti mempunyai beberapa skrin !!! Saya tidak dapat mencari maklumat mengenai skrin LCD asal yang terdapat di NI Maschine dan saya tidak akan terganggu membuang masa untuk mencuba sehingga saya memutuskan untuk memesan beberapa dari cina … Saya menggunakan perpustakaan UG8x8 untuk mendapatkannya. Skrin baru sedikit lebih kecil daripada yang asal jadi saya hanya mengosongkan 'bit buruk'.

1 x Arduino Berakhir

Saya telah menunggu ini untuk menunggu projek yang cukup bernilai untuk semua itu !! Terdapat masalah yang saya hadapi, Nampaknya beberapa penyemakan papan ini mempunyai masalah reset yang bermaksud saya kadang-kadang menekan butang reset untuk menjalankannya setelah memuat naik sketsa. Ini mudah diperbaiki dengan perintang 10K (ada catatan di forum Arduino mengenai perkara ini).

Langkah 3: Kodnya

Saya benar-benar terkesan dengan banyaknya sokongan dalam komuniti Arduino, mencari contoh kod dan perpustakaan untuk pelbagai komponen itu sangat mudah dan lurus ke hadapan.

Mendapatkan dan menjalankan USB dengan mudah dan memerlukan beberapa minit. LED memerlukan sedikit masa dan saya harus membuat lakaran yang secara bertahap mengatur setiap pin TINGGI dalam selang 1 saat dan mengambil nota.. Saya membuat susunan yang memegang nombor PIN untuk mempermudah ketika membuat pengekodan semuanya.

Saya membuat 2 perpustakaan untuk bercakap dengan multiplexer, satu mengendalikan pad analog dan yang lain tombol. Sekali lagi ini sangat mudah. Saya telah melampirkan mereka dengan bebas menggunakan suntingan dll.

Saya ingin mempunyai penjujukan dan kemampuan untuk merakam tanpa memerlukan komputer, saya menemui beberapa maklumat tentang cara menukar BPM ke ms dan menemui perpustakaan pemasa Arduino DUE yang hebat.

Dengan menggunakan pustaka pemasa, saya dapat mengatur input membaca dan perkara-perkara secara berkala:

Pad @ 1ms - Saya dapati ini untuk memberikan keseimbangan terbaik antara artifak respons / bounce.

Butang @ 40ms - Saya menggunakan perpustakaan beratur sehingga tidak ada penekan yang terlepas.

Pemprosesan dilakukan dalam gelung utama, anda tidak boleh melakukan terlalu banyak ketika anda mengalami gangguan kerana ini akan mengunci Arduino.

Midi stuff @BPM (dalam ms) - untuk penjujukan, pada BPM yang diinginkan fungsi disebut bahawa kemas kini yang mencatat ETC akan dimainkan dan meningkatkan penghitung rentak.

Langkah 4: Kesimpulannya

Kesimpulannya
Kesimpulannya

Tidak pasti apa yang saya buat di sini tetapi saya cukup bangga, padnya sangat bagus, saya terpaksa bermain-main dengan masa untuk mendapatkan keseimbangan yang tepat dengan masalah respons dan masalah. Urutan berjalan dengan baik dan setelah saya mengetahui sokongan DAW, saya dapat mengintegrasikan sepenuhnya perkara ini ke dalam aliran kerja saya dan dapat menambahkan perkara dalam alat kawalan yang selalu saya mahukan!. Ini adalah projek yang sangat menyeronokkan untuk dikendalikan dan latihan yang hebat dalam memahami C, memahami teknik terbalik dan bagaimana multiplexer, register shift dan penjujukan MIDI berfungsi. Saya terus meningkatkan kod utama dan mungkin akan dikeluarkan pada suatu hari sebagai pereka irama sumber terbuka.

PETUA:

Saya menemui cara menukar nama USB DUE dengan menyunting salah satu fail header di folder Arduino / SAM.

MIDI-OX adalah alat yang hebat untuk menguji fungsi Midi

Pautan:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi … Beberapa maklumat mengenai cara menukar BPM ke ms

travis-ci.com/SMFSW/Queue - Untuk input butang supaya kami tidak terlepas sebarang penekanan!

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib untuk Skrin LED / LCD

github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib

www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib untuk tombol besar

shiftregister.simsso.de/ - ShiftIn Register lib - Dicipta oleh Henrik Heine, 24 Julai 2016

forum.arduino.cc/index.php?topic=57636.0 - Perkara Kod Masa MIDI

Disyorkan: