Here is another very cheap solution:

http://www.pjrc.com/teensy/

The small board has 25 digital I/Os and 7 analog for $16, and the larger one
has 46 digital I/Os and 12 analog.
If your competitors are close enough you can use one board for multiple
inputs. Since you need to hook key presses which is measures by tens of
milli-seconds in the best case, I believe long wires would pose no problems
(propagation delay and bandwidth are not a problem).

They even have ready made examples of emulating a mouse, a keyboard, a
generic HID device, etc.

Shipping costs would be $10-$16 on airmail, depending on package weight ($16
is for 2 pounds, about 0.9Kg, enough for at least 3 boards).

An example using it:

http://blog.makezine.com/archive/2011/04/the-awesome-button.html

Udi

On Wed, Apr 6, 2011 at 5:08 PM, Udi Finkelstein <linux...@udif.com> wrote:

> I think any analog DAQ based solution  will be expensive. Use too many
> analog levels, and it will not be accurate. Use a small number of levels,
> and the price per port for analog connection will drive the price too high.
>
> You can try using computer mice.
> cheap 2 button+scroll wheel starts at 17NIS on zap.
> Such a mouse can provide at least 5 events:
>
> right button
> left button
> middle button (scroll wheel press)
> scroll up
> scroll down
>
> You can then take apart the mouse and repackage it, maybe replacing the
> wheel with 3 distinct switches.
>
> Ofcourse you might need powered hubs if you intend to drive 30 mice.
> You could try taking eight 4 port unpowered hubs (also starts at 17 NIS on
> zap), and if you computer has 8 free USB ports (many do these days), you
> could fit 30 mice, and hope that each port can drive 4 mice + hub. You will
> also have  2 spare ports (8*4-30)for the console keyboard/mouse.
>
> Another direction would be to use an arduino board.
>
> http://www.seeedstudio.com/depot/microcontrollers-arduino-compatible-c-132_133.html
> The cheapest $19 board has 14 digital inputs plus 6 analog ones which you
> can treat as digital if you like.
> 20 input pins can serve 5 users (4 input pins/user) or 6 users (3 input
> pins per user if you wire them smartly - 1 qualifier signal that is grounded
> by all 4 switches, and 2 more that  are getting a 2-bit binary code.
>
> seeedstudio has free worldwide shipping for orders above $50.
>
> Udi
>
>
> 2011/4/6 yosi yarchi <yosi.yar...@gmail.com>
>
>>  Hi
>>
>> This is interesting idea. However, it support voting between 2 options,
>> only, while I need at least 4 options.
>> I thought that combination of analog DAQ and 4 push buttons with analog
>> output may help here.
>> Does someone have an idea about such combination (analog DAQ+edge unit)?
>>
>> With best regards
>> Yosi Yarchi
>>
>>
>>
>>
>>
>> On 04/06/2011 10:55 AM, Jason Friedman wrote:
>>
>> I think the best solution would be to use a data acquisition device,
>> either USB or PCI.
>>
>>  Measurement computing sell relatively cheap devices, e.g. this USB one
>> for $99:
>> http://www.mccdaq.com/usb-data-acquisition/USB-1024-Series.aspx
>>
>>  can measure 24 digital channels (you could get two if you need 30).
>>
>>  Each "competitor" could have a small switch, which connects their input
>> line to say a 5V power supply.
>>
>>  You can then write a very simple program to detect when each competitor
>> presses their switch
>> (with sub-millisecond accuracy!).
>>
>>  These devices apparently have linux support.
>>
>>  Jason
>>
>> On Wed, Apr 6, 2011 at 2:44 PM, yosi yarchi <yosi.yar...@gmail.com>wrote:
>>
>>> Hi all
>>>
>>>
>>> I need application that will be able to collect and process inputs from
>>> 30 (!) competitors, and will display the results very fast. The ideal
>>> solution could be to collect the inputs via SMS: each competitor send his
>>> answer, the application collect the answers (related to phone number) and
>>> process them. However, I can't assume that the competitors have mobile
>>> phones (they may be little childs...).
>>>
>>>
>>> I thought to use 30 USB numerical keyboards as input devices, connected
>>> with cables to 3 hubs, connected to the computer.
>>>
>>> However, I don't have experience with USB drivers at linux...
>>>
>>>
>>> Is it feasible? What should be the main guidelines for the solution?
>>>
>>>
>>> With best regards
>>>
>>> Yosi Yarchi
>>>
>>>
>>>
>>> _______________________________________________
>>> Linux-il mailing list
>>> Linux-il@cs.huji.ac.il
>>> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>>>
>>
>>
>>
>> --
>> Jason Friedman
>> Postdoctoral scholar
>> Macquarie Centre for Cognitive Science
>> Macquarie University, NSW 2109 Australia
>> email: write.to.ja...@gmail.com
>> web: http://curiousjason.com
>>
>>
>>
>> _______________________________________________
>> Linux-il mailing list
>> Linux-il@cs.huji.ac.il
>> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>>
>>
>
_______________________________________________
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il

Reply via email to