Looking for a simple wireless "switch"

Hello,

I am new with all things wireless, so please forgive me if my question is out of place (or not clear). I have a project that uses a momentary push-button switch to act as a "start" button. Currently, this button hardwired to an Arduino input pin and is normally connected to ground through a pull down resistor, but is connected to +5v when the switch is closed.

I'm looking for a way to make this "start" button wireless. I'm ignorant enough about this that I'm having trouble figuring out what I should be searching for. I'm finding lots of information about wireless communication, but it looks like a lot of it is overkill for what I need. I only need one way communication, and the signal doesn't need to include any information beyond a simple "on" or "off" (or would it be something like " a signal is being transmitted" and "there's no signal being transmitted"?). Ideally, I'd like to only use one Arduino board (at the receiving end) in the project.

I'd like the wireless start button to work at a range of about 50 meters outdoors with minimal obstructions (an errant person or two but no walls, trees, etc.).

Can anyone offer any suggestions or point me in the right direction? Even what kind of transmitter/receiver "terms" I should search for would be very helpful. Thanks in advance!

I'll be watching the responses to this.

I was recently reading up on Wixel at Pololu, but it made totally no sense to me. Might be of use to you though...

Use an SC2262 encoder at the push button end, and a SC2272 decoder at the Arduino.
These devices are designed for the transmitting of momentary information and can handle 4 bits, ie
setting 1 or more bits high or low at the transmitting end , causes the equivalent bits at the receiving end to change.
You also need a cheap transmitter and receiver.

Mauried,

Thanks for your prompt response. This sounds promising. However, I'm still not really clear on what you mean (again, remember I have no experience with this). Is this one of the parts?

http://www.amazon.com/Superregeneration-Decoding-Wireless-Receiver-Module/dp/B00E1BX7EK/ref=sr_1_13?ie=UTF8&qid=1379552583&sr=8-13&keywords=SC2272

And so if I'm understanding you correctly, you're saying I would then also need a separate transmitter and receiver? If so, where/how do I shop for these? What are the specs and/or description I should look for?

I've bought my Arduino stuff from Sparkfun, Adadfruit, and Makershed, and none of those sellers offer the SC2262 or SC2272. Not that I expect you to be an expert on all of their inventories, but I'm curious because (in my mind at least) what I'm trying to do is so simple. Do any of those sellers who cater to electronics hobbyists sell something that would work?

In the UK Maplin sell a cheap key-fob transmitter and matching receiver which could be built into your project.

If sourcing the encoder / decoder chips is difficult, then you can use something like an ATtiny at the transmitting end.
You will need to use the Virtualwire library at both ends to handle the data encoding for the Transmitter and Receiver.

I've decided to buy two Wixels- will collect this afternoon.

Will report back over weekend....

mauried,

Thanks a lot for your last response. Those first two links look like exactly what I was hoping for--something fairly inexpensive, plugs directly into my breadboard, and they even list sample Arduino code. I am going to order a pair ASAP.

Here are three follow-up questions:

First, will I want to attach antennas to the transmitter and the receiver? If so, how? The receiver spec sheet says "ANT 13 cm" so I'm assuming I would solder on a 13-cm length of wire(?), but there's no information that I can see about the transmitter's antenna.

Second, I'm reading the sample code provided on the Sparkfun pages, and it looks like it assumes Arduinos being used at both sending and receiving ends. Is an Arduino necessary at the transmitting end if I only want to send the signal "on" or "off"? If so, it's not a deal-breaker as I'm only building one of these things, but I'd like to keep the complexity (and parts list) as simple as possible.

Third, I'm afraid I don't understand what the item at the final link (the ATtiny 85) would do in my project. Are you saying that this would be an option if I was unable to get the dedicated transmitter and receiver?

Thanks again!

You need at the transmitting end some kind of data processing device , either an encoder or a small MCU.
As you previously indicated you had trouble sourcing the SC2262 encoders, then the next option available is
a small Micro at the transmitting end, which is what the ATTiny is for.
Its important to understand that the simple transmitter / receivers by themselves cannot simulate a hard wired link.
Also, you arnt the only person in the world who uses these simple transmitter / receivers, so you must have some way
of identifying your transmissions from any others that your receiver will pick up.
For most people who use these devices , the virtualwire library which needs to run in an Atmel based Micro and does all the hard work for you
is the easiest way.
Note that you will still need to do some basic programming of the Micros at both ends to make this work.

Well I've experimented with Wixels a bit, and so far so good: it might be of use to you?

With one Wixel connected to the laptop with USB, and the other hooked up to the Uno's Rx pin, it's basically just a wireless USB. I've got PuTTY running on the laptop to talk to the local Wixel on COMx (the USB), Pololu's Wireless Serial App runs on both Wixels, and the UNO runs this sketch:

// Switch pin 13 led to high with an "h" or "H" 
//     from serial interface

char incomingByte;   // for incoming serial data

void setup() {
        Serial.begin(9600);     // opens serial port, sets data rate to 9600 bps
        pinMode(13,OUTPUT);
        digitalWrite(13, LOW);
}

void loop() {

        
        if (Serial.available() > 0) {
                // read the incoming byte:
                incomingByte = Serial.read();

                // say what you got:
                //Serial.print("I received: ");
                //Serial.println(incomingByte);
        }
        
         if (incomingByte == 'h' || incomingByte == 'H')
        {
          digitalWrite(13, HIGH);
        }
        else
        {
        digitalWrite(13, LOW);
        } 
          
}

And the pic below shows the hardware.

Wixels and Uno.jpg

I wanted to check back in and let everyone know of my progress. I ordered the transmitter and receiver suggested by mauried, and now I've got one Arduino sending a "start" signal to another Arduino. As of right now, I'm using a code inspired by the example from the Sparkfun product page for the transmitter:

/*

  • Simple Transmitter Code
  • This code simply counts up to 255
  • over and over
  • (TX out of Arduino is Digital Pin 1)
    */
    byte counter;
    void setup(){
    //2400 baud for the 434 model
    Serial.begin(2400);
    counter = 0;
    }
    void loop(){
    //send out to transmitter
    Serial.print(counter);
    counter++;
    delay(10);
    }

and the correspondingly simple code for the receiver.

My next plan is to try to use the Virtualwire library with the set-up. Eventually, I'd like to try to replace the Arduino at the transmitting end with something simpler.

Thanks again to everyone who offered advice. I'll report back if I run into more trouble.

JimboZA, those Wixels look really cool, but I think it's a bit of overkill for what I need.