Close

01.05.2023

A project log for Tablet Synth

Hardware-software synthesizer, based on the previous Tektonika project. The controls are borrowed from ASM's Hydra synthesizers.

slpostmannSl_Postmann 05/01/2023 at 06:090 Comments

I once again redrawn the design of the front panel of the electronic unit.

The reasons for this are more than compelling.
1. Provide 16 arpeggiator positions instead of eight;
2. Provide the ability to redesign with minimal rework, for a standard fixed version of the 19" rack format (19"x3U). Standalone, without a tablet or with a more serious separate computer in the same rack;
3. Technologically simplify the design for both manual production and with the possibility of UV - printing on aluminum - polyethylene composite and CNC - milling.
In addition, I experimented with reading an array of encoders (8, 12, 16 pieces) using the BluePill board and 74HC165 registers. The results are positive.
Fragment of code for polling eight encoders:

void PanEncLvl(void)

{

j=0;

for(ben=0; ben<16;ben++)

{InEncBuff[ben+1]= InEncBuff[ben];}

InEncBuff[0] = ~SPI1->DR ;

do{

tmpENC = InEncBuff[0];

tmpSh1 = 0x0003&(tmpENC>>(2*j));

tmpENC = InEncBuff[1];

tmpSh2 = 0x0003&(tmpENC>>(2*j));

compENC = ((tmpSh2<<2)|tmpSh1);

switch (compENC)

{ case 0x0001: EncLvl[j]++; break;//click right

case 0x0007: EncLvl[j]++; break;//click right

case 0x000e: EncLvl[j]++; break;//click right

case 0x0008: EncLvl[j]++; break;//click right

case 0x0002: EncLvl[j]--; break;//click left

case 0x000b: EncLvl[j]--; break;//click left

case 0x000d: EncLvl[j]--; break;//click left

case 0x0004: EncLvl[j]--; break; } ;//click left

j++ ;

}while (j<8);

}

Discussions