hi, I have a need to use a cheap rf transmitter that will transmit a fixed string of bytes. I do not want to use a microcontroller at the tx end as I feel this is overkill and am trying to keep the costs down as I will have many of these units. The rx circuit will be connected to arduino and will be able to determine which device sent the info by the data rx'ed. Any help greatly appreciated. greg
I do not want to use a microcontroller at the tx end as I feel this is overkill and am trying to keep the costs down
I don't think there is anything simpler and cheaper than using a microcontroller here. Thats why they where invented in the first place: they are simple - they are cheap
You want a simple cheap digital transmitter that can take in some information and transmit it.
You have audio in the form of DTMF is the old phone number signaling technique.
You have simple single tone high / low signaling. i.e you send binary data with one frequency for zero and another for one.
Since you have no microcontroller at the transmitting end you can't do any error correcting codes.
Scrounge the RF transmitter and receiver from some crap toy and use that, some have up to six channels.
Without more information I can't guess what would work. I'd just use an arduino, bare bones board and one of the cheap short range transmitters. If you are doing a thousand then I'd go with an attiny in an SMD package.
I do not want to use a microcontroller at the tx end as I feel this is overkill and am trying to keep the costs down as I will have many of these units.
The alternative to using a micro controller is to have a shift register clocking the transmitter being fed by a parallel output EPROM and clocked by a counter.
However, this is nether cheaper nor simpler than using a controller. Maybe you want to look at some of the smaller PICs or controllers for this, you can get small 8 pin chips for under a dollar.
For simple applications like that it's hard to beat the little 8 pin picaxe chip. It's programmed in basic, has a free IDE avalible, contains a TTL level serial uart and needs minimum external components to work. I like to think of it as the 555 chip of the micro world.
gg23 I would be looking at some of the remote control ICs (the ones used in car/garage door openers). These (non learning) have a code setting where the code is set and it is sent when one of the buttons is pressed. The rx end usually either sends out a series of '1's' and '0's' corresponding to the code PLUS the button, or is available as a BCD.
Some of them run on 12v, and include a transmitter..so it might half your job easier.
I'm at work, and the info is at home ...so suggest you search the internet. LP801 was one I found
Maybe you want to look at some of the smaller PICs or controllers for this, you can get small 8 pin chips for under a dollar.
ah you said the P word, anyway its defiantly not simpler but there a couple arduino ports for the attiny84 (well I got one working anyway) and one in the works for a 85 which takes some of that complexity down a notch, course a pre bootloaded 328 goes for < 5$ most of the time
thank you everyone for your thoughtful responses. I have decided to go with: 8-Bit Parallel-In/Serial-Out Shift Register to generate the unique 8 bit code and a RF Link Transmitter - 315MHz to transmit the data received from the shift register. I have thought of the wireless doorbell option but as I need to place several in close proximity I have not been able to find a supplier (of cheap ones) that can guarantee that the units will not interfere with one another. To give some background, I run an interactive media class at Vic Uni in melbourne. Students are making an obstacle course using pressure mats, wired into a simple keyboard hack. I have never enjoyed the wiring of these mats to the PC so I have been trying to work out a simple wireless solution. If this works I can place mats anywhere and not worry about running wires. Each mat will have the shift register and the tx unit. When it is stepped on the unit will tx the unique code. At the PC end the rx chip receives the data and feeds the info into an arduino which should be able to determine which mat was pressed on from the unique code. Can anyone see any problems with this scheme?
Thanks again, greg
When it is stepped on the unit will tx the unique code.
I take it you are going to hand set these addresses?
how big of a space are you talking about?
how are you going to tell if 2 mats go off at the same time, yes you have addresses, but if 2 mats are transmitting at the same time how is 1 dumb radio going to see the signal collision?
what I am kind of getting at is maybe there is a nice blend, IE: serial transmissions over something easy to hook up like phone cable, all being sent to a arduino, and from there you can have a wireless link to the host pc
I take it you are going to hand set these addresses?
how big of a space are you talking about?
no bigger than 10m x 10m
no two mats will go off at the same time in the current configuration, but yes that would be a problem
Sounds a very interesting project, and while the lack of wires does solve one problem, it creates others.
There are methods of improving the discrimination of signals, but they are way too complex for this system.
Since you are not using the uP method, you can't employ the master slave arrangement, where you poll each unit in turn, thereby ensuring only one at a time......
If there is an opportunity for two to work at once, you might be able to have two seperate frequencies, and just handle two data streams.
hi, following up on mark's suggestion have found some great modules at:
great prices but am not familiar with this technology so wondering if you could help. I am looking at the:
excellent price for what it does. My question is that I would have to provide seperate tx units for each mat, as the tx devices are spread out. Can I use any of the available tx units? e.g.
How do I know which will work with the abovementioned unit. Thanks for your help greg
gg23 great work... The type of transmitter needs to not be rolling code, or learning code, so that you can decide what code you want. The below looks like a great start. (might need to get some myself at that price).
For the Rx http://www.dinodirect.com/relay-module-dc12v-315mhz-8channel-jdq-8a-currency-AUD.html This looks like an 8 channel board with the 8 outputs driving 8 relays. It should work with 8 remotes each having a different code (think of 8 remotes, each with only one button that works, but all on the same frequency and the same user set code) that matched each output...however there are no datasheets. Despite them speaking different english to you Aussies, I suspect if you ask them, they will have some available. (Their spec tab doesn't give very much). http://www.dinodirect.com/Alarm-Wireless-Remote-Control-Decoding-Receiver-Board-CWC-5-currency-AUD.html This also looks like it might do what you need at the rx end. I had a quick look at Jaycar as I did recall something, and they do have a possible solution, but the price is many times greater than on the dino site. At the price they quoted, getting a couple of tx, and a rx shouldn't break the bank if it doesn't work.
hi mark, thanks for the info. it seems that the following IC's are at the heart of these modules and spec sheets are easy to find i.e. PT2262 and PT2272
To clarify that I understand correctly, each tx module has the capability to have a unique code hard wired, is this correct?
At the rx end how does the unit know which codes to respond to, i.e. Im assuming that 1 tx sends a code and the rx then rx this code, and sets a relay. likewsie if another tx sends its code, then the rx will set another relay.
Thanks again for helping me clear this up.
Richard It was spelt out early in the post that there are not multiple units transmitting.
Greg Your assumption is correct. Page 4 of PT2262 http://www.spelektroniikka.fi/kuvat/PT2272.pdf sends only the address (all 12 bits are high) whenever the switch is operated.
Most of these devices have a dip-switch/jumpers/pcb track to set some/all the ID code, and then have either a single or multiple buttons. The code sent is a combination of both the ID plus the push buttons. When the data is received, the (PT2272) sets the data pins, to match the incoming code.
In your application, you only need 1 button, and to set the code for each unit, such that button plus code is unique.
You just need to ensure the transmitter frequencies are adjusted to be the same, and that only one transmits at a time.
It looks like the PT range will send data as long as pin 14 is held low. Not sure if it only sends x times if the address pins change state, or if its continuous....(My learning remote stops sending if button is jammed, which was great the day it happened to get jammed. ):-[
Hope this helps Mark
Richard In post #9 there was this little bit.
....no two mats will go off at the same time in the current configuration, but yes that would be a problem.....
So the real question at the end of the day is.... Is a dedicated IC that alters its behaviour based on external controls, a uP or Not.????
These could save me a bit or work, rather than using a uP to format a message and transmit to a hand held indicator....In my situation they could be transmitting at the same time, so I need to listen, before sending...