433MHz rf

ciao, sono addentrato nel mondo di arduino da circa un’anno e vorrei risolvere un problema nel mio ultimo sketch.
Con questi sketch montati su arduino uno e su arduino nano vorrei fare accendere un led a distanza con un pulsante. il problema è che mi lampeggia quando non premo il pulsante(vorrei che rimanga spento).
gli sketch sono:
questo per arduino nano, quello col pulsante

#include <VirtualWire.h>
#define TX_pin 12
#define LED_pin 13
#define PB_pin 3
int prec_Stato=-1;
const char *msg_ON = "1";
const char *msg_OFF = "0";

void setup()
{
  Serial.begin(9600);
  pinMode(LED_pin,OUTPUT);
  pinMode(PB_pin,INPUT);
  digitalWrite(LED_pin, LOW);
  vw_set_tx_pin(TX_pin); 
  vw_setup(5000);        
}

void loop()
{
  int buttonState =  digitalRead(PB_pin);
   
  
     if(buttonState==HIGH){
     vw_send((uint8_t *)msg_ON, strlen(msg_ON));
     digitalWrite(LED_pin,HIGH);}
    
     if(buttonState==LOW)
     {vw_send((uint8_t *)msg_OFF, strlen(msg_OFF));
     digitalWrite(LED_pin,LOW);}
     vw_wait_tx(); 
   
     
  
}

e questo per arduino uno

#include <VirtualWire.h>
#define LED_pin 13
#define RX_pin 11

void setup()
{
    pinMode(LED_pin, OUTPUT);
    digitalWrite(LED_pin, LOW);
    vw_set_rx_pin(RX_pin); 
    vw_setup(5000);        
    vw_rx_start();         
    Serial.begin(9600);  
    Serial.println("Ricevitore attivo: ");
}

void loop(){
    
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;
    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
          if (strncmp((char *)buf,"1",buflen)==0)
            digitalWrite(LED_pin, HIGH); 
        else if (strncmp((char *)buf,"0",buflen)==0)
            digitalWrite(LED_pin,LOW); 
  
      }
}

i moduli che uso per la trasmissione sono

grazie per l’aiuto, ditemi se vi serve qualche altra informazione :smiley:

This is the English forum here

How are things wired ? Print the size of what you got on the Rx side (should be 1) and the actual data received

Are you sure your LED is not a blinking one ?

>lore33: Prima di tutto, [u]nella sezione in lingua Inglese[/u] si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post ...

... poi, essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD ([u]spiegando bene quali conoscenze hai di elettronica e di programmazione[/u] ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Il tuo post [u]è già stato spostato[/u] nell'opportuna sezione del forum "Italiano"

DOPO che avrai fatto quanto su richiesto …
… hai messo l’apposita resistenza di pull-up/pull-down sul pin del bottone ?

Guglielmo