Ok so recently I pulled two wireless units out of an old weather station and wireless thermometer. Since the two performed a simple task of sending the temp from the thermometer to the indoor receiver I thought it would be simple to get them working with Arduino.
After much playing I have managed to set them up so the first Arduino sends a 1 or 0 depending on which button I press, the 0 to turn an LED off and 1 for on. When the receiver receives these signals it turns its LED on or off dependent on what it receives.
The above now works fine at 1200 baud but must be right next to each other, the sender has a solid copper twirled arial and the receiver just a black piece of wire I added. My issue is that for the setup to work they have to be right next to each other, whereas when it was in the station they could be a few meters apart? So will baud rate effect this or is something else amiss like interference and noise meaning the arduino never receives a clear message?
Thanks in advance!
Baud rate can affect distance. The greater the distance, the greater the chance of corruption.
My guess, though, is that the piece of wire you added for the antenna is not the proper length, type, etc. to make a good antenna, so you have crippled the range.
Ok understood, the piece of wire I used was off an old RC car and was it's arial and the copper twirled one is as is but I in twirled it, will it work as a better arial if short and twirled rather than long and straight?
As for baud will increasing the baud perhaps increase range or does it not work like this?
Antenna length is dependent on the RF frequency being used, such as 315MHz or 434 MHz. What frequency is your wireless using?
Ah then we might have an issue as I haven't a clue due to it coming out an old device and due to it having no relevant markers that I understand. The sender has a www.hh.com and SL-TX583 plus a silver components with R433 on it. Then the receiver just has www.hh.com and SL-RX585 on it?
mentions the SL-TX583 as being a 433MHz transmitter.
Try using 17cm wire antenna with that.
I have used just simple 30 guage wirewrap wire for 433MHz antennas, works to 40-50 feet at least, transmitter powered from a LiPo battery.
www.hh.com opens up "The Hecker Law Group, PLC" home page, not much help.
My bet is that the silver can with the R433 is a SAW oscillator and you are looking at 433.something MHz parts. This is a very common config.
They will be set up for on-off-keying, most likely -- also very common.
I do recommend using the Arduino VirtualWire library with these sorts of things:
This writeup also has lots of good info about the ins and outs of these radios. The virtual wire protocol has some error checking and redundancy in it that you will likely need in any but the very simplest circumstances.
There is a trade-off between signalling rate and reliability/range. Faster is obviously more likely to be affected by noise. But you have to have a certain floor on the rate, as the receiver uses a automatic-gain-control circuit, and too-slow signalling will cause problems with the AGC locking on. Something like 1,000 baud would be a good bet to start with.
Thanks you both so much, I'm useless at gaining information from such little writing! I will certainly try that length wire when I get the chance and also 1000 baud as well since I thought you had to go up in doubles starting at 300, eg. 300, 600, 1200, 2400 etc
Thanks so much!
I thought you had to go up in doubles starting at 300, eg. 300, 600, 1200, 2400 etc
Only if you need a "standard" UART async protocol, but these radios will not handle normal async very well. They work better with a serial encoding that has a more even distribution of 0s and 1s, and one that has a recognizable training preamble for the AGC circuit to lock onto. The Virtual Wire library handles all that.
The dominate spec for bit error rate in a RF modulated link is the modulation bandwidth utilized by the the receiver circuitry. And as higher bit rates generally require higher modulation bandwidth it's pretty likely that a given signal to noise ratio received signal will have lower bit error rate if using a narrow modulation channel. The narrower the bandwidth being used the higher the signal to noise ratio will be for a given amount of transmitted power, so it's not so much the carrier frequency being used as the modulation method and channel bandwidth be used to encode and decode the bit steam.
Another way to think of a transmission channel is that minimum power required is proportional to
bandwidth x log (signal/noise ratio) x distance^2
so unless you double the power doubling the bandwidth will reduce the range by sqrt(2).
But this refers to the transmitter and receiver's bandwidth - if they provide more bandwidth
than you are using, simply use it!
SamuelCB, please could you tell me how you have connected it to Arduino ? There are three lines which have to be TX RX and GND but they are titled as A-D-C were you able to map them ?
I use PL2303 USB TTL with arduino serial console.
Thanks in advance
This is from 2 years ago. There is no guarantee that SamuelCB is still around. Why not start your own thread describing your hardware exactly and someone may be able to help.