Pool/Snooker Project

Hi I’m looking at editing a pool/snooker table to incorporate electrical components and mechanical components for a school project.

So my question is for the electrical components I want it so when a ball is hit into the pocket the table knows what it was, I’m gonna use the two coloured balls(ie. blue and yellow) as it should be easier. I’m thinking about using a colour sensor but not sure if there’s an easier way out there than this. It’ll then go to an lcd screen that counts the balls potted and fouls.

I’ll put an led strip around the table (let me know of any good 5metre ones) that when it’s blues turn the lights will be blue, if they get the ball in it will blink blue they will then have another shot. If it’s blues turn and a yellow ball goes in without a blue going in(a foul) the table will flash red and it’ll increase the count on the lcd. If the person wins the table will loop in rainbow. Would this be too complicated?

a servo motor will move gears to operate stoppers so the ball can be seen by the colour sensor and release the balls when a game is starting which will suit the mechanical aspect so your aware it’ll also have this

is a arduino mega suitable and what parts am I missing or will be good to add?

You've been a member here 10 months, but only spent 25 minutes here. From that, I sense you've not been doing a lot of Arduino experimenting, though that's only a guess. From that, my answer would be quite possibly; but, information you didn't give:

  • Are you solo, or part of a team doing this? Do you have parental or mentor help?
  • How long have you got? To end of calendar year? Likely impossible without a team and some significant organizing. To June? More possible, if you're motivated and can focus.

You have a steep hill to climb, if you're alone. I see challenges:

  • color recognition will be a major battle all by itself
  • coding - what's your experience level? You're in school - what level?
  • electronics, hardware integration - how much electronics experience have you got?
  • mechanical - who's designing and testing your servo mechanism? Will it be 3D printing, simple wood-and-glue devices, or ??
    That's just a start. Project planning, breaking it down into manageable steps, keeping track of what you've done and what still needs doing, all will also play a part.

Don't be too discouraged by my answer - keep this dialog going and flesh out the details until you understand the project, before giving up or committing. I'm going away for 2 days, so I won't be responding further.

In addition to what @camsysca said, I'd add that color recognition is possible with Arduino, for example:

In your case, I think you should have 6 sensors, one for each hole, but I have no idea how you'd install them (also because you need lighting). I think you could start by purchasing a sensor and doing some testing before.

It also looks like you'll have to deal with/account for long power and data cabling to all the sensors. What size is the table?

A few strategically placed RGB LEDs might an alternative.

What's the budget?

I don't think that would work. Billiard table pockets are small. Can't put it in the bottom since balls accumulate in pockets and the human interaction required to offset that defeats the convenience of the project overall. Can't put them on the side since the pockets are cylindrical in shape and the sensors are not, plus a hard shot will break things or won't be read fast enough. What about wiring? Can't put it over top of or next to a pocket since it will interfere with the player's body at some point as they lean into the table to take a shot.

If OP had access to a coin operated barroom table with an auto return system then maybe integrating a color sensor along the return track, out of sight and mind, could work. Put it after the reed switch that knows if its the cue ball or an object ball and eliminate the false positive of a sewered cue ball, as well.

Send that data wirelessly from tx ESP32 to rx ESP32 and feed it over Serial to a laptop running Processing (I like Processing because it's similar to Arduino and frankly, it's the only one I know for GUIs and such) and have graphical representation of score, colored spheres, whatever. All that's needed is knowing what player took the shot.

Maybe a Raspberry Pi/camera/Open CV overhead but even that would be challenging to rig up and get working reliably. What player is taking the shot? Is it the intended shot at the intended time? How to track just one ball if a bunch are moving at the same time, including the cue ball?

I’ve been using it a couple years and mainly on my school laptop which isn’t logged in therefore the minimal activity. It’ll be solo but the teachers used arduino for many years. He just said to ask a place like this to find the best components and way to execute it, I’ll have a year to make it, budget wise there’s not a strict limit but don’t wanna spend heaps

Yeah I’ll build a return track and that’s where the colour recognition would go, would be a part of the track with a white light that could see the colour easy enough( if a colour sensing component would work best)

For snooker, I can't think of a better sensor. That doesn't mean there isn't one, I'm just a regular hobbyist and said how i would approach your project. Snooker balls are all solid colors unlike 8 ball so yeah, good luck.

Hi, @rileyy1234

Good idea, you may need to put an arm across the track to stop the ball at the colour sensor, then when you have a valid recognition, the arm lifts to let the ball continue for collection.

I think a servo arm would be the easiest to use.

Tom.... :smiley: :+1: :coffee: :australia:

Recommend ws2811 or ws2812 strip. I know you don't need to control the colour of each individual led, but controlling them won't require any extra circuitry because it's built-in. Ws2811 are often 12V and if you have 12V supply in your circuit then you can use that. Ws2812 is 5V, same as most Arduino, so it may be simpler to have only 5V in your circuit. But all strips use a lot of current, so you will need a high-current power supply. This could also power the Arduino, sensors and actuators.

Solenoids are another option. You will need MOSFET drivers for those.

It might be overkill, I don't see you needing that many pins. Plus it's designed to have shields mounted on top, so if you're not planning to use a shield, the Mega's form-factor will be a disadvantage.

Maybe not. Many commercial pool/snooker tables have a network of pipes inside that channel the balls to a single point (EDIT: mentioned by @hallowed31 already) If that's the case, only one sensor would be needed, located a point all balls pass through.