Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

DAW Button Box voor Roland E-Drum Racks

Componenten en benodigdheden

Arduino MicroPro
× 1
drukknoppen (normaal open)
× 1
3D-geprinte klem en doos
× 1

Benodigde gereedschappen en machines

3D-printer (algemeen)

Apps en online services

Arduino IDE

Over dit project

Het was onhandig voor mij om mijn laptop te bedienen met een DAW (in mijn geval Cubase) tijdens het opnemen van een drumtrack. Dus ik wilde een afleidingsvrije methode hebben om een ​​paar essentiële commando's zoals starten/stoppen/opnemen enz. te activeren zonder mijn sticks te laten vallen. De beschikbare commerciële oplossingen waren te duur of niet praktisch omdat b.v. onmogelijk om op mijn rek te monteren. Dus bedacht ik deze doe-het-zelf-knopdoos op basis van de beroemde Arduino micro .Het kan worden gemonteerd op standaard buizen van 38 mm die door Roland-rekken worden gebruikt om de doos vast te houden.

Als je een 3D-printer hebt en je eigen remote box wilt bouwen, gebruik dan de onderstaande instructies.

Instructies:

1. Print de 2 rackklemdelen en de boxbody uit. PLA werkt prima, maar als je meer stabiliteit wilt, gebruik dan PETG. Combineer de klem met een M4x40-schroef als as tussen de 2 delen, draai de schroef vast, maar zorg ervoor dat deze nog steeds gemakkelijk kan draaien. Gebruik een M6-vleugelschroef en moer als spanner om stevig op uw rack te houden. Gebruik 2x M3x4-schroeven (of iets dergelijks) en moeren om het bovenste klemgedeelte met de doos te combineren.

2. Voor het frontpaneel heb je verschillende keuzes. Misschien wilt u uw eigen variant ontwerpen, afhankelijk van uw gewenste knoppen. Gebruik een van de beschikbare sjablonen voor het voorpaneel in stl (voor 3D-printer) of svg (voor CNC) om je eigen voorpaneel te maken. (Ik besloot het paneel op mijn DIY CNC-machine te maken omdat ik het gegraveerde ontwerp leuk vond.. .maar een 3D-geprint paneel werkt prima.)

3. Nadat je frontpaneel klaar is, steek je de knoppen erin en soldeer je ze op de juiste Arduno-poorten (zie toewijzing hieronder). Ik heb besloten om een ​​aparte print te gebruiken om meer ruimte te hebben, maar dat is niet verplicht. Als je dit doet, gebruik dan de 4 gaten in de hoek om de print vast te houden. Sluit tot slot het frontpaneel en zet het vast met 2 M3-schroeven.

4. Programmeren van de Arduino:Elke Micro Pro is voldoende, zorg er gewoon voor dat het de Adruino Micro PRO is (niet de standaard Arduino micro!) vanwege de ingebouwde USB. Een Arduino Micro Pro die is aangesloten op een pc of laptop kan native een USB-toetsenbord emuleren en kan dus elke toetsaanslag activeren, zelfs functietoetsen en num block-toetsen enz. Micro-pro's zijn verkrijgbaar bij verschillende bronnen, dus het kan zijn dat u uw code moet wijzigen, afhankelijk van de meegeleverde bibliotheken. In mijn geval heb ik besloten om de digitale poorten 2-8 te gebruiken die eerst als interne pull-ups zullen worden geïnitialiseerd. De aangesloten drukknoppen (normaal open) zullen de pinnen naar GND trekken, wat wordt gedetecteerd door de code en de geprogrammeerde actie activeert (geëmuleerde toetsaanslag).

Voor mijn DAW (Cubase) heb ik besloten om de volgende opstelling te gebruiken:

Poort Knop Toets Cubase Functie

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

2 M c Metronoom aan/uit

3 L [Num] 1 Ga naar linkerzoeker

4>> [Num] + Doorsturen

5 <<[Num] - Achteruit

6 P SPACE Afspelen/Stoppen

7 B b Begin

8 R [Num] * Opnemen

Het kan eenvoudig in de code worden gewijzigd zodat het overeenkomt met uw configuratie. Gebruik mijn bijgevoegde code als voorbeeld.

Geniet ervan.

Code

  • Arduino Micro Pro-code voor rack-knopdoos
Arduino Micro Pro-code voor rack-knopdoosC/C++
zorg ervoor dat u de micro pro in uw arduino IDE
/* ROLAND RACK BUTTON BOX Opmerking:dit is voor de Arduino Pro Micro! Emuleert een toetsenbord om toetsen in te drukken op een aangesloten pc voor een DAW (hier:Steinberg Cubase). optioneel:gebruikt geëmuleerde UART COM-poort via USB (voor debuggen) en LED's (RX en TX LED) op microboard TOETSEN:config voor Cubase:https://steinberg.help/cubase_elements_le_ai/v9/de/cubase_nuendo/topics/key_commands/ key_commands_default_c.html Opdracht :Arduino Micro Port -> Switch on Button Box -> geëmuleerde toets op toetsenbord -> Functie in Cubase Port Switch Key Cubase Functie -------------------- ---------------------- 2 M c Metronoom Aan 3 L [Num] 1 Ga naar Links Locator 4>> [Num] + Vooruit 5 <<[Num] - Achteruit 6 P SPACE Afspelen/Stoppen 7 B b Begin 8 R [Num] * Record mac70 13.01.2021*/#define DEBUG_OUTPUT 0 // indien gedefinieerd als 1, wordt een extra seriële monitoruitgang gegenereerd voor debugging#include // NUM-KEY codes: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 /*// indien nodig ... andere sleutelcodes zoals 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; // De RX LED heeft een gedefinieerde Arduino pinvoid setup(){ // knoppen zijn verbonden met de volgende digitale ingangspinnen // (knop normaal open, indien geactiveerd -> pin wordt verbonden met GND) pinMode (2, INPUT_PULLUP); // Pin 2 wordt ingevoerd met interne weerstand pinMode (3, INPUT_PULLUP); // Pin 3 wordt ingevoerd met interne weerstand pinMode (4, INPUT_PULLUP); // Pin 4 wordt ingevoerd met interne weerstand pinMode (5, INPUT_PULLUP); // Pin 5 wordt ingevoerd met interne weerstand pinMode (6, INPUT_PULLUP); // Pin 6 wordt ingevoerd met interne weerstand pinMode (7, INPUT_PULLUP); // Pin 7 wordt ingevoerd met interne weerstand pinMode (8, INPUT_PULLUP); // Pin 8 is invoer met interne weerstand pinMode (RXLED, OUTPUT); // Stel RX LED in als een output digitalWrite (RXLED, HIGH); // zet de RX LED UIT Keyboard.begin(); // start toetsenbordemulatie Serial.begin (9600); //Hiermee wordt de seriële monitor Serial.println("");if (DEBUG_OUTPUT ==1) Serial.println ("Button Box Serial Monitor"); }void loop(){ Keyboard.releaseAll(); digitalWrite (RXLED, HOOG); // stel de RX LED UIT-vertraging in (50); // korte vertraging // Procesknoppen if (digitalRead (2) ==0) // M {if (DEBUG_OUTPUT ==1) Serial.println ("Button M"); // Afdrukken naar de seriële monitor digitalWrite (RXLED, LOW); // LED aan om activiteit te signaleren Keyboard.press('c'); vertraging (5); Toetsenbord.releaseAll(); while(digitalRead (2) ==0); // wacht tot de knop wordt losgelaten } if (digitalRead (3) ==0) // L { if (DEBUG_OUTPUT ==1) Serial.println ("Button L"); // Afdrukken naar de seriële monitor digitalWrite (RXLED, LOW); // LED aan om activiteit te signaleren Keyboard.press (KEYPAD_1); vertraging (5); Toetsenbord.releaseAll(); while(digitalRead (3) ==0); // wacht tot de knop wordt losgelaten } if (digitalRead (4) ==0) //>> { if (DEBUG_OUTPUT ==1) Serial.println ("Knop>
>"); // Afdrukken naar de seriële monitor digitalWrite (RXLED, LOW); // LED aan om activiteit te signaleren Keyboard.press (KEYPAD_PLUS); while(digitalRead(4) ==0); // wacht tot de knop wordt losgelaten ... de herhaalfunctie van de pc activeert deze toets opnieuw! Toetsenbord.releaseAll(); } if (digitalRead(5) ==0) // <<{ if (DEBUG_OUTPUT ==1) Serial.println("Knop <<"); // Afdrukken naar de seriële monitor digitalWrite (RXLED, LOW); // LED aan om activiteit te signaleren Keyboard.press (KEYPAD_MINUS); while(digitalRead(5) ==0); // wacht tot de knop wordt losgelaten ... de herhaalfunctie van de pc activeert deze toets opnieuw! Toetsenbord.releaseAll(); } if (digitalRead (6) ==0) // PLAY STOP { if (DEBUG_OUTPUT ==1) Serial.println ("Button PLAY/STOP"); // Afdrukken naar de seriële monitor digitalWrite (RXLED, LOW); // LED aan om activiteit te signaleren Keyboard.press(' '); vertraging (5); Toetsenbord.releaseAll(); while(digitalRead (6) ==0); // wacht tot de knop wordt losgelaten } if (digitalRead (7) ==0) // TERUG NAAR START { if (DEBUG_OUTPUT ==1) Serial.println ("Button BACK"); // Afdrukken naar de seriële monitor digitalWrite (RXLED, LOW); // LED aan om activiteit te signaleren Keyboard.press('b'); vertraging (5); Toetsenbord.releaseAll(); while(digitalRead(7) ==0); // wacht tot de knop wordt losgelaten } if (digitalRead (8) ==0) // REC { if (DEBUG_OUTPUT ==1) Serial.println ("Button REC"); // Afdrukken naar de seriële monitor digitalWrite (RXLED, LOW); // LED aan om activiteit te signaleren Keyboard.press (KEYPAD_ASTERIX); vertraging (5); Toetsenbord.releaseAll(); while(digitalRead(8) ==0); // wacht tot de knop wordt losgelaten } }

Aangepaste onderdelen en behuizingen

link naar mijn 3D-bestanden
in thingiverseCAD-bestand op thingiverse.com

Productieproces

  1. Advantech:compacte DIN-rail fanless Embedded Box PC voor intelligente productie
  2. EKF:robuust, aan de muur gemonteerd boxplatform voor spoorweg-, automobiel- en industriële toepassingen
  3. SIGHT:For the Blind
  4. Bewegingsgestuurde AWS IoT-knop
  5. Raspberry Pi CD Box Robot
  6. Injection Molding:nieuwe automatiseringsbenadering voor medische pipettips
  7. 5 hacks voor het verpakken van een doos om transportschade te voorkomen
  8. Indelings- en traceerregels voor het samenstellen van dozen
  9. Belangrijke overwegingen bij het uitbesteden van een assemblageproces voor het bouwen van dozen
  10. Dingen om te overwegen voor het assemblageproces voor het bouwen van dozen
  11. Containers op maat maken voor autofabrikanten en leveranciers