Sign in

username:

password:



Not a member?

Search Sci.Electronics.Design



Search tips

design by Keywords

8051 | Amplifier | AVR | CMOS | Converter | DAC | Diode | FPGA | GPS | I2C | IDE | Laser | LCD | MOSFET | Op-amp | Oscillator | Oscilloscope | PID | PLL | PSU | PWM | RFID | RS232 | RS485 | SMPS | Spice | Transformer | Transistor | TTL | USB | VCO

Ads

See Also

DSPEmbedded SystemsFPGA

design | Artificially extend switch closure time


There are 21 messages in this thread.

You are currently looking at messages 0 to 10.

Artificially extend switch closure time - Gabe Knuth - 2009-01-28 11:28:00

Hi all, hopefully this is the right group.  If not, feel free to
admonish me (all the while telling me the correct group!)

I'm trying to hook up an electronic dart board to a USB matrix
processor so that I can write a program to do automatic scoring of a
dart game, like what they have at bars and such.  The problem I'm
running in to is that the USB matrix processor (the only one I can
find, at that) will only recognize a switch closure of at least 30ms,
and apparently a dart hits a board in less time than that.

Unfortunately, I can't reprogram the matrix processor, and I don't
really want to get into programming my own microcontroller to handle
this (I mean, I can just go buy one of the real thing for $750...I
just wanted to have fun!).  I'm wondering if there's a way to
artificially extend the time that the circuit stays closed, at least
as far as the processor is concerned.  That's what I'm posting for -
to see if anyone can lend any suggestions about that.  I thought maybe
wiring a capacitor inline with each row between the last column and
the processor, but I honestly have no idea.  I last took any
electronics theory classes 10 years ago or so, and I'm a computer guy
by trade now, so "rusty" doesn't do me any justice :)

Thanks!



Re: Artificially extend switch closure time - hhill@thinksystem.net - 2009-01-28 13:25:00

On Jan 28, 11:28=A0am, Gabe Knuth <gabekn...@gmail.com> wrote:
> Hi all, hopefully this is the right group. =A0If not, feel free to
> admonish me (all the while telling me the correct group!)
>
> I'm trying to hook up an electronic dart board to a USB matrix
> processor so that I can write a program to do automatic scoring of a
> dart game, like what they have at bars and such. =A0The problem I'm
> running in to is that the USB matrix processor (the only one I can
> find, at that) will only recognize a switch closure of at least 30ms,
> and apparently a dart hits a board in less time than that.
>
> Unfortunately, I can't reprogram the matrix processor, and I don't
> really want to get into programming my own microcontroller to handle
> this (I mean, I can just go buy one of the real thing for $750...I
> just wanted to have fun!). =A0I'm wondering if there's a way to
> artificially extend the time that the circuit stays closed, at least
> as far as the processor is concerned. =A0That's what I'm posting for -
> to see if anyone can lend any suggestions about that. =A0I thought maybe
> wiring a capacitor inline with each row between the last column and
> the processor, but I honestly have no idea. =A0I last took any
> electronics theory classes 10 years ago or so, and I'm a computer guy
> by trade now, so "rusty" doesn't do me any justice :)
>
> Thanks!

I was going to say "Google one-shot", but that isn't immediately
helpful. I guess we have to go with the longer name: Google monostable
multivibrator. (No, it is not as exciting as it sounds.) And/or, go to
a manufacturer's website (such as onsemi.com) and do that kind of
search or go directly to a part like MC1438.

--
-Harold Hill

Re: Artificially extend switch closure time - Jon Slaughter - 2009-01-28 13:38:00

"Gabe Knuth" <g...@gmail.com> wrote in message 
news:5...@40g2000prx.googlegroups.com...
> Hi all, hopefully this is the right group.  If not, feel free to
> admonish me (all the while telling me the correct group!)
>
> I'm trying to hook up an electronic dart board to a USB matrix
> processor so that I can write a program to do automatic scoring of a
> dart game, like what they have at bars and such.  The problem I'm
> running in to is that the USB matrix processor (the only one I can
> find, at that) will only recognize a switch closure of at least 30ms,
> and apparently a dart hits a board in less time than that.
>
> Unfortunately, I can't reprogram the matrix processor, and I don't
> really want to get into programming my own microcontroller to handle
> this (I mean, I can just go buy one of the real thing for $750...I
> just wanted to have fun!).  I'm wondering if there's a way to
> artificially extend the time that the circuit stays closed, at least
> as far as the processor is concerned.  That's what I'm posting for -
> to see if anyone can lend any suggestions about that.  I thought maybe
> wiring a capacitor inline with each row between the last column and
> the processor, but I honestly have no idea.  I last took any
> electronics theory classes 10 years ago or so, and I'm a computer guy
> by trade now, so "rusty" doesn't do me any justice :)
>

Could you explain how the circuitry is sensing the dart? What is a USB 
matrix processor?



Re: Artificially extend switch closure time - Ben Jackson - 2009-01-28 14:22:00

On 2009-01-28, Gabe Knuth <g...@gmail.com> wrote:
> Unfortunately, I can't reprogram the matrix processor, and I don't
> really want to get into programming my own microcontroller to handle
> this

If you did, you would probably want to buy a $30 AVRUSBKEY and use the
LUFA library so you can make it look like a keyboard or joystick or
whatnot.

-- 
Ben Jackson AD7GD
<b...@ben.com>
http://www.ben.com/

Re: Artificially extend switch closure time - Gabe Knuth - 2009-01-28 14:37:00

On Jan 28, 12:25=A0pm, "hh...@thinksystem.net" <hh...@thinksystem.net>
wrote:
> On Jan 28, 11:28=A0am, Gabe Knuth <gabekn...@gmail.com> wrote:
>
>
>
> > Hi all, hopefully this is the right group. =A0If not, feel free to
> > admonish me (all the while telling me the correct group!)
>
> > I'm trying to hook up an electronic dart board to a USB matrix
> > processor so that I can write a program to do automatic scoring of a
> > dart game, like what they have at bars and such. =A0The problem I'm
> > running in to is that the USB matrix processor (the only one I can
> > find, at that) will only recognize a switch closure of at least 30ms,
> > and apparently a dart hits a board in less time than that.
>
> > Unfortunately, I can't reprogram the matrix processor, and I don't
> > really want to get into programming my own microcontroller to handle
> > this (I mean, I can just go buy one of the real thing for $750...I
> > just wanted to have fun!). =A0I'm wondering if there's a way to
> > artificially extend the time that the circuit stays closed, at least
> > as far as the processor is concerned. =A0That's what I'm posting for -
> > to see if anyone can lend any suggestions about that. =A0I thought mayb=
e
> > wiring a capacitor inline with each row between the last column and
> > the processor, but I honestly have no idea. =A0I last took any
> > electronics theory classes 10 years ago or so, and I'm a computer guy
> > by trade now, so "rusty" doesn't do me any justice :)
>
> > Thanks!
>
> I was going to say "Google one-shot", but that isn't immediately
> helpful. I guess we have to go with the longer name: Google monostable
> multivibrator. (No, it is not as exciting as it sounds.) And/or, go to
> a manufacturer's website (such as onsemi.com) and do that kind of
> search or go directly to a part like MC1438.
>
> --
> -Harold Hill

OH MAN!  I didn't even think of that.  I had to build an astable
multivibrator for another project I was working on.  If I recall from
school (10 long, beer drinking years ago), it shouldn't be too hard to
make.  Thanks!

Re: Artificially extend switch closure time - Gabe Knuth - 2009-01-28 14:50:00

On Jan 28, 12:38=A0pm, "Jon Slaughter" <Jon_Slaugh...@Hotmail.com>
wrote:
> "Gabe Knuth" <gabekn...@gmail.com> wrote in message
>
> news:5...@40g2000prx.googlegroups.com...
>
>
>
> > Hi all, hopefully this is the right group. =A0If not, feel free to
> > admonish me (all the while telling me the correct group!)
>
> > I'm trying to hook up an electronic dart board to a USB matrix
> > processor so that I can write a program to do automatic scoring of a
> > dart game, like what they have at bars and such. =A0The problem I'm
> > running in to is that the USB matrix processor (the only one I can
> > find, at that) will only recognize a switch closure of at least 30ms,
> > and apparently a dart hits a board in less time than that.
>
> > Unfortunately, I can't reprogram the matrix processor, and I don't
> > really want to get into programming my own microcontroller to handle
> > this (I mean, I can just go buy one of the real thing for $750...I
> > just wanted to have fun!). =A0I'm wondering if there's a way to
> > artificially extend the time that the circuit stays closed, at least
> > as far as the processor is concerned. =A0That's what I'm posting for -
> > to see if anyone can lend any suggestions about that. =A0I thought mayb=
e
> > wiring a capacitor inline with each row between the last column and
> > the processor, but I honestly have no idea. =A0I last took any
> > electronics theory classes 10 years ago or so, and I'm a computer guy
> > by trade now, so "rusty" doesn't do me any justice :)
>
> Could you explain how the circuitry is sensing the dart? What is a USB
> matrix processor?

Just in case others Google around for something, I figured I'd answer
this (even though the one-shot should take care of my problem).

The circuitry senses the dart using a matrix, much like a modern
computer keyboard (not the clicky IBM ones from eons ago).  There are
two plastic sheets with a conductive trace on them.  One contains the
"rows" of the matrix, and the other contains the "columns" of the
matrix.  On an unmodified electronic dart board, there is a built-in
processor that polls each column/row pair to see if a connection is
made (e.g. when I dart is thrown, the segment that is hit by the dart
will briefly connect the corresponding trace on each layer of plastic,
completing a circuit).

This project is designed to modify an original dart board and plug its
matrix into a matrix processor, which will then plug into a PC.  The
USB Matrix Processor is a device that emulates keystrokes based on the
input.  So, for instance, if I threw a dart and hit a triple 20 on the
board, that would close column 1, row 5 (I'm making this up), which
would tell the USB Matrix Processor to send the "K" keystroke to the
computer, where in my case a Visual Basic program will be running to
interpret that "K" as a triple 20.

For completeness - the problem is that the USB Matrix Processor
(called X-Keys) is programmed to ignore any circuit closures that last
less than 30ms, to avoid false positives due to noise.  Evidently, a
dart hitting a dart board closes the circuit for less than 30ms, which
is why I'm posting here today.

Now, with the One-Shot that Harold mentioned, I can use the super-
short closure time to turn on the one-shot, which in turn will send
along a positive signal to the matrix processor for as long as I want
(set with a combination of resistors and capacitors, I think).
Effectively, this will mean that throwing a dart will send a half-
second signal to the processor (or whatever) instead of a <30ms long
signal.

Hope that helps anyone else that wants to do this.

Thanks again everyone!

Re: Artificially extend switch closure time - amdx - 2009-01-28 14:55:00

"Ben Jackson" <b...@ben.com> wrote in message 
news:s...@kronos.home.ben.com...
> On 2009-01-28, Gabe Knuth <g...@gmail.com> wrote:
>> Unfortunately, I can't reprogram the matrix processor, and I don't
>> really want to get into programming my own microcontroller to handle
>> this
>
> If you did, you would probably want to buy a $30 AVRUSBKEY and use the
> LUFA library so you can make it look like a keyboard or joystick or
> whatnot.
>
> -- 
> Ben Jackson AD7GD
> <b...@ben.com>
> http://www.ben.com/

 And Google said "do you mean AVR USB KEY"
ah, yea, I think so!
               Mike :-) 



Re: Artificially extend switch closure time - 2009-01-28 15:20:00

On Jan 28, 2:50 pm, Gabe Knuth <gabekn...@gmail.com> wrote:
>
> The circuitry senses the dart using a matrix, much like a modern
> computer keyboard (not the clicky IBM ones from eons ago).  There are

Pretty sure they used a matrix as well. If not, then what? I still use
one and I'd like to know.

Re: Artificially extend switch closure time - Ben Bradley - 2009-01-28 16:38:00

On Wed, 28 Jan 2009 12:20:50 -0800 (PST), a...@netzero.com
wrote:

>On Jan 28, 2:50 pm, Gabe Knuth <gabekn...@gmail.com> wrote:
>>
>> The circuitry senses the dart using a matrix, much like a modern
>> computer keyboard (not the clicky IBM ones from eons ago).  There are
>
>Pretty sure they used a matrix as well. If not, then what? I still use
>one and I'd like to know.

   Yes, they all use a matrix. Wikipedia tells all about computer
keyboards, both the legendary Model M as well as the lesser cheapies.

   I see problems with using a one-shot for extending the time of
closure of matrix switches. The scanning controller really wants to
see a true switch closure (it sees a row go low when it brings a
certain column low, and ONLY during that time, or vice versa), and an
electrical high or low won't do it. I ran into this circa 1980 when I
wanted to make a "programmable" calculator by adding some
key-sequencing logic to a "regular" calculator. I ended up using
4016's and crudely left things 'floating', using different batteries
for the calculator and my circuitry.

   There's still the problem of detecting the switch closures in a
matrix. I see no non-scanning way to read all the switches. The best
bet is a microcontroller scanning at an adequately fast rate. The
fastest way I see is to activate all columns and as soon as a row is
activated do a binary search with the columns to find which one causes
the row  activation.

   Regardless, the microcontroller solution uses fewer parts than
using a one-shot (and 1/4 of a 4016) for every keyswitch.



Re: Artificially extend switch closure time - Gabe Knuth - 2009-01-28 18:11:00

On Jan 28, 2:20=A0pm, a7yvm109gf...@netzero.com wrote:
> On Jan 28, 2:50 pm, Gabe Knuth <gabekn...@gmail.com> wrote:
>
>
>
> > The circuitry senses the dart using a matrix, much like a modern
> > computer keyboard (not the clicky IBM ones from eons ago). =A0There are
>
> Pretty sure they used a matrix as well. If not, then what? I still use
> one and I'd like to know.

Oh well, yeah.  I guess I meant more like they mylar sheets or
whatever material they use today.

| 1 | 2 | 3 | next