const int N_BUTTONS = 3;
int buttonPin[N_BUTTONS] = {2,3,4};
int buttonState[N_BUTTONS] = {0};
int buttonPState[N_BUTTONS] = {0};
//previous state of the button
unsigned long lastDebounceTime[N_BUTTONS] = {0}; // millis
unsigned long debounceTimer[N_BUTTONS] = {0};
int debounceDelay = 10;
void setup() {
Serial.begin(9600);
for (int i = 0; i < N_BUTTONS; i++) {
pinMode(buttonPin[i], INPUT_PULLUP);
}
}
void loop() {
for (int i = 0; i < N_BUTTONS; i++ ){
buttonState[i] = digitalRead(buttonPin[i]);
debounceTimer[i] = millis() - lastDebounceTime[i];
if (debounceTimer[i] > debounceDelay) {
if (buttonState[i] != buttonPState[i]) {
lastDebounceTime[i] = millis();
if(buttonState[i] == LOW) {
//noteOn(BUTTON_CH, buttonNote[i],127);
// MidiUSB.flush();
//Serial.print("button");
//Serial.print(i);
//Serial.print(" ");
Serial.println("1");
} else {
//noteOn(BUTTON_CH,buttonNote[i], 0);
//Serial.print("button");
//Serial.print(i);
//Serial.print(" ");
//Serial.println("1");
}
buttonPState[i] = buttonState[i];
}
}
}
}