User Tools

Site Tools


scratchcontroller

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
scratchcontroller [2010/04/14 10:48]
nils
scratchcontroller [2016/07/04 01:44]
psykhaze [Assembly]
Line 1: Line 1:
-Hi. I'm making a MIDI scratch controller.  +======MB-Scratch Controller====== 
-====== ​The problem ​======+ 
 +//By Rasteri// 
 + 
 +{{ ::​neonking:​scratchcontroller.jpg?​direct&​600 |}} 
 +====Introduction : DJ Controllers Issue =====
  
 MIDI DJ controllers generally come with "​JOG"​ wheels, designed to allow the user to move through the track in a similar fashion to vinyl. These wheels are unfortunately nowhere near sensitive enough for scratching. In addition, the crossfaders included in such controllers are usually of low quality and/or too stiff to allow quick cutting. MIDI DJ controllers generally come with "​JOG"​ wheels, designed to allow the user to move through the track in a similar fashion to vinyl. These wheels are unfortunately nowhere near sensitive enough for scratching. In addition, the crossfaders included in such controllers are usually of low quality and/or too stiff to allow quick cutting.
Line 9: Line 13:
   * A smooth, reliable, high quality crossfader with curve control.   * A smooth, reliable, high quality crossfader with curve control.
  
 +**[[http://​midibox.org/​forums/​topic/​10400-scratch-wheel/​|Original Forum thread]]**
 +===== Design =====
  
-====== The solution ======+==== Crossfader ​====
  
-===== Crossfader =====+The crossfader is the simplest part of the project. ​
  
-The crossfader is the simplest part of the project. There are a number of faders on the market specifically designed for scratch DJs. For example :+For example : **[[http://​www.innofader.com/​whichinno.php|Audio Innovate Innofader]]**
  
-  * [[http://​www.eclecticbreaks.com/​proxfade/​|Eclectic Breaks Pro-X-Fade]] 
-  * [[http://​www.infiniumtechnologies.com/​|Infinium Technologies digital fader]] 
-  * [[http://​www.audioinnovate.com/​|Audio Innovate Innofader]] 
-  * [[http://​www.vestax.com/​|Vestax CF-CC]] or CF-PCV 
  
-The analogue ins of the PIC mean the fader can be used with no additional circuitry. Hooray! +==== Jog Wheel ====
- +
- +
-===== Jog Wheel =====+
  
 The jog wheel is slightly more complicated. After considering a number of options, I settled on an optical quadrature wheel design. This consists of two photodiodes spaced slightly apart, and a wheel with a pattern of slits round the circumference. By watching the slits go past the photodiodes,​ you can determine the speed and direction of the turning wheel. Wikipedia has a [[http://​en.wikipedia.org/​wiki/​Rotary_encoder#​Incremental_rotary_encoder|good page]] on this. The jog wheel is slightly more complicated. After considering a number of options, I settled on an optical quadrature wheel design. This consists of two photodiodes spaced slightly apart, and a wheel with a pattern of slits round the circumference. By watching the slits go past the photodiodes,​ you can determine the speed and direction of the turning wheel. Wikipedia has a [[http://​en.wikipedia.org/​wiki/​Rotary_encoder#​Incremental_rotary_encoder|good page]] on this.
Line 34: Line 33:
 I put the two photodiodes into two voltage dividers and wired them into pins 4 and 5 of the PIC. The comparators of a PIC18F4620 (or 4685) can be used to avoid extra circuitry. I put the two photodiodes into two voltage dividers and wired them into pins 4 and 5 of the PIC. The comparators of a PIC18F4620 (or 4685) can be used to avoid extra circuitry.
  
-===== Software ​=====+ 
 + 
 +==== Software ====
  
 The MIOS code tracks the encoder wheel, and counts the number of forward and backward steps. Then every couple of milliseconds it sends the relative position as a CC event. The value of the CC is equal to 64 (0x40)plus/​minus the number of steps, for example for 10 steps back the value would be 54 (0x36). The MIOS code tracks the encoder wheel, and counts the number of forward and backward steps. Then every couple of milliseconds it sends the relative position as a CC event. The value of the CC is equal to 64 (0x40)plus/​minus the number of steps, for example for 10 steps back the value would be 54 (0x36).
Line 41: Line 42:
  
  
-====== How To Build ======+ 
 + 
 +===== How To Build =====
  
 This is how to build the device the way *I* did it. It's not pretty (see photos) but works acceptably. It could be improved upon immensely if you have any actual construction skills, metalwork experience, access to a CNC mill, etc. This is how to build the device the way *I* did it. It's not pretty (see photos) but works acceptably. It could be improved upon immensely if you have any actual construction skills, metalwork experience, access to a CNC mill, etc.
  
 +==== Schematic ====
 +
 +{{ ::​neonking:​scratch-schem.png?​direct&​800 |}}
 +
 +==== Parts ====
  
-===== Ingredients ===== 
  
-You will need : 
  
 === Electronics === === Electronics ===
Line 68: Line 74:
  
  
-===== Assembly ​=====+==== Assembly ====
  
-[[http://picasaweb.google.co.uk/​rasteri/​Scratchtroller/​photo#​5216080813603959586|Here is the assembly diagram]].+{{ ::​neonking:​scratchtroller7.png?​direct&​600 ​|}}
  
-Notes/Hints :+**Notes/Hints :**
  
   * There should be washers between the nuts and the scratch wheel.   * There should be washers between the nuts and the scratch wheel.
Line 79: Line 85:
  
  
-====== Good Stuff ====== 
- 
-===== Code ===== 
- 
-Code can be found in [[http://​www.midibox.org/​forum/​index.php/​topic,​11167.msg94756.html#​msg94756|this forum post]]. 
  
  
-===== Schematics ​=====+===== Firmware ​=====
  
-[[http://picasaweb.google.co.uk/rasteri/Scratchtroller/photo#5216080810302030418|This schematic]] shows how to wire everything up to the PIC. Should be trivially adaptable to work with a "​real"​ midibox core module+Code can be found in <del>[[http://www.midibox.org/forum/index.php/topic,​11167.msg94756.html#msg94756|this forum post]].</​del><​sup>​dead link</​sup>​
  
  
Line 103: Line 104:
  
  
-===== Photos =====+===== Original ​Photos =====
  
 http://​picasaweb.google.com/​rasteri/​Scratchtroller http://​picasaweb.google.com/​rasteri/​Scratchtroller
scratchcontroller.txt · Last modified: 2016/07/04 01:46 by psykhaze