When i disconnect the power from the transmitter the reciver display still shows numbers, but does not count from 0 to 255, itīs shows 1, 244, 34, 55, 23, 99, 138, 232, 233 and so on.... where does this numbers come from?
When i disconnect the power from the transmitter the reciver display still shows numbers, but does not count from 0 to 255, itīs shows 1, 244, 34, 55, 23, 99, 138, 232, 233 and so on.... where does this numbers come from?
Sounds like random noise. There is RF every where.
I think the internal "slicing" capacitor is wondering around giving false data.
If this is the case, depending on what you are going to use this for the solution can pretty easy.
If you are sending commands for a remote control the easy way is to have something like
If you are sending data like what you are now, you may need to set up a way to verify the data. Some sort of encoding / checksums...Code:SERIN ReciverPIN,T1200,[9],Counter IF Counter = ??? THEN XYZ ELSE QRS
The Linx web site has some info on this and dhoustion has a protocal on his web site.
Dave
Always wear safety glasses while programming.
I'm not familiar with the Parallax modules, but if they use the Linx LR series, then this receiver will output random noise even if the transmitter is powered down.
Look at the examples on dhoustons' website, and others he has posted here. He knows what he's doing.
You might also try a search here. I have posted several code examples for RF communications that are very simple to implement, and work quite well with PBP & noisy receivers.
It's just not that simple to get a reliable wireless connection up & going, and it's for sure not going to be anywhere near as simple as a 'wired connection', but there are enough threads here 'with code examples' that cover this if you look hard enough.
Like Bruce, I'm unfamiliar with the modules you chose. From your description it seems like they are superregenerative receivers. Seefor an explanation of the noisy output. It can be caused by environmental factors or come from internal noise sources (e.g. resistors).
Using SerIn with this type of receiver creates two problems. One is that SerIn samples the data at the mid-point of the bit period. If the output is high at that time, you get a 1 bit and, if low, you get a 0 bit. Random noise can give you either state. The other problem is that you need to set the receiver AGC and ATC (Automatic Gain Control & Automatic Threshold Control) and you need to signal the receiver that some data is on the way. The sync bytes recommended by several people who post here are intended to serve those purposes. EDIT: If you look at the bottom picture at the above referenced link, you can see how a signal very much like the sync bytes only gradually emerges from the noise. There is a better way but it depends on the type of data that you wish to transmit.
I would only use SerOut/SerIn if I wanted to send text or lengthy data packets. And these receivers are not the best choice for either. FSK gets away from noise and the receiver has a CD (Carrier Detect) output that tells you when data is coming. FSK modules cost more than ASK but not as much as the ones you've chosen.
For short data packets, I prefer ASK and the NEC protocol illustrated in this threadThe long lead-in pulse sets AGC & ATC and signals that a data packet follows. Since the output is only monitored after seeing the long lead-in, random noise is much less of an issue. Instead of sampling at mid-bit, the receive routine measures the length of the spaces between pulses so it's less likely to be fooled by noise or its absence at mid-bit. (It's even better to measure between rising edges but that requires interrupts.) And each byte is sent twice in bitwise complementary form so error detection is built-in.
What is the nature of the data that you want to transmit?
Last edited by dhouston; - 15th February 2008 at 13:35. Reason: Added italicized sentence re sync bytes & noise
I just buy them to play and try to learn something so i donīt have any nature of data to transmit.What is the nature of the data that you want to transmit?![]()
I looked briefly at the datasheet and these do use the Lynx RXM-433-LR-S chip which is a superhet design (the same one Bruce sells). This has a little better sensitivity and a little less noise than a superregenerative receiver like the RWS-434 but, in essence, it's an AM radio receiver and the noise you see in the absence of a signal is equivalent to the noise you hear on an AM radio when it's tuned between stations.
You can make use of the RSSI pin. Connect it to one of the PIC's ADC pins to get a measure of signal strength. You can use this to compare different antennas, etc.
You can also see the output signal using the techniques I've described here.
How to i know how the the period of the puls?Calibration
When initiating communication between the RF modules, a sync pulse should be sent
to re-establish the radio connection between the modules. Sending several characters
can accomplish this, however sending a pulse (which maintains a high state during the
synchronization) is more efficient.
There is diffrent periods for BS1 and BS2 and mybe another period for my PIC?
Bookmarks