Main > Project Announcements
DIY Skeeball
<< < (18/28) > >>
Ixliam:
Latest update. I have a working circuit!!! The counting circuit works just great and operates the original skeeball displays. I am using LED's instead of lights, just for ease of use and lower power consumption. I also got in my skeeball score rings. One thing about these is the larger rings have a 1" high STEEL ring around the base to keep it in shape, and instead of rubber bumpers to slow the balls down, they are V shaped pieces of metal. I will probably swap these out for rubber just to prevent wear. This set has metal plates with the numbers on them, which are over the old original ones, which faded and were blue as well. I haven't decided if I want to keep it this way or go with traditional black lettering.

I hooked everything up to my main computer using RandyT's KeyWiz and program and played a simple game of dropping the balls into the scoreboard while it sat by the computer here. Only thing Randy will need to add is a counter for a gutter ball. Right now, it counts only scored balls, so if you gutter a ball it won't count it as being thrown.

I wired my score ring switches as individual per score ring, instead of just being 10 points each. They are hit when the ball comes through the hole, and when the ball rolls down the ramp it goes underneath the remaining switches. For one, this will eliminate alot of wear on the switches as only the one scored will be depressed, instead of multiple switches in the case of hitting a 50.

Well, here are the pics - enjoy! I have to program my interface to work now :)


Main Score LED driver circuit (TTL Driven).










Closeup of V-shaped metal slowdown and steel base ring.

Brad
Ixliam:
I played my first game(s) of skeeball last night for a couple of hours. I wrote a simple program to run the score and make sound effects, and with some more tweaking it should work well. Only problems I had were that if a ball went down the hole slow, like if it spiraled around the edge like water down the drain, sometimes it would hold the switch down too long and cause the game to double register. Most of it tends to be with the 10 ring, occasionally the 20. This is because with the other rings, the ball pretty much drops straight in.

This would not be a problem if you ran the switches so that each hit counted as 10 points, then it would hit them while rolling down. Mine are right underneath the hole, and hit them as they drop through. This allows for me to set individual sound effects per ring if I chose to.

It was a real blast to play, now I just need to add the final touches on it, tweak my software, and add on the netting cage which is being built (thanks to my dad who is a welder).


The reason the lights are dim/out on the right number is because I accidently toasted them while testing the circuit out on my PC. Since it always displays a 0, I wired them straight to the power... but forgot to add in the resistor to keep them from getting blown... OOPPS!! I now have 15 on order, so I will have a good bit extra in case one goes out.

Brad
Chris:

--- Quote from: Ixliam on January 18, 2005, 06:32:29 am ---Only problems I had were that if a ball went down the hole slow, like if it spiraled around the edge like water down the drain, sometimes it would hold the switch down too long and cause the game to double register. Most of it tends to be with the 10 ring, occasionally the 20. This is because with the other rings, the ball pretty much drops straight in.

--- End quote ---
Write a debounce into the code... once a switch registers, ignore it for the next 3 seconds or so.

--Chris
Ixliam:
Yeah, it was late last night when I was working on it, so I wasn't in the right frame of mind to start modding the code too much. I just need it to ignore any other hits at least till the ball drops through, which is about the time limit it takes it to play the sound and send the TTL pulses to the score display.

BTW, are there any free C/C++ compilers for DOS ? I've got Borland's but it wants the executable to run under windows (could be the parallel port driver I am using since it pulls on that DLL file). I'd love to fit everything on a floppy/flash drive, but Windows is just a bit much for as simple of a program as this is. I run a mud and code there using the C++ compiler built into Linux to handle all my coding, so I'm not familar with what is out there for the dos/windows environment. I could possibly do it in Qbasic, but the last basic I touched still had line numbers, and that was back around 1986.

Brad
RayB:

--- Quote from: Chris on January 18, 2005, 10:46:38 am ---Write a debounce into the code... once a switch registers, ignore it for the next 3 seconds or so.

--- End quote ---

The proper way to handle this is to wait for the switch to turn off. Right now, he's treating the button as a Flag rather than a toggle. His code sees the Flag is "true" and proceeds to award another score again. The code should be waiting for the Flag to clear (false) before going back to waiting for "true".
Navigation
Message Index
Next page
Previous page

Go to full version