Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Boîtier de contrôle DAW personnalisé pour racks de batterie électronique Roland

Composants et fournitures

Composant Quantité
Arduino Micro Pro 1
Boutons poussoirs (normalement ouverts) 1 (lot)
Pièces imprimées 3D : pince de fixation et boîtier 1

Outils nécessaires

Applications et services en ligne

À propos du projet

Il m'était inconfortable d'utiliser mon portable exécutant un DAW (Cubase) pendant l'enregistrement d'une piste de batterie. Je voulais une méthode sans distraction pour déclencher quelques commandes essentielles (démarrer/arrêter/enregistrer, etc.) sans lâcher mes baguettes. Les solutions commerciales étaient trop chères ou impraticables (impossible à monter sur mon rack). J'ai donc conçu cette boîte à boutons DIY basée sur le célèbre Arduino Micro Pro. Elle se monte sur les tubes standards de 38 mm des racks Roland.

Instructions

  1. Impression 3D : Imprimez les 2 parties de la pince de rack et le corps du boîtier. Le PLA convient, mais le PETG offre plus de solidité. Assemblez la pince avec une vis M4x40 comme axe entre les deux parties, serrez mais laissez-la pivoter librement. Utilisez une vis à oreilles M6 et un écrou pour serrer fermement sur le rack. Fixez la partie supérieure de la pince au boîtier avec 2 vis M3x4 et écrous.
  2. Panneau avant : Plusieurs modèles sont fournis (STL pour impression 3D, SVG pour CNC). Concevez le vôtre selon vos boutons. (J'ai usiné mon panneau sur ma CNC pour le design gravé, mais l'impression 3D fonctionne très bien.)
  3. Montage des boutons : Insérez les boutons dans le panneau avant et soudez-les aux broches Arduino correspondantes (voir affectation ci-dessous). J'ai utilisé un PCB séparé pour plus d'espace, mais ce n'est pas obligatoire. Si vous le faites, utilisez les 4 trous d'angle pour fixer le PCB. Fermez et vissez le panneau avant avec 2 vis M3.
  4. Programmation de l'Arduino : Tout Micro Pro convient, mais assurez-vous qu'il s'agit bien d'un Arduino Micro Pro (pas le Micro standard) pour l'USB natif. Un Micro Pro connecté à un PC peut émuler nativement un clavier USB et déclencher n'importe quelle touche, y compris touches de fonction et pavé numérique. Les Micro Pro proviennent de sources diverses, vous devrez peut-être adapter le code selon les librairies incluses. J'ai utilisé les broches numériques 2-8 initialisées en INPUT_PULLUP. Les boutons (normalement ouverts) tirent la broche vers GND, détecté par le code qui déclenche l'action (touche émulée).

Pour mon DAW (Cubase), j'ai choisi la configuration suivante :

Broche Bouton Touche Fonction Cubase
2 M c Métronome On/Off
3 L Pavé Num 1 Aller au localisateur gauche
4 >> Pavé Num + Avance rapide
5 << Pavé Num - Recul rapide
6 P ESPACE Lecture/Arrêt
7 B b Retour au début
8 R Pavé Num * Enregistrement

Facilement modifiable dans le code. Utilisez mon code comme exemple.

Amusez-vous bien !

Code source


/* ROLAND RACK BUTTON BOX
   Note : Pour Arduino Pro Micro ! Émule un clavier pour piloter un DAW (ici Steinberg Cubase).
   Optionnel : sortie série UART émulée via USB (débogage) et LEDs RX/TX sur la carte Micro.
   Touches : config Cubase : https://steinberg.help/cubase_elements_le_ai/v9/de/cubase_nuendo/topics/key_commands/key_commands_default_c.html
   Affectation :
   Port Arduino Micro -> Switch sur Boîte -> Touche émulée -> Fonction Cubase
   ------------------------------------------
   2  M  c          Métronome On
   3  L  [Num] 1    Goto Left Locator
   4  >> [Num] +    Forward
   5  << [Num] -    Backward
   6  P  SPACE      Play/Stop
   7  B  b          Begin
   8  R  [Num] *    Record
   mac70 13.01.2021
*/
#define DEBUG_OUTPUT 0
#include 
// Codes pavé numérique
#define KEYPAD_1 225
#define KEYPAD_PLUS 223
#define KEYPAD_MINUS 222
#define KEYPAD_ASTERIX 221

int RXLED = 17;
void setup() {
  pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP);
  pinMode(5, INPUT_PULLUP); pinMode(6, INPUT_PULLUP); pinMode(7, INPUT_PULLUP);
  pinMode(8, INPUT_PULLUP);
  pinMode(RXLED, OUTPUT);
  digitalWrite(RXLED, HIGH);
  Keyboard.begin();
  Serial.begin(9600);
  if (DEBUG_OUTPUT == 1) Serial.println("Button Box Serial Monitor");
}
void loop() {
  Keyboard.releaseAll();
  digitalWrite(RXLED, HIGH);
  delay(50);
  if (digitalRead(2) == 0) { // M
    if (DEBUG_OUTPUT) Serial.println("Button M");
    digitalWrite(RXLED, LOW);
    Keyboard.press('c'); delay(5); Keyboard.releaseAll();
    while(digitalRead(2) == 0);
  }
  if (digitalRead(3) == 0) { // L
    if (DEBUG_OUTPUT) Serial.println("Button L");
    digitalWrite(RXLED, LOW);
    Keyboard.press(KEYPAD_1); delay(5); Keyboard.releaseAll();
    while(digitalRead(3) == 0);
  }
  if (digitalRead(4) == 0) { // >>
    if (DEBUG_OUTPUT) Serial.println("Button >>");
    digitalWrite(RXLED, LOW);
    Keyboard.press(KEYPAD_PLUS);
    while(digitalRead(4) == 0); // répétition auto par l'OS
    Keyboard.releaseAll();
  }
  if (digitalRead(5) == 0) { // <<
    if (DEBUG_OUTPUT) Serial.println("Button <<");
    digitalWrite(RXLED, LOW);
    Keyboard.press(KEYPAD_MINUS);
    while(digitalRead(5) == 0);
    Keyboard.releaseAll();
  }
  if (digitalRead(6) == 0) { // PLAY/STOP
    if (DEBUG_OUTPUT) Serial.println("Button PLAY/STOP");
    digitalWrite(RXLED, LOW);
    Keyboard.press(' '); delay(5); Keyboard.releaseAll();
    while(digitalRead(6) == 0);
  }
  if (digitalRead(7) == 0) { // BACK
    if (DEBUG_OUTPUT) Serial.println("Button BACK");
    digitalWrite(RXLED, LOW);
    Keyboard.press('b'); delay(5); Keyboard.releaseAll();
    while(digitalRead(7) == 0);
  }
  if (digitalRead(8) == 0) { // REC
    if (DEBUG_OUTPUT) Serial.println("Button REC");
    digitalWrite(RXLED, LOW);
    Keyboard.press(KEYPAD_ASTERIX); delay(5); Keyboard.releaseAll();
    while(digitalRead(8) == 0);
  }
}

Pièces personnalisées et boîtiers

Fichiers 3D disponibles sur Thingiverse : lien vers mes fichiers CAO.

Processus de fabrication

  1. Advantech lance ARK‑1220 : PC DIN-Rail compact fan-less pour fabrication intelligente
  2. EKF SRS-1201-BLUBRICK : boîtier mural robuste pour CPU CompactPCI Serial en ferroviaire, automobile et industriel
  3. SIGHT : Lunettes intelligentes pour autonomiser les aveugles
  4. Construire un bouton IoT AWS contrôlé par mouvement avec Raspberry Pi, capteur PIR et MQTT
  5. Robot DIY inspiré de Wall‑E : Raspberry Pi dans une boîte de CD recyclée
  6. La nouvelle automatisation moulage injection de Hekuma améliore la production de pointes pipettes médicales
  7. 5 astuces d'emballage éprouvées pour prévenir les dommages d'expédition
  8. Directives optimisées de layout et de câblage pour l'assemblage boîtier
  9. Facteurs clés à considérer lors de la sous-traitance de services d'assemblage Box Build