Grabbing Midi Chanels at once
dear members,
i`m newbie in programming arduino. created code grab piezo sensors , send signal different midi chanels. same time push piezo led should glow. works pretty noticed don`t work when hit 2 sensors same time, please me issue? furthermore shure make code more efficient defining more variables. thx help....her code:
int noteon = 144;
int piezo = a0;
int piezo1 = a1;
int piezo2 = a2;
int threshold = 500;//anything on fifty means we've hit piezo
void setup(){
pinmode (2, output);
pinmode (3, output);
pinmode (4, output);
serial.begin(9600);
}
void loop(){
int piezoval = analogread(piezo);
int piezoval1 = analogread(piezo1);
int piezoval2 = analogread(piezo2);
if (piezoval>threshold){
serial.write (noteon);
serial.write (36);
serial.write (127);
digitalwrite(2, low);
delay(100);
digitalwrite(2, high);
}
if (piezoval1>threshold){
serial.write (noteon);
serial.write (37);
serial.write (127);
digitalwrite(3, low);
delay(100);
digitalwrite(3, high);
}
if (piezoval2>threshold){
serial.write (noteon);
serial.write (38);
serial.write (127);
digitalwrite(4, low);
delay(100);
digitalwrite(4, high);
}}
i`m newbie in programming arduino. created code grab piezo sensors , send signal different midi chanels. same time push piezo led should glow. works pretty noticed don`t work when hit 2 sensors same time, please me issue? furthermore shure make code more efficient defining more variables. thx help....her code:
int noteon = 144;
int piezo = a0;
int piezo1 = a1;
int piezo2 = a2;
int threshold = 500;//anything on fifty means we've hit piezo
void setup(){
pinmode (2, output);
pinmode (3, output);
pinmode (4, output);
serial.begin(9600);
}
void loop(){
int piezoval = analogread(piezo);
int piezoval1 = analogread(piezo1);
int piezoval2 = analogread(piezo2);
if (piezoval>threshold){
serial.write (noteon);
serial.write (36);
serial.write (127);
digitalwrite(2, low);
delay(100);
digitalwrite(2, high);
}
if (piezoval1>threshold){
serial.write (noteon);
serial.write (37);
serial.write (127);
digitalwrite(3, low);
delay(100);
digitalwrite(3, high);
}
if (piezoval2>threshold){
serial.write (noteon);
serial.write (38);
serial.write (127);
digitalwrite(4, low);
delay(100);
digitalwrite(4, high);
}}
if (for example) piezo1 exceeds threshol,d write info, digitalwrite , delay(100). if, say, piezo2 had exceeded threshold @ same time, time delay piezo1 over, piezo2 have dropped below threshold don't see happen.
you need implement variation of "blink without delay" code can respond simultaneous events.
pete
you need implement variation of "blink without delay" code can respond simultaneous events.
pete
Arduino Forum > Using Arduino > Programming Questions > Grabbing Midi Chanels at once
arduino
Comments
Post a Comment