PDA

View Full Version : 32 Encoders and 16 Slide Pots


Abbott
05-24-2010, 09:19 PM
I have two arduinome 64's, one is full for samples and one is split with 32 on either side for controls and synths. I'm looking to put 32 rotary encoders and 16 slide pots to be used for controls and synths, 16 and 8 on either side of the main arduinome. This is all run in ableton. I am guessing that I won't have any problem running these controls and synths in Ableton seeing that this would be very similar to using a faderfox. 4 Midi cpu's and what do I need to do for programing?

John
05-25-2010, 11:48 PM
I have two arduinome 64's, one is full for samples and one is split with 32 on either side for controls and synths. I'm looking to put 32 rotary encoders and 16 slide pots to be used for controls and synths, 16 and 8 on either side of the main arduinome. This is all run in ableton. I am guessing that I won't have any problem running these controls and synths in Ableton seeing that this would be very similar to using a faderfox. 4 Midi cpu's and what do I need to do for programing?

Hi Abbott,

The MIDI CPU should work well for this. I'll post two configurations: one for 12 encoders, and one for 4 encoders + 8 slide pots. The configurations can be duplicated for use with either side of your project.

First, the wiring diagram for 12 x rotary encoder looks like this:

http://highlyliquid.com/support/img/midi-cpu/midi-cpu-rotary-encoder.jpg

The configuration SysEx follows. More info about sending the SysEx to the MIDI CPU is here:

http://forum.highlyliquid.com/showthread.php?t=280


// MIDI CPU Control Terminal Configuration
// 12 x Rotary Encoder Input
// CC #s 0 thru 11

// Fixed Header Identifies the Control Terminal Configuration Message
F0 00 01 5D 04 01

// This byte identifies the configuration "layer".
// Layer 0 is the "primary" layer.
00

// Control Terminal Configuration Chunks
// Each chunk is 6 bytes: nn tt mm ch d0 d1
// nn = terminal number
// tt = transition
// mm = mode
// ch = channel
// d0 and d1 are mode-specific parameters

// Control Terminal #0
// nn = 00h
// tt = 00h (always use tt=0 for encoder modes)
// mm = 14h (rotary encoder, CC)
// ch = 00h (channel set by jumper)
// d0 = 00h (CC #0)
// d1 = 11h (CC value comes from this encoder, not somewhere else)
00 00 14 00 00 11

// Control Terminal #1 - same config as #0
01 00 14 00 00 11

// Next 11 control terminal pairs--same config..
// ...just increment d0 and d1 for each pair

// CT #2-3 - CC #1
02 00 14 00 01 12
03 00 14 00 01 12

// CT #4-5 - CC #2
04 00 14 00 02 13
05 00 14 00 02 13

// CT #6-7 - CC #3
06 00 14 00 03 14
07 00 14 00 03 14

// CT #8-9 - CC #4
08 00 14 00 04 15
09 00 14 00 04 15

// CT #10-11 - CC #5
0A 00 14 00 05 16
0B 00 14 00 05 16

// CT #12-13 - CC #6
0C 00 14 00 06 17
0D 00 14 00 06 17

// CT #14-15 - CC #7
0E 00 14 00 07 18
0F 00 14 00 07 18

// CT #16-17 - CC #8
10 00 14 00 08 19
11 00 14 00 08 19

// CT #18-19 - CC #9
12 00 14 00 09 1A
13 00 14 00 09 1A

// CT #20-21 - CC #10
14 00 14 00 0A 1B
15 00 14 00 0A 1B

// CT #22-23 - CC #11
16 00 14 00 0B 1C
17 00 14 00 0B 1C

// Fixed Footer
F7


I'll post the next configuration as a reply.

John
05-26-2010, 12:31 AM
Ok, here's the other part--4 rotary encoders and 8 potentiometers.

I'm assuming that the potentiometer value is between 1kohm and 10kohm.

The wiring diagram:

http://highlyliquid.com/support/img/midi-cpu/midi-cpu-4enc-8pot.jpg

...I left control terminals 18 and 19 open, in case you need to go with external reference voltages. This would be a simple addition to the diagram.

Control terminals 14 and 15 are open, since they don't accept analog input.

The SysEx:


// MIDI CPU Control Terminal Configuration
// 4 x Rotary Encoder Input
// CC #s 12 thru 15
// 8 x Potentiometer Input
// CC #s 16-23

// Fixed Header Identifies the Control Terminal Configuration Message
F0 00 01 5D 04 01

// This byte identifies the configuration "layer".
// Layer 0 is the "primary" layer.
00

// Control Terminals #0 & #1 - CC #12
00 00 14 00 0C 11
01 00 14 00 0C 11

// CT #2-3 - CC #13
02 00 14 00 0D 12
03 00 14 00 0D 12

// CT #4-5 - CC #14
04 00 14 00 0E 13
05 00 14 00 0E 13

// CT #6-7 - CC #15
06 00 14 00 0F 14
07 00 14 00 0F 14

// CT #12 - CC #16
// nn = 0Ch
// tt = 00h (always use tt=0 for analog modes)
// mm = 04h (analog input, CC)
// ch = 00h (channel set by jumper)
// d0 = 10h (CC #16)
// d1 = 0Eh (CC value comes from this pot, not somewhere else)
0C 00 04 00 10 0E

// CT #13 - CC #17
0D 00 04 00 11 10

// CT #16 - CC #18
10 00 04 00 12 03

// CT #17 - CC #19
11 00 04 00 13 06

// CT #20 - CC #20
14 00 04 00 14 07

// CT #21 - CC #21
15 00 04 00 15 08

// CT #22 - CC #22
16 00 04 00 16 09

// CT #23 - CC #23
17 00 04 00 17 0A

// Fixed Footer
F7


Hope this helps--please let me know if I can provide more information.