Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Caixa de botões DAW para Racks Roland E-Drum

Componentes e suprimentos

Arduino MicroPro
× 1
botões (normalmente abertos)
× 1
grampo e caixa impressos em 3D
× 1

Ferramentas e máquinas necessárias

Impressora 3D (genérica)

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Foi inconveniente para mim operar meu laptop rodando um DAW (no meu caso, Cubase) enquanto gravava uma faixa de bateria. Então, eu queria ter um método sem distração para acionar alguns comandos essenciais, como iniciar / parar / gravar, etc, sem deixar cair minhas baquetas. As soluções comerciais disponíveis eram muito caras ou não práticas porque, e. impossível de ser montado no meu rack. Então, eu vim com esta caixa de botões DIY baseada no famoso Arduino micro .Pode ser montado em tubos padrão de 38 mm usados ​​por racks Roland para segurar a caixa.

Se você tem uma impressora 3D e gostaria de construir sua própria caixa remota, siga as instruções abaixo.





Instruções:


1. Imprima as 2 peças da braçadeira do rack e o corpo da caixa. PLA funcionará bem, mas se você quiser mais estabilidade, use PETG. Combine a braçadeira por um parafuso M4x40 como eixo entre as 2 partes, aperte o parafuso, mas certifique-se de que ainda pode girar facilmente. Use um parafuso borboleta M6 e uma porca como um tensor para segurar firmemente em seu rack. Use 2 parafusos M3x4 (ou semelhante) e porcas para combinar a parte superior da braçadeira com a caixa.

2. Para o painel frontal, você tem várias opções. Você pode querer criar sua própria variante, dependendo dos botões de sua escolha. Use um dos modelos de painel frontal disponíveis em stl (para impressora 3D) ou svg (para CNC) para criar seu próprio painel frontal. (Decidi fazer o painel em minha máquina CNC DIY porque gostei do design gravado. .mas um painel impresso em 3D funcionará perfeitamente.)

3. Depois que seu painel frontal estiver pronto, insira os botões e solde nas portas Arduno corretas (consulte a atribuição abaixo). Decidi usar um PCB separado para ter mais espaço, mas isso não é obrigatório. Se você fizer isso, use os 4 orifícios no canto para segurar a PCB. Por fim, feche e prenda o painel frontal com 2 parafusos M3.

4. Programando o Arduino:Qualquer Micro Pro serve, apenas certifique-se de que seja o Adruino Micro PRO (não o Arduino micro padrão!) Por causa do USB integrado. Um Arduino Micro Pro conectado a qualquer PC ou laptop pode emular nativamente um teclado USB e, portanto, pode acionar qualquer pressionamento de tecla, até mesmo teclas de função e teclas de bloco de números, etc. Micro profissionais estão disponíveis em diferentes fontes, então você pode precisar modificar seu código dependendo de as bibliotecas incluídas. No meu caso, decidi usar as portas digial 2-8 que serão inicializadas como pull-ups internos primeiro. Os botões conectados (normalmente abertos) puxarão os pinos para GND que é detectado pelo código e aciona a ação programada (pressionamento de tecla emulado).

Para minha DAW (Cubase), decidi usar a seguinte configuração:

Função do Cubase da tecla do botão da porta

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

Metrônomo 2 M c ligado / desligado

3 L [Num] 1 Goto Left Locator

4>> [Num] + Avançar

5 <<[Num] - Retroceder

6 P SPACE Play / Stop

7 B b Begin

8 R [Num] * Registro

Ele pode ser facilmente alterado no código para corresponder à sua configuração. Use meu código fechado como exemplo.

Aproveitar.

Código

  • Arduino Micro Pro Code para caixa de botões de rack
Código Arduino Micro Pro para caixa de botões de rack C / C ++
certifique-se de definir o micro pro em seu arduino IDE
 / * CAIXA DE BOTÕES ROLAND RACK Observação:isso é para o Arduino Pro Micro! Emula um teclado para pressionar as teclas de um PC conectado para uma DAW (aqui:Steinberg Cubase). opcional:usa a porta UART COM emulada via USB (para depuração) e LEDs (RX e TX LED) na microplaca CHAVES:configuração para Cubase:https://steinberg.help/cubase_elements_le_ai/v9/de/cubase_nuendo/topics/key_commands/ key_commands_default_c.html Atribuição:Arduino Micro Port -> Switch on Button Box -> Chave emulada no teclado -> Função na porta Cubase Switch Key Função Cubase -------------------- ---------------------- Metrônomo 2 M c On 3 L [Num] 1 Vá para a esquerda Locator 4>> [Num] + Avançar 5 <<[Num] - Retroceder 6 P SPACE Play / Stop 7 B b Begin 8 R [Num] * Gravar mac70 13.01.2021 * / # define DEBUG_OUTPUT 0 // quando definido como 1, uma saída de monitor serial adicional será gerada para depuração # include  // códigos 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 / * // caso necessário ... outros códigos de chave como Shift, Control etc: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; // O LED RX tem um Arduino pinvoid setup () {// os botões são conectados aos seguintes pinos de entrada digital // (botão normalmente aberto, quando ativado -> o pino será conectado ao GND) pinMode (2, INPUT_PULLUP); // Pino 2 é inserido com resistor interno pinMode (3, INPUT_PULLUP); // Pino 3 é inserido com resistor interno pinMode (4, INPUT_PULLUP); // Pino 4 é inserido com resistor interno pinMode (5, INPUT_PULLUP); // Pino 5 é inserido com resistor interno pinMode (6, INPUT_PULLUP); // Pino 6 é inserido com resistor interno pinMode (7, INPUT_PULLUP); // Pino 7 é inserido com resistor interno pinMode (8, INPUT_PULLUP); // Pino 8 é inserido com resistor interno pinMode (RXLED, OUTPUT); // Definir LED RX como saída digitalWrite (RXLED, HIGH); // desligue o LED RX Keyboard.begin (); // inicia a emulação do teclado Serial.begin (9600); // Isso inicia o monitor serial Serial.println (""); if (DEBUG_OUTPUT ==1) Serial.println ("Monitor serial de caixa de botões"); } void loop () {Keyboard.releaseAll (); digitalWrite (RXLED, HIGH); // define o retardo de DESLIGAMENTO do LED RX (50); // pequeno atraso // Botões de processo if (digitalRead (2) ==0) // M {if (DEBUG_OUTPUT ==1) Serial.println ("Botão M"); // Imprimir no Serial Monitor digitalWrite (RXLED, LOW); // LED aceso para sinalizar atividade Keyboard.press ('c'); atraso (5); Keyboard.releaseAll (); enquanto (digitalRead (2) ==0); // espera que o botão seja liberado} if (digitalRead (3) ==0) // L {if (DEBUG_OUTPUT ==1) Serial.println ("Botão L"); // Imprimir no Serial Monitor digitalWrite (RXLED, LOW); // LED aceso para sinalizar atividade Keyboard.press (KEYPAD_1); atraso (5); Keyboard.releaseAll (); enquanto (digitalRead (3) ==0); // aguarde o botão ser liberado} if (digitalRead (4) ==0) //>> {if (DEBUG_OUTPUT ==1) Serial.println ("Botão>>"); // Imprimir no Serial Monitor digitalWrite (RXLED, LOW); // LED aceso para sinalizar atividade Keyboard.press (KEYPAD_PLUS); enquanto (digitalRead (4) ==0); // aguarde até que o botão seja liberado ... a função de repetição do PC irá disparar novamente esta tecla! Keyboard.releaseAll (); } if (digitalRead (5) ==0) // <<{if (DEBUG_OUTPUT ==1) Serial.println ("Botão <<"); // Imprimir no Serial Monitor digitalWrite (RXLED, LOW); // LED aceso para sinalizar atividade Keyboard.press (KEYPAD_MINUS); enquanto (digitalRead (5) ==0); // aguarde até que o botão seja liberado ... a função de repetição do PC irá disparar novamente esta tecla! Keyboard.releaseAll (); } if (digitalRead (6) ==0) // PLAY STOP {if (DEBUG_OUTPUT ==1) Serial.println ("Botão PLAY / STOP"); // Imprimir no Serial Monitor digitalWrite (RXLED, LOW); // LED aceso para sinalizar atividade Keyboard.press (''); atraso (5); Keyboard.releaseAll (); enquanto (digitalRead (6) ==0); // espera que o botão seja liberado} if (digitalRead (7) ==0) // VOLTAR AO INÍCIO {if (DEBUG_OUTPUT ==1) Serial.println ("Botão VOLTAR"); // Imprimir no Serial Monitor digitalWrite (RXLED, LOW); // LED aceso para sinalizar atividade Keyboard.press ('b'); atraso (5); Keyboard.releaseAll (); enquanto (digitalRead (7) ==0); // espera que o botão seja liberado} if (digitalRead (8) ==0) // REC {if (DEBUG_OUTPUT ==1) Serial.println ("Botão REC"); // Imprimir no Serial Monitor digitalWrite (RXLED, LOW); // LED aceso para sinalizar atividade Keyboard.press (KEYPAD_ASTERIX); atraso (5); Keyboard.releaseAll (); enquanto (digitalRead (8) ==0); // aguarde o botão ser liberado}} 

Peças personalizadas e gabinetes

link para meus arquivos 3D
no arquivo thingiverseCAD em thingiverse.com

Processo de manufatura

  1. Advantech:Box PC integrado sem ventoinha e trilho DIN compacto para fabricação inteligente
  2. EKF:plataforma robusta de montagem em parede para aplicações ferroviárias, automotivas e industriais
  3. VISÃO:Para cegos
  4. Botão AWS IoT controlado por movimento
  5. Robô da caixa de CD do Raspberry Pi
  6. Moldagem por injeção:Nova abordagem de automação para pontas de pipetas médicas
  7. 5 truques para embalar uma caixa para evitar danos no envio
  8. Regras de layout e rastreamento para montagem de caixa
  9. Fatores importantes de consideração para terceirizar um processo de montagem de caixa
  10. Coisas a considerar para o processo de montagem da caixa