Radio modules not working - HELP!

I have a couple radio modules that aren't working together.
The transmitter is this - http://media.digikey.com/pdf/Data%20Sheets/RF%20Solutions%20PDFs/QAM-TX1.pdf
The receiver is this - http://media.digikey.com/pdf/Data%20Sheets/RF%20Solutions%20PDFs/QAM-RX5.pdf
I am trying to make a RC car with Arduino and servomotors. Here's the TX arduino code:

#include <SoftwareSerial.h>
byte fwBttn = 8;//declare the pins as bytes - range from 0-255
byte ltBttn = 4;
byte bwBttn = 2;
byte rtBttn = 6;
byte headLightPin = 5;
byte xb_rx = 7;//DOUT
byte xb_tx = 3;//DIN
boolean moving;
boolean FR;
boolean FL;
boolean BR;
boolean BL;
SoftwareSerial Xbee(xb_rx,xb_tx);

byte keyDelay = 200;//debounce interval
long previousMillis = 0;

void setup(){
Serial.begin(9600);
Xbee.begin(300);//initialize the serial connections
pinMode(headLightPin,INPUT);//declare the inputs and pull them up
pinMode(ltBttn,INPUT);
pinMode(rtBttn,INPUT);
pinMode(fwBttn,INPUT);
pinMode(bwBttn,INPUT);
}
void loop(){
unsigned long currentMillis = millis();
if (currentMillis - previousMillis > keyDelay) {
previousMillis = currentMillis;//debounce

if (!digitalRead(fwBttn)&&!digitalRead(rtBttn)){
Xbee.print("8");
Serial.println("FR");
FL = false;
BR = false;
BL = false;
moving = true;
FR = true;
}
if (!digitalRead(fwBttn)&& FR == false && FL == false){
Xbee.print("8");
Serial.println("Up.");
moving = true;
FR = false;
FL = false;
BR = false;
BL = false;
}
if(!digitalRead(fwBttn)&&!digitalRead(ltBttn)){
Xbee.print("8");
Serial.println("FL");
FR = false;
BR = false;
BL = false;
moving = true;
FL = true;
}
if (!digitalRead(rtBttn)&& FR == false && BR == false){//check the right button
Xbee.print("6");
Serial.println("Right.");
moving = true;
FR = false;
FL = false;
BR = false;
BL = false;
}
if (!digitalRead(ltBttn) && FL == false && BL == false){//the IDE assumes LOW if "!" is before,and HIGH if nothing
Xbee.print("4");
Serial.println("Left.");
moving = true;
FR = false;
FL = false;
BR = false;
BL = false;
}
if(!digitalRead(bwBttn)&&!digitalRead(rtBttn)){
Xbee.print("6");
Serial.println("BR");
FR = false;
FL = false;
BL = false;
moving = true;
BR = true;
}
if (!digitalRead(bwBttn)&& BR == false && BL == false ){
Xbee.print("2");
Serial.println("Down.");
moving = true;
}
if(!digitalRead(bwBttn)&&!digitalRead(ltBttn)){
Xbee.print("4");
Serial.println("BL");
FR = false;
FL = false;
BR = false;
moving = true;
BL = true;
}
if(!digitalRead(headLightPin)){
Xbee.print("h");
Serial.println("Headlight.");
}
if(digitalRead(bwBttn) && digitalRead(fwBttn) && digitalRead(ltBttn) && digitalRead(rtBttn) && moving == true)
{
Xbee.print("5");
Xbee.print("5");
Xbee.print("5");
Serial.println("STOP!");
Serial.println("STOP!");
Serial.println("STOP!");
moving = false;
FR = false;
FL = false;
BR = false;
BL = false;
}
}
}
And here's the receiver code:
#include <SoftwareSerial.h>
#include <Servo.h>
#define rAdioRx 2 //DOUT
#define rAdioTx 3 //DIN
//7 8 9
//4 5 6
//1 2 3
byte rightMotorPin = 4;
byte leftMotorPin = 5;
byte headLightPin = 13; //headlight control
boolean light;//headlight state

Servo servoRight;
Servo servoLeft;
SoftwareSerial rAdio (rAdioRx,rAdioTx);//set up the software serial port

void setup(){
servoLeft.attach(leftMotorPin);
servoRight.attach(rightMotorPin);
pinMode(headLightPin,OUTPUT);
stopRobot();
rAdio.begin(300);//initialize serial communications
Serial.begin(9600);
}

void loop(){
if(rAdio.available()){
char val = rAdio.read();
controlMotor(val);
delay(10);
}
if(Serial.available( )){
char val = Serial.read();
controlMotor(val);
delay(10);
}
}
void controlMotor(char val){
switch (val){

case ('8'):
Forward();
break;

case('6'):
turnRight();
break;

case('5'):
stopRobot();
break;

case('4'):
turnLeft();
break;

case ('2'):
Backward();
break;

case('h'):
headlight();
break;

}
}
void Forward(){
servoLeft.write(130);
servoRight.write(40); // Opposite values propel the wheels forward
Serial.println("F");
}
void Backward(){
servoLeft.write(40);
servoRight.write(130);
Serial.println("B");
}

void stopRobot(){
servoLeft.write(90);
servoRight.write(90);
Serial.println("S");
}
void turnRight(){
servoLeft.write(130);
servoRight.write(90);
Serial.println("R");
}
void turnLeft(){
servoLeft.write(90);
servoRight.write(40);
Serial.println("L");
}
void headlight(){
light =!light;
digitalWrite(headLightPin,light);
Serial.println("H");
}

Those types of Radio Modules will not work with async serial data.
You need to use the Virtualwire Library and a much slower bit rate, 2000 bps or less.

thanks a lot, where do I get virtualwire?
I wont get back very fast, got a lot going on

http://www.airspayce.com/mikem/arduino/VirtualWire/

You may wish to also look at the RadioHead library as well.
Its relatively new, so not a lot of info about it , but has more features.

Finally getting back to this, I ended up using RadioHead. It worked great! Thanks Mauried! :slight_smile: :slight_smile: