module radio nrf24 pour transmettre signal midi

Bonjour
je cherche à transmettre du signal midi entre des arduino en passant par des RF24

J’ai un clavier midi qui envoie du signal dans un arduino, lequel est branché sur un rf24 « émetteur », de l’autre coté j’ai un rf24 "récepteur » branché sur un arduino qui doit allumer des leds correspondant aux notes du clavier: les leds s’allument bien mais seulement une fraction de seconde…
j’ai essayé le truc des condensateurs sur l'alim 3,3v des rf24 mais ça ne change rien, je pense que le problème est dans le code mais quoi?
Les leds seront remplacées par des électroaimants et des servos pour jouer des instruments mécaniques
c'est pour terminer ce projet:
ici
ici aussi
et là

Pour ce qui est du midi ça fonctionne très bien quand je branche un câble à la place des transmetteurs nrf24

merci d'avance!
jérémie

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(7, 8);
int inByte;
const byte rxAddr[6] = "00001";

void setup()
{
  radio.begin();
  radio.setRetries(15, 15);
  radio.openWritingPipe(rxAddr);
  
  radio.stopListening();
  Serial.begin (31250);
}

void loop()
{if (Serial.available()) 
  {
     inByte = Serial.read();
    Serial.write(inByte);
  }
  
  //radio.write(&inByte, sizeof(inByte));
  radio.write(&inByte, 1);
  
  
}
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(7, 8);

const byte rxAddr[6] = "00001";


byte note;          //
byte velocity;       //
int action=2;        //


void setup()
{
  
   pinMode(3,OUTPUT); //R2
  pinMode(4,OUTPUT); //R3
  pinMode(5,OUTPUT); //R4
  
  
  while (!Serial);
  Serial.begin(31250);
  
  radio.begin();
  radio.openReadingPipe(0, rxAddr);
  
  radio.startListening();
}

void loop()
{  byte  incomingByte;
  if (radio.available())
  {
    radio.read(&incomingByte, 1); 
    
    
 
  }
 // if (Serial.available() > 0) {
 // incomingByte = Serial.read();

    // wait for as status-byte, channel 3, note on or off
    switch(incomingByte)
    {
      case 146: // note on message starting
      action=1;
      break;
      
       case 130: // note off message starting
      action=0;
      break;
      
       case 208: // aftertouch not implemented yet
      break;
      
        case 162: // polypressure not implemented yet
      break;
    
   
    } if ( (action==0)&&(note==0) ){ // if we received a "note off", we wait for which note (databyte)
      note=incomingByte;
      playNote(note, 0);
      note=0;
      velocity=0;
      action=2;
    }else if ( (action==1)&&(note==0) ){ // if we received a "note on", we wait for the note (databyte)
      note=incomingByte;
    }else if ( (action==1)&&(note!=0) ){ // ...and then the velocity
      velocity=incomingByte;
      playNote(note, velocity);
      note=0;
      velocity=0;
      action=0;
    }else{
      //nada
    }
    
  }





void playNote(byte note, byte velocity){
  int value=LOW;
  if (velocity >10){
      value=HIGH;
  }else{
   value=LOW;
  
 
}
if(note== 60){
  digitalWrite(3, value);
 

 
}

if(note== 64){
  digitalWrite(4, value);
 
}
if(note== 67){
  digitalWrite(5, value);
 
}


}

bonjour,
fais donc un serial print pour ton recepteur.
déjà, ca parait zarbi ton truc ici

   }else if ( (action==1)&&(note==0) ){ // if we received a "note on", we wait for the note (databyte)
      note=incomingByte;
    }else if ( (action==1)&&(note!=0) ){ // ...and then the velocity
      velocity=incomingByte;
      playNote(note, velocity);

après tu ré initialise ton value en LOW au lieu de laisser faire le if

void playNote(byte note, byte velocity){
  int value=LOW;
  if (velocity >10){
      value=HIGH;
  }else{
   value=LOW;

oh mince j'avais pas vu que quelqu'un avait répondu.. et moi qui attendait des nouvelles du forum sur ma boite mail.. j'ai du oublié de cocher une case !!
merci pour le conseil en tous cas.
Oui alors j'ai pas encore tenté de modifier la boucle if, on va voir si ça change qq chose.
par contre avec serial println (DEC) je sais que je reçois plus ou moins mes notes midi sur le récepteur le problème c'est que la fenêtre du moniteur série ne me propose pas de communiquer à 31250 bauds et donc je reçois des séries de caractères cabalistiques ..