lastState = currentState; delay(10);

void loop() bool currentState = digitalRead(buttonPin); if (currentState == LOW && lastState == HIGH) noteOn(0, 60, 127); // Note C4 on channel 1, velocity 127 noteOff(0, 60, 0); // Send note off immediately

void setup() pinMode(buttonPin, INPUT_PULLUP);

void noteOn(byte channel, byte pitch, byte velocity) midiEventPacket_t event = channel, pitch, velocity; MidiUSB.sendMIDI(event); MidiUSB.flush();