Right now I'm working on adding LED + DMX DJ light control - I kinda want to be able to order LED strips to "chase" a ball as it goes down the lane or back up the return. I plan on triggering laser-light shows and such with the DMX controller.
Eventually, I want to allow a customer walk up to the lane, tap to pay and start bowling immediately, too. Kiosk-ize bowling alleys, yknow?
I'm pumped. So much room for activities!
Hopefully you can synch the light flashes to the ball rotation:
1: maybe make the ball look like it isn't rolling - or even backspinning
2: perhaps it could you make the amount of side-spin or other spin more obvious to help learning
Maybe hard to read the ball rotation accurately: even if the ball was marked with dots or bands that help?
Hell yeah brother, this sounds like a fantastic project with a lot of room to dig into fun things with the double extra bonus of other people having fun with the result. Now you have me shopping for a bowling alley :D
I'll throw out two quick suggestions for you:
- DMX kinda sucks but it's manageable. Cabling isn't cheap, it really wants shielded 120 ohm cable. If you do go that route, don't cheap out and use Mic cable or Cat-5, you'll be chasing ghosts forever.
- However... Art-net is an absolutely brain dead simple protocol that you can run over WiFi or ESP-Now if you don't care about it being perfect, or over Ethernet with an ESP32 with an Ethernet PHY or a Teensy or similar. I'm serious, you can implement it in an afternoon. Lots of COTS lighting controllers can talk Art-net, and you'll be amazed at how trivial it is to make a Python script to blast out the appropriate UDP packets.
- sACN is the new kid on the block for this stuff though and it's a little more complex. Not to shill LLMs... I hadn't actually heard of it before, Claude mentioned it and then one-shotted both a server (ESP32-side) and a test client (Python). There were a couple little bugs, but about two hours from never having heard of the protocol to having existing COTS lighting design software talking to it was pretty dope.
The other annoy bit with DMX: it's 250kbaud RS485, so it's not always trivial to just make a USB-serial-RS485 adapter that will actually run at that baud rate. With the Art-net/sACN approach, it is trivial to get an ESP32 or similar to run at that baudrate and drive the RS485 DE pin correctly as well.
Enjoy!
Best post in a lonnnng time. Need any help? I have some dmx/dj experience from my days in digital signage.
This sounds like such an amazing adventure, good luck I'm sure it will be a huge success!
1. Can we stack two lanes on top of each other, please? Make homemade bunklanes?
2. Something about preventing people from rubbing the bowling balls on your precious lanes.
3. Laser light shows + Liquor license = Bowling Alley Wine Mixer
Sorry, I got overly excited by your reference. I say that so GD much, at least once a month, for nearly 20 years now haha. SOOO much room for activities!
This is interesting, i built similar for retail environments, oneoffs for events or windows or whatnot. I'm sure you could probably get away with a few terrible webcams per lane for ball tracking it's pretty much a perfect environment. A totally flat level lit are with very little noise with one circular blob moving through it. Might be an issue if you do the ever popular blacklight lanes night bowl thing, maybe just a switch to look for light blobs instead of dark blobs ;)
An NFC system for tap to play should be a pretty straight forward proposition as well on open hardware. Have tags, tie their unalterable ID numbers back to a credit card/account and you are good to go. Start it with your regulars, league players if you have them, whatnot. You can also tie that back to league scoring. A few lanes at a time.
I'm excited for you, this is a super fun project with endless sidequests.
Sounds like amazing fun. Good luck with it.
I love this idea!
Tap to pay probably doesn't help with getting people into the alley but probably helps with 'one more game'.
Your beginners have to come for shoes anyway, and the pointer to which lanes to take (you don't want them taking a lane at 6:30 that's reserved at 7)