Need help picking out hardware for wireless communication for jeopardy buzzers - Page 1
Forum section: electronics / projects

author: Aurora900
author_rank: Contributor
timestamp: February 04, 2014, 01:59:24 am
content: So, as the title so descriptively says... I'm trying to build a wireless jeopardy buzzer system. I had initially wanted to use something like the Xbee, which can do point to multipoint... But it seems to only be able to natively transmit from one device to many receivers, as opposed to many devices transmitting to one receiver. I need the latter, of course.So I'm wondering what the best way to go about this is? I'd prefer to use something I can integrate with an arduino... but I can't seem to find much info on a network setup like this. The only major requirements for this are that the transmissions are reliable and that the receiver can determine which transmitter the signal came from.Of course, you can always just tell me I'm crazy and I'll go back to designing a wired system instead

author: Aurora900
author_rank: Contributor
timestamp: February 04, 2014, 11:03:28 pm
content: Quote from: mojo-chan on February 04, 2014, 11:24:05 amI thought that might be an issue... But the arduino likely runs fast enough that you wouldn't even notice, like you said. I was considering the option of polling in sequence... I was thinking I could probably set it up to poll for a certain amount of time, and then all packets received in that time frame would be ordered based on a timestamp set by the transmitter. That way, if your buzzer sent its packet at the appropriate time but was skipped over initially, it wouldn't be discounted. Then we begin an entirely new issue... syncing the time on all the buzzers.I'm starting to like the idea of going back to wires haha

author: Marco
author_rank: Super Contributor
timestamp: February 04, 2014, 11:18:28 pm
content: Likethis? (Was on Hack A Day a week ago.)

author: daveatol
author_rank: Regular Contributor
timestamp: February 05, 2014, 12:39:25 am
content: If there are issues with reliability of the transmission, you can just have each transmitter transmit multiple times, and include the transmission number and the amount of time since the first transmission. The time between transmissions can be random, or can rely on the ID of the button (e.g. button 1 transmits every 9 ms, button 2 transmits every 11 ms, etc.).With the nRF24L01 transceivers, one unit can be set to receive/listen constantly.

author: z0r
author_rank: Newbie
timestamp: February 05, 2014, 01:15:25 am
content: I've used the programmable xbees in digimesh for multiple -> one. You get a little HCS08 chip on the xbee itself to do the thinking and only really need to add power and a buzzer button. You'd need to write a short bit of C but the sdk comes with examples that are very close to what you want. Dev kit, 3 modules with a programmer, is around $300, mainly because the programmer itself adds a lot, I don't think there is a cheap one

author: daveatol
author_rank: Regular Contributor
timestamp: February 05, 2014, 01:21:09 am
content: The nRF24L01+ modules are something like $1.50 delivered and there are Arduino libraries written for them already

author: sleemanj
author_rank: Super Contributor
timestamp: February 05, 2014, 02:31:15 am
content: http://maniacbug.wordpress.com/2012/03/30/rf24network/

author: Aurora900
author_rank: Contributor
timestamp: February 05, 2014, 02:48:45 am
content: I'm liking the idea of the nRF24L01+, mainly because of the cost lol. I'll have to look into it more.And thanks for the link sleemanj, that looks like it should be a good read for getting acquainted with the transceiver

author: lgbeno
author_rank: Frequent Contributor
timestamp: February 05, 2014, 04:23:42 am
content: Since it is just one button you could just use an oscillator to turn on or off then space out each button at a slightly different frequency. On the receiver side, it could use a RTL-SDR to sample the whole bandwidth and find what frequency spikes up first. You could do something similar with a micro too.