User Tools

Site Tools


arkade

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
arkade [2009/01/01 17:51]
goule
arkade [2016/07/04 01:54] (current)
psykhaze [Source code]
Line 1: Line 1:
-====== Arkade ​Wiki Page ====== +====== ​MB Arkade ​ ====== 
-===== What Arkade is ===== + 
-\\ \\ +{{:​ark_main2.jpg?​650}} 
-<box 350px right round> + 
-{{:​ark_main2.jpg?​325px*}} +===== Introduction ===== 
-</​box>​ +
-\\+
 **Arkade is a MIDI controller that embeds pairs of everything** :-o : **Arkade is a MIDI controller that embeds pairs of everything** :-o :
  
Line 14: Line 13:
   * A pair of knobs   * A pair of knobs
   * Midi In / Out + sustain / expression / switch pedal   * Midi In / Out + sustain / expression / switch pedal
-\\ \\ \\ \\ \\ \\ + 
-<box 350px right round> +{{:​ark_back.jpg?​600}} 
-{{:​ark_back.jpg?​325px*}}+
 Sustain, expression, and switch pedal inputs; MIDI In/Out, power Sustain, expression, and switch pedal inputs; MIDI In/Out, power
-</​box>​ + 
-\\ +===== Original Design Ideas =====
-**The ideas I had at the beginnig of designing the Arkade were** :+
  
   * Unusual sensor types (sliders forbidden :-X - knobs tolerated ;-))   * Unusual sensor types (sliders forbidden :-X - knobs tolerated ;-))
Line 28: Line 26:
   * Able to send program changes and even note on/off easily   * Able to send program changes and even note on/off easily
   * Two persons may play it live (2nd pair of joysticks) without bothering each other   * Two persons may play it live (2nd pair of joysticks) without bothering each other
-  * ... anything that cood be missing on any midi controler, like a simple MIDI-gating button (labeled "​Freeze/​Cut"​ on the Arkade). By gating I mean : momentary set the level of any controller to zero while you hold the gate button pressed, and back to normal when you release it.  Well, you have buttons on many MIDI surfaces out there but they never gate the output of another controler; they just transmit their own value and you have to program the gating by yourself - quite hard (not to say "​impossible"​) in most cases. On the Arkade, the gate button just ... gates, whichever sensor you're touching ! +  * ... anything that could be missing on any midi controler, like a simple MIDI-gating button (labeled "​Freeze/​Cut"​ on the Arkade). By gating I mean : momentary set the level of any controller to zero while you hold the gate button pressed, and back to normal when you release it.  Well, you have buttons on many MIDI surfaces out there but they never gate the output of another controler; they just transmit their own value and you have to program the gating by yourself - quite hard (not to say "​impossible"​) in most cases. On the Arkade, the gate button just ... gates, whichever sensor you're touching !
-\\ +
-\\+
  
-===== What Arkade does ===== 
  
 +===== Features =====
  
-  * for __all the sensors__, you can set :+  * for **__all the sensors__**, you can set :
     * the midi channel     * the midi channel
     * the controller n°     * the controller n°
Line 41: Line 37:
     * the direction (normal/​inverted)     * the direction (normal/​inverted)
     * a name (that will appear automatically when touched)     * a name (that will appear automatically when touched)
-\\ + 
-  * for __the two ribbon controllers__,​ you have two extra settings :+  * for **__the two ribbon controllers__**, you have two extra settings :
     * mode (CC/note = will behave like a synth keyboard, generating notes on/off instead of continuous controller values)     * mode (CC/note = will behave like a synth keyboard, generating notes on/off instead of continuous controller values)
     * release (keep = last value kept after release / RTZ = return to zero after release)     * release (keep = last value kept after release / RTZ = return to zero after release)
-\\+
   * Arkade embeds a full bankstick module so that you can store 128 presets   * Arkade embeds a full bankstick module so that you can store 128 presets
   * A single preset is a full set of parameters for the entire panel controllers (all the parameters described upper x nb of sensors)   * A single preset is a full set of parameters for the entire panel controllers (all the parameters described upper x nb of sensors)
Line 53: Line 49:
   * There'​s a USB port on the back that powers a flexible light (very cheap and handy in live situations)   * There'​s a USB port on the back that powers a flexible light (very cheap and handy in live situations)
   * You can enable/​disable the infra-red distance sensors (and even the ribbons) by pressing a simple button, no need to enter submenus !   * You can enable/​disable the infra-red distance sensors (and even the ribbons) by pressing a simple button, no need to enter submenus !
-\\ 
-\\ 
  
-===== What Arkade requires ​=====+ 
 +===== Assembly ​=====
  
   * 1x core, 1x AIN, 1x DIN, 2x DOUT (one is 100% dedicated to the joystick'​s bargraphs)   * 1x core, 1x AIN, 1x DIN, 2x DOUT (one is 100% dedicated to the joystick'​s bargraphs)
Line 87: Line 82:
  
   * Soldering the bargraphs was a piece of a Hell ... so many cables, so few space !   * Soldering the bargraphs was a piece of a Hell ... so many cables, so few space !
-  * Adapting some of the sensors to the MBHP platform needed some conditionning (use of caps, resistors, many values were tried to find the right ones). The response curve of Sharp'​s IR distance sensors is logarithmic;​ I've linearized them in a software ​way but you could also find a way to have hardware linearization (I'm interrested by the diagram if you find this 8-)). Anyway, the software linearization doesn'​t require that much CPU and they'​re still very reactive ;-). I'll post some of the sensor conditionning tips (components & values) later on.+  * Adapting some of the sensors to the MBHP platform needed some conditionning (use of caps, resistors, many values were tried to find the right ones). The response curve of Sharp'​s IR distance sensors is logarithmic;​ I've linearized them in a software ​manner ​but you could also find a way to have hardware linearization (I'm interrested by the diagram if you find this 8-)). Anyway, the software linearization doesn'​t require that much CPU and they'​re still very reactive ;-). I'll post some of the sensor conditionning tips (components & values) later on.
   * The ability to update the OS on the machine in a single click (thanks to MIOS Studio) just rocked   * The ability to update the OS on the machine in a single click (thanks to MIOS Studio) just rocked
   * Special thank to my friend who could directly put my Autocad file in his drilling machine at his work to build the frontpanel   * Special thank to my friend who could directly put my Autocad file in his drilling machine at his work to build the frontpanel
Line 93: Line 88:
   * I'd like to thank all the guys @ ucapps/​midibox that offered me great help in hard situations ;-) thank you guys ! (TK, audiocommander,​ stryd_one, moebius, and so many more ...)   * I'd like to thank all the guys @ ucapps/​midibox that offered me great help in hard situations ;-) thank you guys ! (TK, audiocommander,​ stryd_one, moebius, and so many more ...)
  
-===== Source code =====+===== Firmware ​=====
  
 Here is my entire code for this application,​ written in C. Here is my entire code for this application,​ written in C.
Line 103: Line 98:
 \\ Olivier \\ Olivier
 \\ \\
-\\ +{{arkade:​arkade.zip|}}
-{{:​arkade.zip|}}+
 \\ \\
 \\ \\
 ---- ----
-\\ +\\ [[http://​www.midibox.org/​forum/​index.php/​topic,​9396.0.html|Link to Arkade'​s topic in Midibox forum]] 
-[[http://​www.midibox.org/​forum/​index.php/​topic,​9396.0.html|Link to Arkade'​s topic in Midibox forum]]+\\ [[http://​www.myspace.com/​aerodrink|Myspace Aerodrink - Sounds]]
 \\ \\
  
arkade.1230832276.txt.gz · Last modified: 2009/01/01 17:51 by goule