Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Kotak Tombol DAW untuk Rak E-Drum Roland

Komponen dan persediaan

Arduino MicroPro
× 1
tombol tekan (biasanya terbuka)
× 1
Penjepit dan kotak cetak 3d
× 1

Alat dan mesin yang diperlukan

Printer 3D (generik)

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Tidak nyaman bagi saya untuk mengoperasikan laptop saya yang menjalankan DAW (dalam kasus saya Cubase) saat merekam trek drum. Jadi saya ingin memiliki metode bebas gangguan untuk memicu beberapa perintah penting seperti start/stop/record dll tanpa menjatuhkan tongkat saya. Solusi komersial yang tersedia di mana terlalu mahal atau tidak praktis karena mis. tidak mungkin dipasang ke rak saya. Jadi saya membuat kotak kancing DIY ini berdasarkan Arduino mikro yang terkenal. .Ini dapat dipasang pada tabung standar 38mm yang digunakan oleh rak Roland untuk menahan kotak.

Jika Anda memiliki printer 3d dan ingin membuat remote box Anda sendiri, gunakan petunjuk di bawah ini.

Petunjuk:

1. Cetak 2 bagian penjepit rak dan badan kotak. PLA akan bekerja dengan baik, tetapi jika Anda ingin lebih stabil, gunakan PETG. Gabungkan penjepit dengan sekrup M4x40 sebagai sumbu antara 2 bagian, kencangkan sekrup, tetapi pastikan sekrup masih dapat berputar dengan mudah.Gunakan sekrup sayap M6 dan mur sebagai pengencang untuk menahan rak Anda dengan kuat.Gunakan sekrup 2x M3x4 (atau yang serupa) dan mur untuk menggabungkan bagian penjepit atas ke kotak.

2. Untuk panel depan Anda memiliki beberapa pilihan. Anda mungkin ingin mendesain varian Anda sendiri tergantung pada tombol pilihan Anda. Gunakan salah satu template panel depan yang tersedia baik dalam stl (untuk printer 3d) atau svg (untuk CNC) untuk membuat panel depan Anda sendiri. (Saya memutuskan untuk membuat panel pada mesin CNC DIY saya karena saya menyukai desain ukirannya.. .tetapi panel cetak 3d akan berfungsi dengan baik.)

3. Setelah panel depan Anda siap, masukkan tombol dan solder ke port Arduno yang benar (lihat tugas di bawah). Saya memutuskan untuk menggunakan PCB terpisah agar memiliki lebih banyak ruang, tetapi itu tidak wajib. Jika Anda melakukannya, gunakan 4 lubang di sudut untuk menahan PCB. Terakhir tutup dan kencangkan panel depan dengan 2 sekrup M3.

4. Pemrograman Arduino:Semua Micro Pro bisa dilakukan, pastikan itu adalah Adruino Micro PRO (bukan mikro Arduino standar!) karena USB bawaan. Arduino Micro Pro yang terhubung ke PC atau laptop mana pun dapat secara native meniru keyboard USB sehingga dapat memicu penekanan tombol apa pun, bahkan tombol fungsi dan tombol num block, dll. Micro pro tersedia dari sumber yang berbeda, jadi Anda mungkin perlu memodifikasi kode Anda tergantung pada perpustakaan yang disertakan. Dalam kasus saya, saya memutuskan untuk menggunakan port digital 2-8 yang akan diinisialisasi sebagai pull-up internal terlebih dahulu. Tombol push yang terhubung (biasanya terbuka) akan menarik pin ke GND yang dideteksi oleh kode dan memicu tindakan yang diprogram (tekan tombol yang ditiru).

Untuk DAW (Cubase) saya, saya memutuskan untuk menggunakan pengaturan berikut:

Fungsi Kubus Tombol Port Tombol

--------------------------------------------P>

2 Mc Metronom Hidup/Mati

3 L [Num] 1 Goto Left Locator

4>> [Bilangan] + Teruskan

5 <<[Bilangan] - Mundur

6 P SPACE Putar/Hentikan

7 B b Mulai

8 R [Num] * Rekam

Itu dapat dengan mudah diubah dalam kode agar sesuai dengan konfigurasi Anda. Gunakan kode terlampir saya sebagai contoh.

Selamat menikmati.

Kode

  • Kode Arduino Micro Pro untuk Kotak Tombol Rak
Kode Arduino Micro Pro untuk Kotak Tombol RakC/C++
pastikan untuk mengatur mikro pro di arduino Anda
/* ROLAND RACK BUTTON BOX Catatan:Ini untuk Arduino Pro Micro! Mengemulasi keyboard untuk menekan tombol PC yang terhubung untuk DAW (di sini:Steinberg Cubase). opsional :menggunakan port UART COM yang ditiru melalui USB (untuk debugging) dan LED (RX dan TX LED) pada papan Mikro KUNCI:konfigurasi untuk Cubase:https://steinberg.help/cubase_elements_le_ai/v9/de/cubase_nuendo/topics/key_commands/ key_commands_default_c.html Tugas :Arduino Micro Port -> Aktifkan Kotak Tombol -> Emulated Key on Keyboard -> Fungsi di Cubase Port Switch Key Cubase Function -------------------- ---------------------- 2 M c Metronom Pada 3 L [Num] 1 Goto Left Locator 4>> [Num] + Forward 5 <<[Num] - Mundur 6 P SPACE Play/Stop 7 B b Mulai 8 R [Num] * Rekam mac70 13.01.2021*/#define DEBUG_OUTPUT 0 // ketika didefinisikan sebagai 1, output monitor serial tambahan akan dihasilkan untuk debugging#include // Kode NUM-KEY :https://forum.arduino.cc/index.php?topic=659117.0#define KEYPAD_1 225 #define KEYPAD_PLUS 223 #define KEYPAD_MINUS 222 #define KEYPAD_ASTERIX 221 /*// jika diperlukan ... kode kunci lainnya seperti Shift, Control dll :https://www.arduino.cc/reference/en/language/fu nctions/usb/keyboard/keyboardmodifiers/char ShiftKey =KEY_LEFT_SHIFT;char LeftKey =KEY_LEFT_ARROW;char RightKey =KEY_RIGHT_ARROW;*/int RXLED =17; // LED RX memiliki pengaturan pinvoid Arduino yang ditentukan(){ // tombol terhubung ke pin input digital berikut // (tombol biasanya terbuka, ketika diaktifkan -> pin akan terhubung ke GND) pinMode(2, INPUT_PULLUP); // Pin 2 dimasukkan dengan resistor internal pinMode(3, INPUT_PULLUP); // Pin 3 dimasukkan dengan resistor internal pinMode(4, INPUT_PULLUP); // Pin 4 dimasukkan dengan resistor internal pinMode(5, INPUT_PULLUP); // Pin 5 dimasukkan dengan resistor internal pinMode(6, INPUT_PULLUP); // Pin 6 dimasukkan dengan resistor internal pinMode(7, INPUT_PULLUP); // Pin 7 dimasukkan dengan resistor internal pinMode(8, INPUT_PULLUP); // Pin 8 dimasukkan dengan resistor internal pinMode(RXLED, OUTPUT); // Atur RX LED sebagai output digitalWrite(RXLED, HIGH); // mengatur RX LED OFF Keyboard.begin(); // memulai emulasi keyboard Serial.begin(9600); //Ini memulai serial monitor Serial.println("");if (DEBUG_OUTPUT ==1) Serial.println("Button Box Serial Monitor"); }void loop(){ Keyboard.releaseAll(); digitalWrite(RXLED, TINGGI); // mengatur penundaan RX LED OFF(50); // penundaan singkat // Tombol proses if (digitalRead(2) ==0) // M { if (DEBUG_OUTPUT ==1) Serial.println("Button M"); // Cetak ke Serial Monitor digitalWrite(RXLED, LOW); // LED menyala untuk memberi sinyal aktivitas Keyboard.press('c'); penundaan (5); Keyboard.releaseAll(); while(digitalRead(2) ==0); // tunggu tombol dilepas } if (digitalRead(3) ==0) // L { if (DEBUG_OUTPUT ==1) Serial.println("Button L"); // Cetak ke Serial Monitor digitalWrite(RXLED, LOW); // LED menyala untuk memberi sinyal aktivitas Keyboard.press(KEYPAD_1); penundaan (5); Keyboard.releaseAll(); while(digitalRead(3) ==0); // tunggu tombol dilepas } if (digitalRead(4) ==0) //>> { if (DEBUG_OUTPUT ==1) Serial.println("Button>>"); // Cetak ke Serial Monitor digitalWrite(RXLED, LOW); // LED menyala untuk memberi sinyal aktivitas Keyboard.press(KEYPAD_PLUS); while(digitalRead(4) ==0); // tunggu sampai tombol dilepaskan ... ulangi fungsi dari PC akan memicu kembali kunci ini! Keyboard.releaseAll(); } if (digitalRead(5) ==0) // <<{ if (DEBUG_OUTPUT ==1) Serial.println("Tombol <<"); // Cetak ke Serial Monitor digitalWrite(RXLED, LOW); // LED menyala untuk memberi sinyal aktivitas Keyboard.press(KEYPAD_MINUS); while(digitalRead(5) ==0); // tunggu sampai tombol dilepaskan ... ulangi fungsi dari PC akan memicu kembali kunci ini! Keyboard.releaseAll(); } if (digitalRead(6) ==0) // PLAY STOP { if (DEBUG_OUTPUT ==1) Serial.println("Tombol PLAY/STOP"); // Cetak ke Serial Monitor digitalWrite(RXLED, LOW); // LED menyala untuk memberi sinyal aktivitas Keyboard.press(' '); penundaan (5); Keyboard.releaseAll(); while(digitalRead(6) ==0); // tunggu tombol dilepas } if (digitalRead(7) ==0) // BACK TO START { if (DEBUG_OUTPUT ==1) Serial.println("Button BACK"); // Cetak ke Serial Monitor digitalWrite(RXLED, LOW); // LED menyala untuk memberi sinyal aktivitas Keyboard.press('b'); penundaan (5); Keyboard.releaseAll(); while(digitalRead(7) ==0); // tunggu tombol dilepas } if (digitalRead(8) ==0) // REC { if (DEBUG_OUTPUT ==1) Serial.println("Button REC"); // Cetak ke Serial Monitor digitalWrite(RXLED, LOW); // LED menyala untuk memberi sinyal aktivitas Keyboard.press(KEYPAD_ASTERIX); penundaan (5); Keyboard.releaseAll(); while(digitalRead(8) ==0); // tunggu tombol dilepas } }

Suku cadang dan penutup khusus

tautan ke file 3D saya
dalam file thingiverseCAD di thingiverse.com

Proses manufaktur

  1. Advantech:PC Kotak Tertanam DIN-Rail tanpa kipas yang ringkas untuk pembuatan yang cerdas
  2. EKF:platform kotak pemasangan di dinding yang kokoh untuk aplikasi kereta api, otomotif, industri
  3. SIGHT:Untuk Tunanetra
  4. Tombol AWS IoT Terkendali Gerakan
  5. Robot Kotak CD Raspberry Pi
  6. Injection Moulding:Pendekatan Otomatisasi Baru untuk Tips Pipet Medis
  7. 5 Hacks untuk Mengemas Kotak untuk Menghindari Kerusakan Pengiriman
  8. Aturan Tata Letak dan Pelacakan untuk Rakitan Pembuatan Kotak
  9. Faktor Penting Pertimbangan untuk Mengalihdayakan Proses Perakitan Box Build
  10. Hal-hal yang Perlu Dipertimbangkan untuk Proses Perakitan Pembuatan Kotak