Ajuda com controlador midi

eu consegui descobri onde estava a questão!!

Os programas no computador usam Códigos ControlChange, enquanto o que eu havia criado estava totalmente feito em ProgramChange

então agora eu quero entender como faço pra ligar leds em cada botão... por exemplo .. quando aperto botão 1 acende o led acima dele... e se eu apertar denovo o mesmo botão o led apaga!!! .. eu estou usando botões sem trava como de fliperamas.

Preciso descobrir onde usar "plugar os leds" no Arduino UNO.... e também se é possivel colocar um potenciometro pra usar como "volume master" e onde ligaria isso no ARDUINO Também

o codigo que estou usando com 12 botões esta assim

#include <MIDI.h>

MIDI_CREATE_DEFAULT_INSTANCE ();

byte patchNum = 0;
byte bankNum = 0;
byte controle = 0;

void setup() {
pinMode(2,INPUT_PULLUP);
pinMode(3,INPUT_PULLUP);
pinMode(4,INPUT_PULLUP);
pinMode(5,INPUT_PULLUP);
pinMode(6,INPUT_PULLUP);
pinMode(7,INPUT_PULLUP);
pinMode(8,INPUT_PULLUP);
pinMode(9,INPUT_PULLUP);
pinMode(10,INPUT_PULLUP);
pinMode(11,INPUT_PULLUP);
pinMode(12,INPUT_PULLUP);
pinMode(13,INPUT_PULLUP);
MIDI.begin(MIDI_CHANNEL_OMNI);
}

void loop() {
if (digitalRead(13) == LOW && patchNum < 127){
patchNum++;
MIDI.sendProgramChange(patchNum,1);
delay(200);
}

if (digitalRead(12) == LOW && patchNum >= 1){
patchNum--;
MIDI.sendProgramChange(patchNum,1);
delay(200);
}

if (digitalRead(2) == LOW ){
if (controle == 0) {
controle = 127;
}else{
controle = 0;
}
if (controle == 0){
MIDI.sendControlChange(1,0,1);
delay(200);
}else{
MIDI.sendControlChange(1,127,1);
delay(200);
}
}

if (digitalRead(3) == LOW ){
if (controle == 0) {
controle = 127;
}else{
controle = 0;
}
if (controle == 0){
MIDI.sendControlChange(2,0,1);
delay(200);
}else{
MIDI.sendControlChange(2,127,1);
delay(200);
}
}

if (digitalRead(4) == LOW ){
if (controle == 0) {
controle = 127;
}else{
controle = 0;
}
if (controle == 0){
MIDI.sendControlChange(3,0,1);
delay(200);
}else{
MIDI.sendControlChange(3,127,1);
delay(200);
}
}

if (digitalRead(5) == LOW ){
if (controle == 0) {
controle = 127;
}else{
controle = 0;
}
if (controle == 0){
MIDI.sendControlChange(4,0,1);
delay(200);
}else{
MIDI.sendControlChange(4,127,1);
delay(200);
}
}

if (digitalRead(6) == LOW ){
if (controle == 0) {
controle = 127;
}else{
controle = 0;
}
if (controle == 0){
MIDI.sendControlChange(5,0,1);
delay(200);
}else{
MIDI.sendControlChange(5,127,1);
delay(200);
}
}

if (digitalRead(7) == LOW ){
if (controle == 0) {
controle = 127;
}else{
controle = 0;
}
if (controle == 0){
MIDI.sendControlChange(6,0,1);
delay(200);
}else{
MIDI.sendControlChange(6,127,1);
delay(200);
}
}

if (digitalRead(8) == LOW ){
if (controle == 0) {
controle = 127;
}else{
controle = 0;
}
if (controle == 0){
MIDI.sendControlChange(7,0,1);
delay(200);
}else{
MIDI.sendControlChange(7,127,1);
delay(200);
}
}

if (digitalRead(9) == LOW ){
if (controle == 0) {
controle = 127;
}else{
controle = 0;
}
if (controle == 0){
MIDI.sendControlChange(8,0,1);
delay(200);
}else{
MIDI.sendControlChange(8,127,1);
delay(200);
}
}

if (digitalRead(10) == LOW ){
if (controle == 0) {
controle = 127;
}else{
controle = 0;
}
if (controle == 0){
MIDI.sendControlChange(9,0,1);
delay(200);
}else{
MIDI.sendControlChange(9,127,1);
delay(200);
}
}

if (digitalRead(11) == LOW ){
if (controle == 0) {
controle = 127;
}else{
controle = 0;
}
if (controle == 0){
MIDI.sendControlChange(10,0,1);
delay(200);
}else{
MIDI.sendControlChange(10,127,1);
delay(200);
}
}
}