Hi.
Products i use are = WRL-10533 && WRL-10535
I bought them to communicate (at low price and place) between a sensor with an ATMEGA328 (5 to 20 meters) and a Arduino UNO. I don’t get it.
I tryed the example code KLP Walkthrough Tutorial and the RFASK_example_code that SFE gives on the product page, but nothing works.
I tryed to use them with newsoftserial, and no matter what i send to the transmitter i only have a high amount of noise on my Rx pin (the receiver). If i send a byte (lets say 255) 3 times, i monitor the serial Rx Port and i never see these 3 255.
Here is a piece of code with newSoftSerial (i use the same UNO for Rx an Tx)
/////// port Série supplémentaire ////////
#include <NewSoftSerial.h>
NewSoftSerial radio(11, 12); // PIN de reception / PIN d'emission
unsigned long currentTime = millis();
unsigned long lastSendTime = 0;
void setup() {
  radio.begin(4800);
  Serial.begin(4800);
  Serial.println("Start");
}
void loop(){
  currentTime = millis();
  if(currentTime - lastSendTime > 100){
    lastSendTime = currentTime;
    Serial.println("");
    Serial.print("Envoi : ");
    for( int T=1; T<4; T++){
      byte yo = 255;
      radio.print(yo);
    }
  }
  checkFMReceive();
}
void checkFMReceive(){
  if(radio.available() > 0) {
    byte charFM = radio.read();
    int yo = charFM;
    Serial.print(yo);
    Serial.print(" ");
  }
}
I tryed this code with virtualWire, but i don’t see any byte printed in the serial Monitor
#include <VirtualWire.h>
unsigned long currentTime = millis();
unsigned long lastSendTime = 0;
void setup()
{
  Serial.begin(4800);	// Debugging only
  Serial.println("setup");
  // Initialise the IO and ISR
  vw_setup(4800);	 // Bits per sec
  vw_set_rx_pin(2);
  vw_set_tx_pin(3);
    
  vw_rx_start();       // Start the receiver PLL running
}
void loop()
{
  currentTime = millis();
  if(currentTime - lastSendTime > 100){
    lastSendTime = currentTime;
    sendMess('A');
    sendMess('B');
    sendMess('C');
    sendMess('D');
    sendMess('E');
  }
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
  if (vw_get_message(buf, &buflen)) // Non-blocking
  {
    int i;
    Serial.println("Got: ");
    for (i = 0; i < buflen; i++)
    {
      Serial.print(buf[i]);
      Serial.print(" ");
    }
  }
  
  
}
void sendMess(char quel){
  char msg = quel;
  vw_send((uint8_t *)msg, quel);
  vw_wait_tx(); // Wait until the whole message is gone 
}
I simply don’t understand how these RF modules works.
I plugged two 23 cm wire for antennas, but the RF modules are only at 5 cm distance.
I plugged a cap to filter the Vcc of the receiver, but nothing change.
I saw some posts on the subject but nothing helps me.
may i have more luck with a new topic
thank you