Codigo controlador midi basico

Hola!, estoy contruyendo un controlador midi muy simple.
Quiero que tenga 5 potenciometros (uno por cada analog in)
Me he basado en este esquema:

y en este codigo que es una mejora del codigo del proyecto de la imagen:

void setup()
{
   Serial.begin(31250);       // Default speed of MIDI serial port
   pinMode(13, OUTPUT);       // Light LED on pin 13 to notify of readynes
   digitalWrite(13, HIGH);
}

int iAn0Val, iAn1Val;

void loop()
{
   //Slider X
   int iAn0ValPrev = iAn0Val; //Get the previous value of slider X
   iAn0Val = analogRead(0)/8;
   analogPinMidiTX(1,iAn0Val,iAn0ValPrev); //TX the value of slider X
   
   //Slider Y
   int iAn1ValPrev = iAn1Val; //Get the previous value of slider Y
   iAn1Val = analogRead(1)/8;
   analogPinMidiTX(2,iAn1Val,iAn1ValPrev); //TX the value of slider Y
}

void analogPinMidiTX(int iChan, int iVal, int iValPrev)
{  
  //only TX the value over midi if it is changed, as to prevent spamming the midi port and thus confusing the receiving application in learning mode
  if(iValPrev != iVal)
  {
    MidiTX(176,iChan,iVal);
  }
}

void MidiTX(unsigned char MESSAGE, unsigned char CONTROL, unsigned char VALUE) //pass values out through standard Midi Command
{
   Serial.print(MESSAGE);
   Serial.print(CONTROL);
   Serial.print(VALUE);
}

El problema es que este codigo está hecho para ser utilizado con solo 2 potenciometros, y a mi me gustaría utilizar 5 como ya dije. Qué modificaciones tengo que hacer en el codigo para conseguirlo?

Un saludo y gracias de antemano

No tengo mucha idea de lo que hace esto.

te pregunto que hacen cada uno de los dos potenciómetros ?

que quieres que haga cuando le pongas 5 ?

Cada uno de los 5 potenciometros manda una señal midi distinta, para controlar distintos parametros de un software de sonido. No se si me explico.
Aqui te dejo un video de como funciona el proyecto de la imagen, para ver si aclara algo:

Lo tienes muy facil. Ya tienes creadas dos variables, una para cada potenciometro. Debes de crear tantas como potenciometros mas vayas a usar.
Y luego copiar la funcion que tiene cada variable dentro del loop y pegarla tantas veces como variables hayas creado, cambiado el nombre de la variable.

Si te fijas vien veras lo que cambia en cada variable, y podras añadir otras nuevas.

Ademas creo que el codigo no esta bien del todo, pero primero prueba a añadir los potenciometros.

Ten en cuenta que para poder usar el arduino como controlador midi, tienes que usar programas como el midiyoke o el midiox, si no, no te lo reconocerá ningún software.

gracias por las respuestas, ya lo tengo todo controlado, excepto un potenciometro que no funciona y creo que es porque lo he quemado con el soldador... falta de experiencia :cold_sweat:
aquí dejo el código:

void setup()
{
   Serial.begin(31250);       // Default speed of MIDI serial port
   pinMode(13, OUTPUT);       // Light LED on pin 13 to notify of readynes
   digitalWrite(13, HIGH);
}

int iAn0Val, iAn1Val, iAn2Val, iAn3Val, iAn4Val;

void loop()
{

    //1
   int iAn0ValPrev = iAn0Val; 
   iAn0Val = analogRead(0)/8;
   analogPinMidiTX(1,iAn0Val,iAn0ValPrev); 
   
   //2
   int iAn1ValPrev = iAn1Val; 
   iAn1Val = analogRead(1)/8;
   analogPinMidiTX(2,iAn1Val,iAn1ValPrev); 
   
   //3
   int iAn2ValPrev = iAn2Val; 
   iAn2Val = analogRead(2)/8;
   analogPinMidiTX(3,iAn2Val,iAn2ValPrev); 
   
   //4
   int iAn3ValPrev = iAn3Val; 
   iAn3Val = analogRead(3)/8;
   analogPinMidiTX(4,iAn3Val,iAn3ValPrev); 
   
   //5
   int iAn4ValPrev = iAn4Val; 
   iAn4Val = analogRead(4)/8;
   analogPinMidiTX(5,iAn4Val,iAn4ValPrev); 
   
  
}

void analogPinMidiTX(int iChan, int iVal, int iValPrev)
{  
  //only TX the value over midi if it is changed, as to prevent spamming the midi port and thus confusing the receiving application in learning mode
  if(iValPrev != iVal)
  {
    MidiTX(176,iChan,iVal);
  }
}

void MidiTX(unsigned char MESSAGE, unsigned char CONTROL, unsigned char VALUE) //pass values out through standard Midi Command
{
   Serial.print(MESSAGE);
   Serial.print(CONTROL);
   Serial.print(VALUE);
}

mañana subo una foto de como me ha quedado todo ensamblado con su caja y todo, es bastante original el diseño :grin:

hola, tengo un controlador midi con tan solo un potenciometro,tarjeta Arduino Leonardo,he copiado tu plano tal y como esta ahí,solo que con un potenciometro y me funciona, solo que el potenciometro en el pluguin no funciona como debería,da saltos y se queda tembleque, pienso que s tema de valores en la programacion,ni idea, pero seguro eu tu sabes.gracias