Yes Laipac uses ASK and has 2400 bps. I do not understand why the $55,$55,$55,$55,$aa is not always picked up by the receiver when I send it once. It seems like I need to send it the same thing 5 times for it to pick up reasonably well.
Yes Laipac uses ASK and has 2400 bps. I do not understand why the $55,$55,$55,$55,$aa is not always picked up by the receiver when I send it once. It seems like I need to send it the same thing 5 times for it to pick up reasonably well.
The module needs time to get above the noise floor before it can decode the $55 stream correctly. That is why I suggested to just look for the $55,$AA in your code; you still have to transmit the $55s before you send the $AA. Those should be considered as padding and ignored in the receiver. You may increase it beyond the 4 that you have now to improve performance if you will.
Transmit $55,$55,$55,$55,$55,$AA,"data"
Receive .................."ah there it is","data" You ignore the first 4x$55
Jerson
Last edited by Jerson; - 24th April 2007 at 07:56. Reason: <data> shows as blanks
So I should basically send a couple of $55 and then just wait for $55, $aa only?
I'm thinking of coding it like: serin2 PORTB.0, 16780, [WAIT($55, $aa) ,encoded1], would this be good enough?
I think you got the point. Still, tell us your name. JYI1 sounds like a name from the new StarTrek series
Jerson
I have used these extensively (although I get mine direct from WenShing in Taiwan). These are superregenerative ASK receivers. They need a pronounced preamble in order to set the AGC and receive threshold. They work quite well at low data rates using a protocol like the NEC protocol (used by X10 for their wireless remotes) which I've detailed here...You might also benefit from reading this page...You need a fairly good balance between pulses and spaces (which Manchester encoding guarantees) but the fact that you need to send several copies in order to receive reliably indicates you need the initial copies to set the threshold and AGC.
Which output pin are you using? Using the linear (analog) output can complicate things. It's usually best to use the digital output. A good receiving antenna is important. An eggbeater is easy to build and matches the 50-ohm input impedance of the receiver.You can capture the output(s) from the receiver using a soundcard as I show here...which can give you an idea of the quality of the signal as received.
Bruce Reynolds sells the 433.92MHz version of this receiver. I believe he has some example projects with PBP code on his website.
BTW, the fact that your code works with a hardwired connection is another indication that your problems are related to RF signal quality.
Good luck.
Last edited by dhouston; - 24th April 2007 at 21:36.
i had many bug with RF 433mhz
try pause 5 to pause 50
im my circuit pause 5 word perfect
without pause not work for me
my simple test
Code:... transmiter: for i = 1 to 30 serout data_out, N2400, ["<", "A", "B", ">", i] PAUSE 5 next iCode:... receive: serin data_in, N2400, "<ABDC>", TIME_OUT, I if i=1 then ......... TIME_OUT: goto receive
Last edited by mpardinho; - 24th April 2007 at 21:47.
Bookmarks