Arduino MIDI bas pedaler (8 / 11 steg)
Steg 8: Programmering (Debouncing växlar x 12)
Här är våra debounced loop. Observera att vi också lagrar debounce gånger som 12 oberoende värden:
int buttonState [12]. den nuvarande behandlingen från ingångsstiftet
int lastButtonState [12] = {låg, låg, låg, låg, låg, låg, låg, låg, låg, låg, låg, låg};
lång lastDebounceTime [12] = {0,0,0,0,0,0,0,0,0,0,0,0}; förra gången utgångsstiftet var toggled lång debounceDelay = 50; debounce tiden; öka om utdata flimrar
för (int x = 0; x < 12, x ++) {
currentPin [x] = digitalRead(pedalPins[x]);
om (currentPin [x]! = lastButtonState[x]) {
lastDebounceTime [x] = millis();
}
om ((millis() - lastDebounceTime[x]) > debounceDelay) {
om (currentPin [x]! = buttonState[x]) {
buttonState [x] = currentPin [x];
om (currentPin[x]==0) {Serial.print ("Pedal"); Serial.Print(x+1); Serial.println ("Up"); }
om (currentPin[x]==1) {Serial.print ("Pedal"); Serial.Print(x+1); Serial.println ("ned"); }
}
}
lastButtonState [x] = currentPin [x]; }
}
Arbeten stor! Ingen upprepande utlösare nu. Bara ren upp och ner händelser. Låt oss göra MIDI!