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îte à boutons DAW pour racks de batterie électronique Roland

Composants et fournitures

Arduino MicroPro
× 1
boutons poussoirs (normalement ouverts)
× 1
pince et boîte imprimées en 3D
× 1

Outils et machines nécessaires

Imprimante 3D (générique)

Applications et services en ligne

Arduino IDE

À propos de ce projet

Il n'était pas pratique pour moi d'utiliser mon ordinateur portable avec un DAW (dans mon cas Cubase) tout en enregistrant une piste de batterie. Je voulais donc avoir une méthode sans distraction pour déclencher quelques commandes essentielles telles que démarrer/arrêter/enregistrer, etc. sans laisser tomber mes bâtons. Les solutions commerciales disponibles étaient trop chères ou pas pratiques car, par ex. impossible à monter sur mon rack. J'ai donc imaginé cette boîte à boutons DIY basée sur le fameux micro Arduino .Il peut être monté sur des tubes standard de 38 mm utilisés par les racks Roland pour maintenir la boîte.

Si vous possédez une imprimante 3D et souhaitez créer votre propre boîtier distant, suivez les instructions ci-dessous.

Instructions :

1. Imprimez les 2 pièces de la pince à crémaillère et le corps de la boîte. Le PLA fonctionnera bien, mais si vous voulez plus de stabilité, utilisez le PETG. Combinez la pince par une vis M4x40 comme axe entre les 2 parties, serrez la vis, mais assurez-vous qu'elle peut encore tourner facilement.Utilisez une vis à oreilles M6 et un écrou comme tendeur pour tenir fermement sur votre rack.Utilisez 2x vis M3x4 (ou similaire) et des écrous pour combiner la partie supérieure de la pince à la boîte.

2. Pour le panneau avant, vous avez plusieurs choix. Vous voudrez peut-être concevoir votre propre variante en fonction des boutons de votre choix. Utilisez l'un des modèles de panneau avant disponibles en stl (pour imprimante 3D) ou en svg (pour CNC) pour créer votre propre panneau avant. (J'ai décidé de créer le panneau sur ma machine CNC DIY parce que j'aimais le design gravé.. .mais un panneau imprimé en 3D fonctionnera très bien.)

3. Une fois que votre panneau avant est prêt, insérez les boutons et soudez sur les bons ports Arduno (voir l'affectation ci-dessous). J'ai décidé d'utiliser un PCB séparé pour avoir plus d'espace, mais ce n'est pas obligatoire. Si vous faites cela, utilisez les 4 trous dans le coin pour maintenir le PCB.Finalement fermez et fixez le panneau avant avec 2 vis M3.

4. Programmation de l'Arduino :n'importe quel Micro Pro fera l'affaire, assurez-vous simplement qu'il s'agit de l'Adruino Micro PRO (pas du micro Arduino standard !) En raison de l'USB intégré. Un Arduino Micro Pro connecté à n'importe quel PC ou ordinateur portable peut émuler nativement un clavier USB et peut donc déclencher n'importe quelle frappe, même des touches de fonction et des touches de bloc numérique, etc. Les micro pros sont disponibles à partir de différentes sources, vous devrez donc peut-être modifier votre code en fonction de les bibliothèques incluses. Dans mon cas, j'ai décidé d'utiliser les ports numériques 2-8 qui seront d'abord initialisés en tant que pull-ups internes. Les boutons poussoirs connectés (normalement ouverts) tireront les broches vers GND qui est détecté par le code et déclenche l'action programmée (pression de touche émulée).

Pour mon DAW (Cubase), j'ai décidé d'utiliser la configuration suivante :

Port Bouton Touche Cubase Fonction

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

2 M c Métronome activé/désactivé

3 L [Num] 1 Goto Left Locator

4>> [Num] + Avant

5 <<[Num] - En arrière

6 P ESPACE Lecture/Arrêt

7 B b Début

8 R [Num] * Enregistrement

Il peut être facilement modifié dans le code pour correspondre à votre configuration. Utilisez mon code ci-joint comme exemple.

Amusez-vous bien.

Code

  • Code Arduino Micro Pro pour boîte à boutons en rack
Code Arduino Micro Pro pour boîte à boutons en rackC/C++
assurez-vous de régler le micro pro dans votre arduino IDE
/* ROLAND RACK BUTTON BOX Remarque :ceci est pour l'Arduino Pro Micro ! Émule un clavier pour appuyer sur les touches d'un PC connecté pour un DAW (ici :Steinberg Cubase). optionnel :utilise le port COM UART émulé via USB (pour le débogage) et les LED (LED RX et TX) sur la carte Micro TOUCHES :config pour Cubase :https://steinberg.help/cubase_elements_le_ai/v9/de/cubase_nuendo/topics/key_commands/ key_commands_default_c.html Affectation :Arduino Micro Port -> Activer la boîte à boutons -> Touche émulée sur le clavier -> Fonction dans le port Cubase Touche Fonction Cubase -------------------- ---------------------- 2 M c Métronome activé 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 // lorsqu'il est défini comme 1, une sortie de moniteur série supplémentaire sera générée pour le débogage#include // Codes 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 /*// en cas de besoin ... d'autres codes clés comme 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; // La LED RX a une configuration Pinvoid Arduino définie () { // les boutons sont connectés aux broches d'entrée numériques suivantes // (bouton normalement ouvert, lorsqu'il est activé -> la broche sera connectée à GND) pinMode (2, INPUT_PULLUP); // La broche 2 est entrée avec la résistance interne pinMode(3, INPUT_PULLUP); // La broche 3 est entrée avec la résistance interne pinMode(4, INPUT_PULLUP); // La broche 4 est entrée avec la résistance interne pinMode (5, INPUT_PULLUP); // La broche 5 est entrée avec la résistance interne pinMode (6, INPUT_PULLUP); // La broche 6 est entrée avec la résistance interne pinMode (7, INPUT_PULLUP); // La broche 7 est entrée avec la résistance interne pinMode (8, INPUT_PULLUP); // La broche 8 est entrée avec la résistance interne pinMode (RXLED, OUTPUT); // Définir RX LED comme sortie digitalWrite(RXLED, HIGH); // désactive la LED RX Keyboard.begin(); // démarre l'émulation du clavier Serial.begin(9600); //Cela démarre le moniteur série Serial.println("");if (DEBUG_OUTPUT ==1) Serial.println("Button Box Serial Monitor"); }boucle vide(){ Keyboard.releaseAll(); digitalWrite (RXLED, HAUT); // définit le délai d'extinction de la LED RX (50); // court délai // Traiter les boutons if (digitalRead(2) ==0) // M { if (DEBUG_OUTPUT ==1) Serial.println("Button M"); // Imprimer sur le moniteur série digitalWrite(RXLED, LOW); // LED allumée pour signaler l'activité Keyboard.press('c'); retard (5) ; Keyboard.releaseAll(); while(digitalRead(2) ==0); // attend que le bouton soit relâché } if (digitalRead(3) ==0) // L { if (DEBUG_OUTPUT ==1) Serial.println("Button L"); // Imprimer sur le moniteur série digitalWrite(RXLED, LOW); // LED allumée pour signaler l'activité Keyboard.press(KEYPAD_1); retard (5) ; Keyboard.releaseAll(); while(digitalRead(3) ==0); // attend que le bouton soit relâché } if (digitalRead(4) ==0) //>> { if (DEBUG_OUTPUT ==1) Serial.println("Button>>"); // Imprimer sur le moniteur série digitalWrite(RXLED, LOW); // LED allumée pour signaler l'activité Keyboard.press(KEYPAD_PLUS); while(digitalRead(4) ==0); // attendre que le bouton soit relâché ... la fonction de répétition du PC va relancer cette touche ! Keyboard.releaseAll(); } if (digitalRead(5) ==0) // <<{ if (DEBUG_OUTPUT ==1) Serial.println("Bouton <<"); // Imprimer sur le moniteur série digitalWrite(RXLED, LOW); // LED allumée pour signaler l'activité Keyboard.press(KEYPAD_MINUS); while(digitalRead(5) ==0); // attendre que le bouton soit relâché ... la fonction de répétition du PC va relancer cette touche ! Keyboard.releaseAll(); } if (digitalRead(6) ==0) // PLAY STOP { if (DEBUG_OUTPUT ==1) Serial.println("Bouton PLAY/STOP"); // Imprimer sur le moniteur série digitalWrite(RXLED, LOW); // LED allumée pour signaler l'activité Keyboard.press(' '); retard (5) ; Keyboard.releaseAll(); while(digitalRead(6) ==0); // attend que le bouton soit relâché } if (digitalRead(7) ==0) // BACK TO START { if (DEBUG_OUTPUT ==1) Serial.println("Button BACK"); // Imprimer sur le moniteur série digitalWrite(RXLED, LOW); // LED allumée pour signaler l'activité Keyboard.press('b'); retard (5) ; Keyboard.releaseAll(); while(digitalRead(7) ==0); // attend que le bouton soit relâché } if (digitalRead(8) ==0) // REC { if (DEBUG_OUTPUT ==1) Serial.println("Button REC"); // Imprimer sur le moniteur série digitalWrite(RXLED, LOW); // LED allumée pour signaler l'activité Keyboard.press(KEYPAD_ASTERIX); retard (5) ; Keyboard.releaseAll(); while(digitalRead(8) ==0); // attend que le bouton soit relâché } }

Pièces et boîtiers personnalisés

lien vers mes fichiers 3D
dans le fichier thingverseCAD sur thingverse.com

Processus de fabrication

  1. Advantech :boîtier PC compact sans ventilateur sur rail DIN pour une fabrication intelligente
  2. EKF :plate-forme robuste à montage mural pour applications ferroviaires, automobiles et industrielles
  3. SIGHT :For the Blind
  4. Bouton AWS IoT à contrôle de mouvement
  5. Robot boîtier CD Raspberry Pi
  6. Moulage par injection :nouvelle approche d'automatisation pour les pointes de pipettes médicales
  7. 5 astuces pour emballer une boîte pour éviter les dommages dus au transport
  8. Règles de disposition et de traçage pour l'assemblage de fabrication de boîtes
  9. Facteurs importants à prendre en compte pour l'externalisation d'un processus d'assemblage de construction de boîtes