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
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.