There are 21 messages in this thread.
You are currently looking at messages 0 to 10.
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!
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
"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?
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/
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!
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!
"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 :-)
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.
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.
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.