Problemas com módulo RF 433MHz

Eu estou usando um arduino uno para o transmissor (ligado ao pino 12) e o arduino mega como receptor (ligado ao pino 5).A minha ideia era enviar o valor "a", dois segundos depois o valor "A" e dois segundos depois voltaria para o "a", e ficaria nesse loop infinito, sendo que quanto o receptor recebesse o valor "A", um led deveria ser ligado. O problema é que no receptor apenas chega o valor 255, e eu não sei o que está acontecendo. Se puderem me ajudar a identificar o erro.

O módulo que estou usando é igual a esse. Já tentei inverter o pino de dados com o VCC, para ver se não tinha confundido, mas mesmo invertendo apenas chega o valor 255.

código transmissor:

#include <VirtualWire.h>

#define tmp 2000
char comando[1];

void setup() {
  vw_set_tx_pin(12);
  vw_setup(2000);
  comando[0]='a';
}

void loop() {
  if(comando[0]='a'){
    comando[0]='A';
  }else{
    comando[0]='a';    
  }
  
  //vw_send(uint8_t*buf, uint8_t*len)
  vw_send((uint8_t) *comando,strlen(comando));
  vw_wait_tx();
  delay(tmp);

}

código receptor:

#include <VirtualWire.h>

#define led 11

uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buftam = VW_MAX_MESSAGE_LEN;

void setup() {
  vw_rx_start();
  vw_set_rx_pin(5);
  vw_setup(2000);
  pinMode(led, OUTPUT);
  Serial.begin(9600);

}

void loop() {

  //vw_get_message(uint8_t *buf, uint8_t *len);
  if(vw_get_message(buf, &buftam)){
    if(buf[0]=='A'){
      digitalWrite(led, HIGH);
    }else{
      digitalWrite(led, LOW);
    }
Serial.println(buf[0]);    
  }

}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.