bueno vuelvo a poner el codigo que me equivoque en algo
int a; int b; int z;
int pul1 = 2; int p1 = 0;
int pul2 = 8; int p2 = 0;
int s7; int v7; int c8;
void setup() {
pinMode(pul1, INPUT);
pinMode(pul2, INPUT);
Serial.begin(9600);
}
void loop() {
c8 = digitalRead(pul1);
v7 = digitalRead(pul2);
if ((v7 == HIGH)&&(z=12)) {
(a = 39);
(b = a+z);
}
if (v7 == LOW){
(z==0);
}
if ((c8 == HIGH)&&(z=12)) {
(a = 39);
(b = a-z);
if (c8 == LOW){
(z==0);
}
s7 = digitalRead(pul1);
if (s7 == HIGH) {
a = 36;
no(159,b,127);
}
if (s7 == LOW ) {
a = 36;
no(143,b,0);
}
}
void no(byte cmd, byte note, byte velocity){
Serial.println(cmd);
Serial.println(b); <<<<< este valor se debe sumar y restar al presionar los pulsadores
Serial.println(velocity);
delay(1000);
}
la idea es que cada vez que oprima s7 el valor de b sea constante y al presionar v7 o c8 se sume o se reste este valor con 12 osea z=12 si a=39
lo que trato de hacer es algo parecido en C++ aqui dejo el ejemplo, ya lo hize con un pic pero no he podido realizarlo en arduino:
void main(void)
{int a=0,b=0, c=0, d=0, e=0, f=0, g=0, h=0, i=0, j=0, k=0, l=0, m=0, n=0;
set_tris_a( 0xff );
set_tris_b( 0xff );
set_tris_e( 0xff );
while(true)
{
if(input(PIN_E0)==1)
{a=a+12;
while(input(PIN_E0)==1)
{}}
if(input(PIN_E1)==1)
{a=a-12;
while(input(PIN_E1)==1)
{}}
if ((input(PIN_B7)==1)&&(b==0))
{
fputc(146,mic);
fputc(60+a,mic);
fputc(126,mic);
b=5;}
if ((input(PIN_B7)==0)&&(b==5))
{ fputc(130,mic);
fputc(60+a,mic);
fputc(126,mic);
b=0; }
if ((input(PIN_B6)==1)&&(c==0))
{
fputc(146,mic);
fputc(61+a,mic);
fputc(126,mic);
c=5; }
if ((input(PIN_B6)==0)&&(c==5))
{fputc(130,mic);
fputc(61+a,mic);
fputc(126,mic);
c=0; }
if ((input(PIN_B5)==1)&&(d==0))
{
fputc(146,mic);
fputc(62+a,mic);
fputc(126,mic);
d=5; }
if ((input(PIN_B5)==0)&&(d==5))
{
fputc(130,mic);
fputc(62+a,mic);
fputc(126,mic);
d=0; }
if ((input(PIN_B4)==1)&&(e==0))
{
fputc(146,mic);
fputc(63+a,mic);
fputc(126,mic);
e=5; }
if ((input(PIN_B4)==0)&&(e==5))
{
fputc(130,mic);
fputc(63+a,mic);
fputc(126,mic);
e=0; }
if ((input(PIN_B3)==1)&&(f==0))
{
fputc(146,mic);
fputc(64+a,mic);
fputc(126,mic);
f=5; }
if ((input(PIN_B3)==0)&&(f==5))
{
fputc(130,mic);
fputc(64+a,mic);
fputc(126,mic);
f=0; }
if ((input(PIN_B2)==1)&&(g==0))
{
fputc(146,mic);
fputc(65+a,mic);
fputc(126,mic);
g=5;}
if ((input(PIN_B2)==0)&&(g==5))
{
fputc(130,mic);
fputc(65+a,mic);
fputc(126,mic);
g=0; }
if ((input(PIN_B1)==1)&&(h==0))
{
fputc(146,mic);
fputc(66+a,mic);
fputc(126,mic);
h=5; }
if ((input(PIN_B1)==0)&&(h==5))
{
fputc(130,mic);
fputc(66+a,mic);
fputc(126,mic);
h=0;
}
if ((input(PIN_B0)==1)&&(i==0))
{
fputc(146,mic);
fputc(67+a,mic);
fputc(126,mic);
i=5;}
if ((input(PIN_B0)==1)&&(i==5))
{
fputc(130,mic);
fputc(67+a,mic);
fputc(126,mic);
i=0;
}
if ((input(PIN_A0)==1)&&(j==0))
{
fputc(146,mic);
fputc(68+a,mic);
fputc(126,mic);
j=5;}
if ((input(PIN_A0)==0)&&(j==5))
{
fputc(130,mic);
fputc(68+a,mic);
fputc(126,mic);
j=0;
}
if ((input(PIN_A1)==1)&&(k==0))
{
fputc(146,mic);
fputc(69+a,mic);
fputc(126,mic);
k=5;}
if ((input(PIN_A1)==0)&&(k==5))
{
fputc(130,mic);
fputc(69+a,mic);
fputc(126,mic);
k=1;
}
if ((input(PIN_A2)==1)&&(l==0))
{
fputc(146,mic);
fputc(70+a,mic);
fputc(126,mic);
l=5; }
if ((input(PIN_A2)==0)&&(l==5))
{
fputc(130,mic);
fputc(70+a,mic);
fputc(126,mic);
l=0;
}
if ((input(PIN_A3)==1)&&(m==0))
{
fputc(146,mic);
fputc(71+a,mic);
fputc(126,mic);
m=5; }
if ((input(PIN_A3)==0)&&(m==5))
{
fputc(130,mic);
fputc(71+a,mic);
fputc(126,mic);
m=0; }
if ((input(PIN_A4)==1)&&(n==0))
{
fputc(146,mic);
fputc(72+a,mic);
fputc(126,mic);
n=5; }
if ((input(PIN_A4)==0)&&(n==5))
{
fputc(130,mic);
fputc(72+a,mic);
fputc(126,mic);
n=0;
}
}
}
gracias!