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.
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)