RF modules and arduino's uart

Hello, got a small problem with the 433 MHz rf tx,rx

i’m using arduino with atmega 328

in the picture

http://tinypic.com/view.php?pic=2aetamr&s=7

you can see the LOWER signal is the trasnimted data , the UPPER signal is the recived , i’m using a RF module , now my problem is that in the recived signal (upper) the first signal is DATA and i’m lossing the start bit.

why is it not the same ?

my code is something like

serial.begin(2400);

byte val = 0b00110011;

loop()

{

serial.write(val);

delay(400);

}

anyone can help me understand ?

You probably need to use Manchester code with those modules, for reliable operation.

As Leon said.

Search for VirtualWire.

and a preamble for AGC/thresholding.

Or a real modem/radio.

Thanks for the help

i was wondering why is it happening ?

I don’t think you stated which type of 433MHz Radios you’re using.

If they’re the Really Cheap ones that use on-off-keying (OOK), then the transmitting radio needs to send a string of 1010101010… or hex 0xAA bytes (a few) before sending real data. This preamble lets the “data slicer” op-amp reference voltage establish at about the mean of the voltages that will come in data patterns.

As said above, OOK needs Manchester or similar bit coding to keep the average ratio of 1’s and 0’s to about 50% due to the data slicer which is in essence an integrator.

Now if you have a Radio that uses FSK (frequency shift keying), manchester isn’t needed, but you still need a preamble of 10101010… to train the receiver’s automatic gain control.

“Wireless is a million times harder than wired”

Prof. Paulraj, Stanford Univ.

ok, thanks for the help

i’m using this ones

http://www.sparkfun.com/products/8950

http://www.sparkfun.com/products/8946

this is ASK,

i changed the data transmitting to happen every 40ms

and now its working… any delay above that doesnt work… (2400Baud rate)