moduli rf e arduino

Salve ragazzi, recentemente dovevo sviluppare un piccolo progetto, che consiste nel connettere tramite moduli rf un attiny85 e arduino, i moduli rf sono quelli che si trovano su internet a meno di due euro a paio. Lo scopo del progetto è quello di far segnalare ad arduino, tramite l’accensione di un led, quando non riceve piu’ un segnale dall’attiny85, quando esso è spento o troppo lontano dalla portata dell’arduino. Stavo usando il seguente codice

#include <VirtualWire.h>
    const int TX_DIO_Pin = 0;
    
    void setup() {
      pinMode(1, OUTPUT);
      initialize_transmitter();
    }
    
    /* Main program */
    void loop() {
      int counter;
      for(counter=0; counter<100; counter++) {
        digitalWrite(1, HIGH);  
        transmit_integer(counter);
        digitalWrite(1, LOW); 
        delay(200);
      }
    }
    
    
    /* DO NO EDIT BELOW */
    
    void initialize_transmitter() {
      /* Initialises the DIO pin used to send data to the Tx module */
      vw_set_tx_pin(TX_DIO_Pin);
      /* Set the transmit logic level (LOW = transmit for this version of module)*/ 
      vw_set_ptt_inverted(true); 
      
      /* Transmit at 2000 bits per second */
      vw_setup(2000);    // Bits per sec
    }
    
    void transmit_integer(unsigned int Data) {
      /* The transmit buffer that will hold the data to be 
         transmitted. */
      byte TxBuffer[2];
      /* ...and store it as high and low bytes in the transmit 
         buffer */
      TxBuffer[0] = Data >> 8;
      TxBuffer[1] = Data;
      
      /* Send the data (2 bytes) */
      vw_send((byte *)TxBuffer, 2);
      /* Wait until the data has been sent */
      vw_wait_tx();
    }

per l’attiny85 TX

e

#include <VirtualWire.h>

const int RX_DIO_Pin = 2;
int received;
int led=7;

void setup() {
  pinMode(led, OUTPUT);
    Serial.begin(9600);
    initialize_receiver();
}

/* Main program */
void loop() {
  received = receive_integer();
  if(received != -1) Serial.println(received);
}


/* DO NOT EDIT BELOW */

void initialize_receiver() {
  /* Initialises the DIO pin used to receive data from the Rx module */
  vw_set_rx_pin(RX_DIO_Pin);  
  /* Receive at 2000 bits per second */
  vw_setup(2000);
  /* Enable the receiver */
  vw_rx_start();  
}

int receive_integer() {
 /* Set the receive buffer size to 2 bytes */
  uint8_t Buffer_Size = 2;
  
  /* Holds the recived data */
  unsigned int Data;
  
  /* The receive buffer */
  uint8_t RxBuffer[Buffer_Size];

  if (vw_wait_rx_max(2000))
  /* Has a message been received? */
  if (vw_get_message(RxBuffer, &Buffer_Size)) // Non-blocking
  {

      /* Store the received high and low byte data */
      Data = RxBuffer[0] << 8 | RxBuffer[1];
 
      return Data;
      digitalWrite(led,LOW);
  }
  else {
    digitalWrite(led, HIGH);
  }
  return -1;
}

per l’arduino RX
Solo che il led nell’arduino resta perennemente acceso, avete qualche consiglio?
magari su come risolvere il problema o semplificare il codice?
(il conteggio da 1 a 99 l’ho faccio eseguire solo per stabilire un contatto tra i due moduli ma effettivamente è inutile, basterebbe inviare un intero o un carattere)