Guidance on my scoreboard/timer project

I'm looking to build a small scoreboard/timer. See attached. Two-digit home and away scores, a four-digit timer display, four small LEDs that indicate what quarter of the game you're in. A rotary encoder which you turn to set the starting time, push it to start the timer, push again to pause. A reset button to start a new game (set both scores and the timer to zero, the period to 1). Master power switch to turn the whole thing on and off. Something that's not in this drawing, which would be nice is a buzzer for when time runs out. I'm pretty much a complete beginner with Arduino, but all the great tutorials and great community have given me a false sense of confidence.

I bought this for the timer display, which in retrospect is a little silly, because I also bought some max7219 chips to control the four score display digits (which are these), and I could control all my LEDs with just a couple of max7219 chips, rather than adding this other timer display that has its own controller and its own pins. Also, it wasn't until the large single-digit displays arrived that I realized the max7219 can only control common cathode displays, and these are anode. I'm starting to realize this is like trying to fix anything around the house: it's never just ONE trip to Home Depot.

So I have a couple of questions about this project:

  1. Should I ditch both these displays and buy new ones that are all common cathode and controlled by max7219 chips, or should I forge ahead, and is there a way to control multiple common anode LED displays that I don't know about (I've done some searching...)?

  2. I count like 5 inputs, and depending on how I control the displays, maybe like 7 outputs, for a total of 12 pins. Seems like I should be able to squeeze this all onto my Arduino Uno, but am I wrong?

  3. And on a related note, I've never programmed anything this complex before; there will need to be various states, like are we at the start of a game, so you can set the timer, or are we in between periods, or is the timer paused, so you can't? Is it the end of the game, so pushing the timer start/stop shouldn't do anything... My sense is that this level of branching logic is something that Arduino is capable of, but I remember a while back reading something about the difference between Raspberry Pi and Arduino, and it made it sound like there's a point in the complexity of a given project at which the relatively simple, looping structure of Arduino can't really perform.

  4. I don't have a good handle on how to calculate how much power I need; could someone give me a hint on this? I know that most of what I've got is pretty low-power, so I should be okay with just 5v from the Uno, but these are large-ish displays I've chosen for the four score digits... If I swapped these digits out for common cathode, as related to the earlier question, I was thinking of getting some that are even a little bigger, like 1.5".

Thanks in advance for any help!

  • P

I'm not familiar with the other 7-segment boards you bought.. or the chip set...

But I am familiar with the MAX72xx chip sets... and they are fairly easy to work with.. (especially if you use the led control library for those chips)..
Be warned however.. its a lot of wiring usually. Since each MAX chip can control up to 64 leds each.

I would think this can all be handled by an Arduino.. (providing there is enough I/O pins)..

I would research/look up on how to use a state machine type of approach for this sketch/project.. so you do not have any blocking loops or delays() in it...

Break it down into separate projects/objectives..

learn how to work the the 7-segment displays... learn how to get a timer/counter going for your period length times.

I would imaging the brunt of the project will be setting variables.. checking these variables.. and un-setting these variables. when you need (or shouldn tbe able to) do something.

ie: if the isPaused variable = true... then when you press the reset button.. it should ONLY work if the isPaused variable is false.... and so on.