Po mojom prvom pokuse o DIY prestavbu starého DJ mixu na USB MIDI kontrolér som si uvedomil, že by bolo skvelé vytvoriť a mať kompletnú zostavu, ktorú som vytvoril sám. DJ USB MIDI Mixer bol hotový, takže som sa zameral na ovládanie virtuálnych DJ deckov v TRAKTORe (alebo v akomkoľvek inom DJ softvéri, ako SERATO alebo MIXXX), a tak som vývoj vlastného MIDI kontroléru, ktorý by my umožnil ovládať Deck.

  1. Funkcie & MIDI mapovanie
  2. Návrh
  3. Hardware
  4. Firmware
  5. Downloads

Functionality & MIDI mapping

Jednotlivé ovládacie prvky a ich funkcie boli navrhnuté s ohľadom na moje potreby a skúsenosti s TRAKTOR SCRATCH PRO 2, ale nie je problém každú položku premapovať na akýkoľvek iný DJ softvér.MIDI mapping for DIY MIDI DJ Deck controller - Control Items layout on the top panel and its functions in TRAKTOR DJ software

Design

Celkový návrh bol urobený v Google SketchUp, aby bol prehľad o umiestnení všetkých ovládacích prvkov a aby bolo možné navrhnúť jednotlivé DPS a podľa toho vyrobiť aj predný panel. Pretože ide o úplne prvý prototyp, nešpekuloval som nad zložitou výrobou skrinky a rozhodol som sa vložiť všetky prvky a elektroniku medzi dve platne z akrylátuh (plexisklo) s hrúbkou 2 mm. Hrúbka horného panelu 2 mm určite nestačí na to, aby sa predišlo ohýbaniu pri stláčaní tlačidiel, ale upevnenie DPS ktoré obsahujú ovládacie prvky, hlavne teda tlačítka sú cez distančné stĺpiky uchytené k spodnej časti, takže to nie je až taký problém. Výnimkou sú dosky pre arkádové tlačidlá pre funkciu ŠTART a STOP (a posuvník Tempo), takže okolo týchto tlačidiel je nainštalovaných niekoľko ďalších distančných stlpíkov pre spevnenie vrchného panelu v tejto oblasti.

Design of DIY MIDI DJ Deck controller - Google sketchup design of the construction with descrition of particular parts

Hardware

Pretože rôzne typy prvkov rozhrania majú aj rôzne rozmery (najmä výšku), celý MIDI kontrolér pozostáva z niekoľkých rôznych PCB podľa typu ovládacích prvkov na ňom (tlačidlá, potenciometre, arkádové tlačidlá...). Uchytené sú na stĺpikoch rôznych výšky, aby sa dosiahla rovina pre horný panel. Jednotlivé dosky sú prepojené zo zákadovou, ktorá obsahuje mikrokontrolér (PIC18F4550). Hlavná doska je zodpovedná za multiplexovanie vstupov a spracovanie prichádzajúcich a odchádzajúcich signálov z a do jednotlivých dosiek pre ovládacíe prvky a tiež komunikáciu s počítačom cez USB pripojenie (odosielanie a prijímanie dátových MIDI paketov).

Základová doska

Za logiku a spracovanie všetkých signálov a MIDI dátovú komunikáciu s počítačom (v oboch smeroch) je zodpovedný 8 bitový mikrokontrolér strednej triedy PIC18F4550 s možnosťou pripojenia cez USB. Hlavná doska pozostáva z mikrokontroléra a niekoľkých 8-bitových statických posuvných registrov (4021) na spracovanie signálov tlačidiel, sériových a paralelných posuvných registrov (74HC959) pre LED diódy a jedného 8-kanálového analógového multiplexora/demultiplexora (4051) pre analógové vstupy FX potenciometrov a Tempo slider.

DIY MIDI DJ Deck controller - Main board PCB view with description of particular input / output connectors

Ovládanie FX (efektov)

Riadiaca doska FX obsahuje 4 potenciometre a rovnako 4 tlačidlá s podsvietenými modrými LED na ovládanie TRAKTOR FX jednotiek. Potenciometre fungujú ako delič napätia. Delené analógové signály sú multiplexované do jedného z multiplexerovým čipov 4051 na hlavnej doske a signál je potom spracovaný mikrokontrolérom prostrednícvom jeho ADC vstupu (ADC znamená Analógovo-digitálny prevodník) .

DIY MIDI DJ Deck controller - Photo of FX unit board with buttons and potentiometers for controlling of FX effects in TRAKTOR DJ software

Ovládanie CUE POINTov

Riadiaca doska pre Cue pointy je jednoduchá doska s 8 dotykovými tlačidlami s pull-up odpormi bez podsvietenia. Signály z tlačidiel spracováva posuvný register 4021 a mikrokontrolér PIC 18F4550 na základnej doske.

 

Ovládanie LOOPS

Rovnaký návrh ako ovládanie Cue pointov - jednoduché (tactile) mikrotlačítka bez podsvietenia.

DIY MIDI DJ Deck controller - Photo of Loop control PCB board with buttons for controlling of loops in TRAKTOR DJ software

Tlačídlá START/STOP & CUE

Dve priehľadné tlačidlá Arcade s modrými LED diódami. Pretože prúdový odber štyroch LED je príliš vysoký a prekračuje prúdový limit na jeden výstup mikrokontroléra, bolo potrebné použiť ako spínací prvok tranzistor. Obe tlačidlové PCB majú rovnaký dizajn so 4 modrými LED pod tlačidlom.

DIY MIDI DJ Deck controller - Photo of arcade buttons with PCBs for START, STOP and CUE function in TRAKTOR DJ software

Otočný ovládač decku - JOG WHEEL

Pre ovládanie správanie Decku bolo použité riešenie s modifikáciou starého hardisku. Rozobral som zopár starých diskov zo šuflíka a zistil že jeden znich je trochu iný ako ostatné. Taký, kde bolo možné demontovať samotný motor bez zbytočných konštrukčných dielov rámu, takže lepšie zapadá do dispozície a neplytvá priestorom okolo. Podľa rozmerov som navrhol DPS s operačnými zosilňovačmi. Napätie ktoré generujú cievky pri otáčaní rotora hardisku je príliš malé na priame spracovanie mikrokontrolérom (alebo inou logickou súčiastkou), pre sú použité zosilovače, ktoré menia nízkonapäťový výstup z cievok na impulzy s dostatočnou napäťovou úrovňou, tak aby ich mohol mikrokontrolér spracovať. Transformované signály sú pripojené priamo k mikrokontroléru na základnej doske bez použitia posuvného registra, majú vyhradený zvlášť vstup na mikročipe.

DIY MIDI DJ Deck controller - Jog Wheel made from old HDD for platter controlling in TRAKTOR DJ software

Otočný ovládač - gombík

Primárne sa používa na výber zo zoznamu skladieb / knižnice, ale môže byť veľmi užitočný aj pre iné funkcie MIDI. Závisí od kreativity autora MIDI mapovania. Kodér má vlastnú dosku plošných spojov s pull-up rezistormi a konektorom pre pripojenie k základovej doske.

deck control rotary knob

Ostatné funkcie

Doska v tvare L s tlačidlami s modrými podsvietenými LED diódami. Obsahuje ovládanie výberu deckov a ďalších funkcií , ako je kvantovanie, snap, tok, master, synchronizácia, zapnutie/vypnutie slučky.

DIY MIDI DJ Deck controller - Photo of PCB board for controlling functions like quantize, snap, sync, master in TRAKTOR DJ software

SHIFT Tlačidlo

Malá jednoduchá doska s talčítkom bez podsvietenia..

DIY MIDI DJ Deck controller - Photo of PCB board of shift button for modifier function in TRAKTOR DJ software

Firmware

Zodpovedný za spracovanie signálov a odosielanie MIDI dát cez USB do počítača je mikrokontrolér PIC 18F4550 od firmy Microchip. Na vývoj firmvéru používam MPLAB X IDE (svojho času verzia 3.40.) a základný C kompilátor pre 8bitové mikrokontroléry rodiny XC8. Na ladenie a programovanie čipu PIC bol použitý programátor PICKIT3. USB MIDI rozhranie je vytvorené knižnicami Microchip pre USB MIDI komunikáciu. Súvisiace súbory boli vytiahnuté z knižníc a zahrnuté do projektu, aby sa dosiahla prenosnosť projektu v rozsahu jedného priečinka, takže nie je potrebné mať nainštalovanú MLA knižnicu. Stiahnutie projektu MPLAB je k dispozícii v sekcii na stiahnutie nižšie.

Downloads

Google Sketchup fileGoogle Sketchup (Design)

Eagle CAD softwareEagle CAD File (schematic + PCB)

Microchip MplabX IDE projectFirmware - Microchip MPLABX IDE

Traktor DJ - MIDI mappingMIDI mapping for TRAKTOR 2