Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Блок кнопок DAW для стоек Roland E-Drum

Компоненты и расходные материалы

Arduino MicroPro
× 1
кнопки (обычно открытые)
× 1
Зажим и коробка, напечатанные на 3D-принтере
× 1

Необходимые инструменты и машины

3D-принтер (общий)

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Мне было неудобно управлять своим ноутбуком с DAW (в моем случае Cubase) во время записи барабанной дорожки. Поэтому я хотел иметь способ, не отвлекающий внимание, чтобы запускать несколько важных команд, таких как запуск / остановка / запись и т. Д., Не роняя свои палки. Доступные коммерческие решения слишком дороги или непрактичны, потому что, например, невозможно установить на мою стойку. Поэтому я придумал эту самодельную кнопочную коробку на основе знаменитого Arduino micro Его можно установить на стандартные трубы диаметром 38 мм, используемые в стойках Roland для удержания коробки.

Если у вас есть 3D-принтер и вы хотите создать свой собственный пульт дистанционного управления, воспользуйтесь приведенными ниже инструкциями.

Инструкции:

1. Распечатайте 2 детали зажима стойки и корпус коробки. PLA будет работать нормально, но если вы хотите большей стабильности, используйте PETG. Соедините зажим с помощью винта M4x40 в качестве оси между двумя частями, затяните винт, но убедитесь, что он все еще может легко вращаться. Используйте винт-барашек M6 и гайку в качестве натяжителя, чтобы надежно удерживать стойку. Используйте 2 винта M3x4 (или аналогичные). и гайки для совмещения верхней части зажима с коробкой.

2. Для передней панели у вас есть несколько вариантов. Возможно, вы захотите разработать свой собственный вариант в зависимости от выбранных вами кнопок. Используйте один из доступных шаблонов передней панели в формате stl (для 3D-принтера) или svg (для ЧПУ), чтобы создать свою собственную переднюю панель. (Я решил сделать панель на своем станке DIY с ЧПУ, потому что мне понравился дизайн с гравировкой. .но панель, напечатанная на 3D-принтере, будет работать нормально.)

3. После того, как ваша передняя панель будет готова, вставьте кнопки и припаяйте их к правильным портам Arduno (см. Назначение ниже). Я решил использовать отдельную печатную плату, чтобы иметь больше места, но это не обязательно. Если вы это сделаете, используйте 4 отверстия в углу, чтобы удерживать печатную плату. Наконец, закройте и закрепите переднюю панель 2 винтами M3.

4. Программирование Arduino:подойдет любой Micro Pro, просто убедитесь, что это Adruino Micro PRO (а не стандартный Arduino Micro!) Из-за встроенного USB. Arduino Micro Pro, подключенный к любому ПК или ноутбуку, может изначально имитировать USB-клавиатуру и поэтому может запускать любое нажатие клавиши, даже функциональные клавиши и клавиши числового блока и т. Д. Микро-профи доступны из разных источников, поэтому вам может потребоваться изменить код в зависимости от включенные библиотеки. В моем случае я решил использовать цифровые порты 2-8, которые сначала будут инициализированы как внутренние подтягивающие. Подключенные кнопки (обычно открытые) подтянут контакты к GND, что определяется кодом и запускает запрограммированное действие. (имитация нажатия клавиши).

Для моей DAW (Cubase) я решил использовать следующую настройку:

Кнопка порта Клавиша Функция Cubase

------------------------------------------

2 M c Включение / выключение метронома

3 L [Num] 1 Перейти к левому локатору

4>> [Num] + вперед

5 <<[Num] - Назад

ПРОБЕЛ 6 P Воспроизведение / остановка

7 B b Начало

8 R [Num] * Запись

Его можно легко изменить в коде в соответствии с вашей конфигурацией. В качестве примера возьмите мой прилагаемый код.

Наслаждайтесь.

Код

  • Код Arduino Micro Pro для кнопочного блока стойки
Код Arduino Micro Pro для кнопочного блока стойки C / C ++
не забудьте установить micro pro в вашей Arduino IDE
 / * ROLAND RACK BUTTON BOX Примечание:это для Arduino Pro Micro! Эмулирует клавиатуру для нажатия клавиш подключенного ПК для DAW (здесь:Steinberg Cubase). необязательно:используется эмулируемый COM-порт UART через USB (для отладки) и светодиоды (RX и TX LED) на микроплате. КЛЮЧИ:конфигурация для Cubase:https://steinberg.help/cubase_elements_le_ai/v9/de/cubase_nuendo/topics/key_commands/ key_commands_default_c.html Назначение:Микропорт Arduino -> Включить кнопочный блок -> эмулированная клавиша на клавиатуре -> Функция в Cubase Переключение порта Клавиша Функция Cubase -------------------- ---------------------- 2 M c Metronome On 3 L [Num] 1 Перейти к левому локатору 4>> [Num] + Вперед 5 <<[Num] - Назад 6 P SPACE Воспроизведение / остановка 7 B b Начало 8 R [Num] * Record mac70 13.01.2021 * / # define DEBUG_OUTPUT 0 // если определено как 1, для отладки будет сгенерирован дополнительный вывод монитора последовательного порта # include  // Коды 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 / * // в случае необходимости ... другие коды клавиш, такие как Shift, Control и т. д .: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; // Светодиод RX имеет определенный вывод Arduino setup () {// кнопки подключены к следующим выводам цифрового входа // (кнопка обычно открыта, при активации -> вывод будет подключен к GND) pinMode (2, INPUT_PULLUP); // Вывод 2 - это вход с внутренним резистором pinMode (3, INPUT_PULLUP); // Вывод 3 - это вход с внутренним резистором pinMode (4, INPUT_PULLUP); // Вывод 4 - это вход с внутренним резистором pinMode (5, INPUT_PULLUP); // Вывод 5 - это вход с внутренним резистором pinMode (6, INPUT_PULLUP); // Вывод 6 - это вход с внутренним резистором pinMode (7, INPUT_PULLUP); // Вывод 7 - это вход с внутренним резистором pinMode (8, INPUT_PULLUP); // Контакт 8 является входом с внутренним резистором pinMode (RXLED, OUTPUT); // Устанавливаем индикатор RX в качестве выхода digitalWrite (RXLED, HIGH); // выключаем светодиод RX Keyboard.begin (); // запускаем эмуляцию клавиатуры Serial.begin (9600); // Это запускает монитор последовательного порта Serial.println (""); if (DEBUG_OUTPUT ==1) Serial.println ("Монитор последовательного порта кнопки"); } void loop () {Keyboard.releaseAll (); digitalWrite (RXLED, ВЫСОКИЙ); // устанавливаем задержку выключения светодиода RX (50); // короткая задержка // Обработка кнопок if (digitalRead (2) ==0) // M {if (DEBUG_OUTPUT ==1) Serial.println ("Button M"); // Печать на последовательный монитор digitalWrite (RXLED, LOW); // светодиод горит, чтобы сигнализировать об активности Keyboard.press ('c'); задержка (5); Keyboard.releaseAll (); в то время как (digitalRead (2) ==0); // ждем, пока кнопка не будет отпущена} if (digitalRead (3) ==0) // L {if (DEBUG_OUTPUT ==1) Serial.println ("Button L"); // Печать на последовательный монитор digitalWrite (RXLED, LOW); // Загорается светодиод, сигнализирующий об активности Keyboard.press (KEYPAD_1); задержка (5); Keyboard.releaseAll (); в то время как (digitalRead (3) ==0); // ждем отпускания кнопки} if (digitalRead (4) ==0) //>> {if (DEBUG_OUTPUT ==1) Serial.println ("Button>>"); // Печать на последовательный монитор digitalWrite (RXLED, LOW); // Светодиод горит, сигнализируя об активности Keyboard.press (KEYPAD_PLUS); в то время как (digitalRead (4) ==0); // ждем, пока кнопка не будет отпущена ... функция повтора с ПК повторно активирует эту кнопку! Keyboard.releaseAll (); } if (digitalRead (5) ==0) // <<{if (DEBUG_OUTPUT ==1) Serial.println ("Button <<"); // Печать на последовательный монитор digitalWrite (RXLED, LOW); // Загорается светодиод, сигнализирующий об активности Keyboard.press (KEYPAD_MINUS); в то время как (digitalRead (5) ==0); // ждем, пока кнопка не будет отпущена ... функция повтора с ПК повторно активирует эту кнопку! Keyboard.releaseAll (); } if (digitalRead (6) ==0) // ВОСПРОИЗВЕДЕНИЕ СТОП {if (DEBUG_OUTPUT ==1) Serial.println ("Кнопка ВОСПРОИЗВЕДЕНИЕ / СТОП"); // Печать на последовательный монитор digitalWrite (RXLED, LOW); // Загорается светодиод, сигнализирующий об активности Keyboard.press (''); задержка (5); Keyboard.releaseAll (); в то время как (digitalRead (6) ==0); // ждем, пока кнопка не будет отпущена} if (digitalRead (7) ==0) // НАЗАД НАЧАТЬ {if (DEBUG_OUTPUT ==1) Serial.println ("Button BACK"); // Печать на последовательный монитор digitalWrite (RXLED, LOW); // Загорается светодиод, сигнализирующий об активности Keyboard.press ('b'); задержка (5); Keyboard.releaseAll (); в то время как (digitalRead (7) ==0); // ждем отпускания кнопки} if (digitalRead (8) ==0) // REC {if (DEBUG_OUTPUT ==1) Serial.println ("Button REC"); // Печать на последовательный монитор digitalWrite (RXLED, LOW); // Загорается светодиод, сигнализирующий об активности Keyboard.press (KEYPAD_ASTERIX); задержка (5); Keyboard.releaseAll (); в то время как (digitalRead (8) ==0); // ждем, пока кнопка не будет отпущена}} 

Изготовленные на заказ детали и корпуса

ссылка на мои 3D-файлы
в файле thingiverseCAD на сайте thingiverse.com

Производственный процесс

  1. Advantech:компактный встраиваемый блочный ПК без вентилятора на DIN-рейку для интеллектуального производства
  2. EKF:прочная платформа для настенного монтажа для железнодорожного, автомобильного и промышленного применения
  3. Зрение:для слепых
  4. Кнопка AWS IoT с управлением движением
  5. Робот-бокс для компакт-дисков Raspberry Pi
  6. Литье под давлением:новый подход к автоматизации для наконечников для медицинских пипеток
  7. 5 советов по упаковке коробки, чтобы избежать повреждений при транспортировке
  8. Правила компоновки и трассировки для сборки Box Build
  9. Важные факторы, которые следует учитывать при аутсорсинге процесса сборки коробки
  10. Что следует учитывать в процессе сборки коробки