Maker Pro
Maker Pro

Pinball Scoring System

Hello, I'm in the process of doing research for making a DIY pinball machine. While I have a sound knowledge of pinball machines, mechanical parts and basic electronics knowledge, I have little understanding of programming. However, I'm ready to take on the challenge so I can implement a scoring system for my pinball machine. To clarify, I am not replicating a fully functional modern day pinball machine. Rather, I would like to implement the essentails: flippers, bumpers, lights and a scoring system (perhaps some sound and sound effects). I need help and ideas for the scoring system,

  • My goal is to have several targets on the play field that if hit by the ball, will register a score (say 10 points) to a scoring display (perhaps a 4-7 digit, seven segment scoring display. I need help with this as well).
  • At the very least, I want varied scoring amounts for each individual target. For example a target that is easy to hit will count for 10 points where as a more difficult target may count for 100 points.
  • (Optional but Preferable) If a certain number or type of targets are hit, a bonus will be awarded, so that if a target that normally registers 10 points will register say 20 points (during the bonus). When a ball is lost, the bonus is taken away.
  • Some other features but I need to learn to walk before i run.
Now that you have a general idea of what I am trying to achieve, here are my questions (I have several, so any advice/answers are much appreciated).

  • How do I control these switches/targets?
  • How much power/voltage is required for say 20 targets? Is this dependent on the controller?
  • Can this be achieved using DC voltage? How should I wire the switches?
  • Is there a way to achieve this without a controller? If not, what controller is suggested?
  • Is there a specific coding language that I should be aware of/ be using for this kind of task?
  • Do I need to use a controller/code? For example, is there any way to use simple switches/targets to increment the score?
  • If I were to use seven segment displays for the scoring system, how can I build such a scoring system?
I apologize for all of the elementary questions, but I really need to have a solid understanding if I am to purse this. I have a good electronics knowledge, just not a programming knowledge. Thank you in advance for any ideas, suggestions, tips and answers.
 
Hello, I'm in the process of doing research for making a DIY pinball machine. While I have a sound knowledge of pinball machines, mechanical parts and basic electronics knowledge, I have little understanding of programming. However, I'm ready to take on the challenge so I can implement a scoring system for my pinball machine. To clarify, I am not replicating a fully functional modern day pinball machine. Rather, I would like to implement the essentails: flippers, bumpers, lights and a scoring system (perhaps some sound and sound effects). I need help and ideas for the scoring system,

  • My goal is to have several targets on the play field that if hit by the ball, will register a score (say 10 points) to a scoring display (perhaps a 4-7 digit, seven segment scoring display. I need help with this as well).
  • At the very least, I want varied scoring amounts for each individual target. For example a target that is easy to hit will count for 10 points where as a more difficult target may count for 100 points.
  • (Optional but Preferable) If a certain number or type of targets are hit, a bonus will be awarded, so that if a target that normally registers 10 points will register say 20 points (during the bonus). When a ball is lost, the bonus is taken away.
  • Some other features but I need to learn to walk before i run.
Now that you have a general idea of what I am trying to achieve, here are my questions (I have several, so any advice/answers are much appreciated).

  • How do I control these switches/targets?
  • How much power/voltage is required for say 20 targets? Is this dependent on the controller?
  • Can this be achieved using DC voltage? How should I wire the switches?
  • Is there a way to achieve this without a controller? If not, what controller is suggested?
  • Is there a specific coding language that I should be aware of/ be using for this kind of task?
  • Do I need to use a controller/code? For example, is there any way to use simple switches/targets to increment the score?
  • If I were to use seven segment displays for the scoring system, how can I build such a scoring system?
I apologize for all of the elementary questions, but I really need to have a solid understanding if I am to purse this. I have a good electronics knowledge, just not a programming knowledge. Thank you in advance for any ideas, suggestions, tips and answers.
You don't really need a bigger power supply for additional targets...
Targets are typically normally open switches, which once hit momentarily close and are read by the controller.
As far as the actual methods are concerned .. They can be made any way you want!
Although it may be best to start with a microcontroller, and experiment with inputs, buttons and interrupts.
 
Right, all of the targets will be normally open switches. When one is "hit" the switch will become closed. Now how can I convert that into a signal? I've never worked with controllers before so I can use some clarification. Is there a way to program a controller so that when current flows through the target circuit, it registers a specific score? Is there a limit to the number of targets and scoring values I can implement? I've heard about Arduino and Raspberry pi. Would one of these be necessary for making this kind of scoring system? Is one more suited for this? I'm just trying to understand what is required before I start purchasing all of these components.
 
Right, all of the targets will be normally open switches. When one is "hit" the switch will become closed. Now how can I convert that into a signal? I've never worked with controllers before so I can use some clarification. Is there a way to program a controller so that when current flows through the target circuit, it registers a specific score? Is there a limit to the number of targets and scoring values I can implement? I've heard about Arduino and Raspberry pi. Would one of these be necessary for making this kind of scoring system? Is one more suited for this? I'm just trying to understand what is required before I start purchasing all of these components.
You can setup your switches one of two ways...
You can use a single switch per-pin on your controller, or you may use a scanning technique. The scanning technique is used in keyboards, and can drastically increase the amount of targets (or buttons) you can add without drastically increasing the number of pins you need. You may find that managing a display and pins with a smaller cheaper microcontroller will be difficult to manage.
If you are new to microcontrollers, I would suggest looking through an arduino tutorial on a DIY keyboard... This will be a similar method to how you will scan all the normally open contact in your pinball game.
The display will be another beast to conquer. You picked a fun starter project.
(It may be safest to work with two separate systems. Scoring, and display.
Let a different circuit 'run' the display. The scoring system can track the buttons, and send the amount of points to the display to handle
 
In my research I've found this LCD display for Arduino. Would something like this be simpler to code? Say I have a 4x4 switch matrix, with all different score values and displayed the score (incremented for each switch/target hit) on the LCD as opposed to seven segment displays. Is this a better option for a novice like myself? :)

Also, could the LCD handle this many switches?
lcd_photo.png
 
This type of LCD is simpler to connect to the Arduino, just 6 wires, and about equally complicated, though very different to program for.

You will be able to find Arduino code to drive either type of display that you can download and modify as needed, so I would say it is a tossup in that respect.

On the other hand, I think a small LCD display is not flashy enough for a pinball machine. I would go with 7 segments, and large ones, myself.

I would also make them count up, don't just add 10, add 1 ten times over a second or so. Maybe for 100, add 10 ten times. And don't forget the bells!

Bob
 
Does the Arduino have enough pin connections to scan say a 4x4 matrix of switches and run say 4 7-segment displays?
 
This type of LCD is simpler to connect to the Arduino, just 6 wires, and about equally complicated, though very different to program for.

You will be able to find Arduino code to drive either type of display that you can download and modify as needed, so I would say it is a tossup in that respect.

On the other hand, I think a small LCD display is not flashy enough for a pinball machine. I would go with 7 segments, and large ones, myself.

I would also make them count up, don't just add 10, add 1 ten times over a second or so. Maybe for 100, add 10 ten times. And don't forget the bells!

Bob
Agreed. LCD is boring... LED 7-segment or LED dot matrix is the way to go.
Does the Arduino have enough pin connections to scan say a 4x4 matrix of switches and run say 4 7-segment displays?
Well... unless you plan to release multiple balls in the machine at any time, there will only ever be one trigger being activated at a time... you could handle 15 targets with 4 pins or 31 targets with 5 :p You would connect each target to a unique set of the 4/5 pins. This would not work with multi-ball setups though, as hitting more than one target at exactly the same time would confuse the microcontroller and it would assume a different target was hit.
Additionally, there are tricks for driving dot matrix and multiple 7-segment displays by using shift registers. If I remember correctly, you need 1 pin for each segment you want to light, and an extra pin for a step pulse or clock output. The shift register is used to 'enable' individual 7-segment displays, and you microcontroller will display a number on which ever one is 'enabled'. Sending the clock pulse will then enable the next 7-seg display for your microcontroller to update. Doing this fast enough will enable all of the 7-seg displays to appear like they are all lit at the same time.
 
you could have all of your targets go through an or gate to trigger an interrupt. When the interrupt is called the targets are scanned. You could have their values in a ROM and the microprocessor can easily add them. A memory location can signal your bonus feature. Multiplying could be done by adding X repeated Y times or shifting X and scanning the bits of Y. The display could have 7 lines to the segments and 4-7 lines to the digits. the digits are just changed so fast that you can't tell the difference. The rest is just OHM's Law and signal voltages.
 
Top