I finished the hardware today, which means i can concentrate on the programming side of this project.
All ICs run via the arduinos 3.3V line, which runs fine so far, the arduino is powered via USB
Parts used in the sequencer so far:
3x 1to8 Multiplexer
- 1 for the buttons of step 1-8
- 1 for the buttons of step 9-16
- 1 for additional buttons like >play< / >up< / >down< / >bpm< / >shift< plus 3 additional buttons i didnt come up with so far.
2x 8to1 Demultiplexer
- 1 for LED 1-8
- 1 for LED 9-16
- (dont forget the 7Segment display)
2x 4channel optocouplers
- 1 for triggering each voice, two so far
For now my c-program is able to multiplex the buttons and write an 8bit-word in an array (called sub-array), which runs fine so far.
Next is to flipflop the state of the different positions in another array (called main-array), recognize double-clicks and write a routine that:
1)reads the main-array and triggers the sounds according to the step number, step number++
2) enters a subroutine where it loops a and b and c:
a) read the buttons into the sub-array
b) write the LEDs
c) change the state of the main-array according to the sub-array
3) till the interrupt of the next step comes where it starts with 1) again
I use sub- and main-array, because if i use more then one voice which i obviously plan to, i need one array that just buffers the buttons, and depending on the voices i need an array for every voice, that holds the patterns themselves.
Also i need additional arrays if i want to implement features like “accent” or “glide” or automation in any kind.
In the upper part of the picture are potis, of a monotron classic and a monotron delay.
By seperating the potis from the PCB i get the PCB of the monotrons way flatter and i can place the potis where i want.
In my case its as close as possible