Serial Communication, receiver output strength

I'm trying to get wireless serial communication working with two arduino boards and a RF transmitter + receiver pair. Transmission between the transmitter and receiver seems to work fine. Monitoring the transmitter shows data is being delivered. Monitoring the receiver shows data is being received.

The problem I'm having is with the signal coming out of the receiver. The voltage range is between 1.5V and 2.5V. How would I normalize this range so it is between 0V and 5V.

Which RF transmitter/receivers are you using?

The problem I'm having is with the signal coming out of the receiver.

Is this the data signal or the receiver AGC (automatic gain control - a function of the signal strength)?

The voltage range is between 1.5V and 2.5V. How would I normalize this range so it is between 0V and 5V.

I am not sure you would want to normalise this but if you did it would involve a couple of op amps.

I'm using these rf links http://www.sparkfun.com/commerce/product_info.php?products_id=8950 http://www.sparkfun.com/commerce/product_info.php?products_id=8946

I'm sure its the data signal. Pin 2 of the receiver http://www.sparkfun.com/commerce/images/products/08950-02-L.jpg

Even trying the other data pin, the result is the same.

I figure the reason why the signals can't be read by the receiving arduino board is because the range is to small to discern. That maybe if the range is increased, the resolution/clarity of the signal will increase. I could be wrong, any suggestions on how to make it work?

Hmm...the funky things about these receivers is you have to keep banging them with data so the AGC circuit can keep "locked on" to the receive strength. If you just try to send 1 byte you will be disappointed.

Try sending a stream of 0x55 bytes, continuously without stopping, at about 2400bps.

It still does not work. Let me explain my situation a bit clearer.

I have two arduino boards, one is connected to an RF transmitter and the other is connected to an RF receiver.

The transmitter works because when I monitor the voltage coming out of it's data/send pin, the level is consistent with the message being sent. What I mean by this is the voltage level rises when I send an increasing signal and the voltage level drops when I send a decreasing signal.

The receiver seems to work because when I monitor the data/receive pin, I also sense voltage. Although the voltage level does not correspond with that of the transmitter, it also rises and falls with the signal being sent (although the range is pretty small).

My problem is trying read the received signal into the receiving arduino board. I'm testing whether the board is receiving a signal with the following code: if(Serial.available()) //send a high signal out to a pin which is wired to an led else //send a high signal out to a different pin that is wired to a different led

You can probably guess that the else pin lights up. I'm using the RX(0)/TX(1) pins between the boards and links.

Any suggestions on what is wrong?

Try using different pins other than Rx(0) and Tx(1). Those pins are connected to the USB transceiver on the boards and can be overriding the RF receiver (which is very weak).

The transmitter works because when I monitor the voltage

How are you monitoring the voltage. Is it a multimeter? If so that tells you little.
Is it an analogue value you are feeding in or what. It is not very clear what your set up is.

One thing it could be, and this is just a guess is that you are feeding the serial output of one arduino through the transmitter and feeding the receiver’s output to the serial input of an other arduino. Is this right because you have not said it.

If so then:-
The problem I’m having is with the signal coming out of the receiver.
The voltage range is between 1.5V and 2.5V.
Is your problem. You need to put it through a transistor to make it into the full logic level input levels. Then it will be upside down so you can either put it through another transistor to turn it back or put the transmit side through a transistor first to compensate.

First off, let me say thanks for your inputs.

I'll try the different pins with softwareserial. I was hoping it would be plug and play but i guess it's not.

GrumpyMike, you guessed it. Serial output to the transmitter and the receiver into the serial input. Again, I was hoping it would just be plug and play but I guess not.

I know the multimeter doesn't give good information but I was just looking to see if data was being sent/received. And I don't have access to an oscilloscope.

The signal I'm outputting is an analog signal analogWrite(a_byte) in the loop() function

Any other ideas are welcome