Bluetooth + RF 433mhz

Slt à tous, cela fait quelques temps que je suis sur mon projet domotique mais je butte sur un point
voila le sujet :
-je possède 2 arduino, un uno et un nano
-je connecte mon tel en bluetooth a mon uno pour envoyer soit un A soit un B
et a partir de la mon uno envoi par 433mhz un commande a mon nano qui allume une led si il recoit A=on ou qui l’éteint si='il recoit B=off
mais je ne comprend pas ou est le probleme, les commande que j’envoi en bluetooth passe tout les temps, mais apparement cela n’envoi pas tout le temps la commande en 433mhz
pouvez vous regarder mon code et me dire ce que vous en pensez

PS, j’ai attaché les fichier en bas de page normalement

code uno

#include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !


void setup()
{
    Serial.begin(9600);
    vw_setup(2000);               // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de la librairie VirtualWire.
    vw_set_tx_pin(3);             // La broche 3 sera utilisée pour transmettre la DATA, vous pouvez changez de broche si vous le désirez.
}

void loop()
{
  if (Serial.read() == 'A' ){
   const char *msg="on";                        // C'est le message à envoyer.
   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx();
delay(200);   // On attend que le message complet soit envoyé.
 }
 
 else if (Serial.read() == 'B' ){
   const char *msg="off";
   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx(); 
   delay(200);
 }
 else{
 }
}

code nano

#include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !
int led=13;

void setup()
{
    Serial.begin(9600);    
    vw_setup(2000);               // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de la librairie VirtualWire.
    vw_set_rx_pin(5);             // C'est sur cette broche que l'on reliera les broches DATA du récepteur, vous pouvez changez de broche si vous le désirez.
    vw_rx_start();                // On démarre le récepteur.
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;
    if (vw_get_message(buf, &buflen)) {
      int i;

        for (i = 0; i < buflen; i++) {
          Serial.write(buf[i]);  // On affiche le message lettre par lettre. Par exemple buf[4] sera égale à la 5ème lettre du mot envoyé (Snootlab donc "t") car on compte le zéro ici.
            }
    if (Serial.read(buf[1]) == 'on' ){
      digitalWrite(led, HIGH);
    }
    
    if (Serial.read(buf[1]) == 'off' ){
      digitalWrite(led, LOW);
    }
  
  }
}

sketch_dec24d.ino (888 Bytes)

sketch_dec24b.ino (1.1 KB)