What do you get when you add one Arduino, some shift registers, a few transistors and a handful of LED's to somebody with way too much time on his hands?
The simple answer is Another board of many ping pong balls!
Although this is not completed yet, read on to find out why....
But to give you a head start I thought I would show you where I am at and give tips where I can.
This was inspired when The Much Larger Board of Many Ping-Pong Balls by DaShroom was featured on the main page of instructables.
The only problem I had, like many others who frequent this site is that I didn't have a laser cutter to hand, I do have a CNC that I but many years ago but that has a small bed so this would end up as a small scale replica, and one thing I don't do is small scale!
So rather than try and show this as a new idea I am trying to help make this available to the masses by showing some "alternative" short cuts and how to's.
I looked at various options, polycarbonate triple wall sheets because they are very light and quite rigid but the wrong stock size and then rather expensive once you get the correct size, the other issue here is if you try and use 25 or 35 mm polycarbonate to hold the LED's and act as a diffuser you end up with the light diffused only in the vertical strips. You would have to adjust your spread from 40 mm to around 10 mm. I called in to a local supplier and once I explained what I was doing they gave me some offcuts to experiment with. Very nice people and well worth a mention at Nick Gray Plastics if you need any sheets.
PCB sheets with the tracks cut in like they used on the Solderlab site, looked very expensive and I could not find a local supplier that did anything near big enough, I even looked at using small panels that could be bolted together, the problem there is stability once you assemble the unit, then it becomes too heavy with all of the stiffening bits in place.
The simple answer (for me) was a trip to B&Q and to buy one pack of end of line laminate flooring for just under £10, then use some flat softwood to build a frame. I used glue to assemble the base so it was good and solid then spent some time making a template for the holes. It is worth spending the time because if the template is wrong so is the finished article.
I used 5mm LED's so to give a clean hole I drilled everything through the template with a 4mm bit, then once they were all done I opened them up with a nice sharp 5mm bit. Its worth noting that I had to keep changing the bit because they went dull quite quickly. On the back side I used a standard countersink on each hole to ensure that the LED protruded from the front by around 4 - 5mm.
Step 1: Tracks and Crossed Wires
The next obstacle was the tracks, this is where 5mm self adhesive copper tape came to the rescue. You can get this off eBay if you just have a quick search. This stuff is very useful for a lot of other little projects too but back to this one....
Once all of the holes were drilled I could start to lay down some tracks, three vertical and one horizontal per LED.
Or 24 vertical and 8 horizontal per segment, or 192 vertical and 64 vertical for the entire display.
That equates to around 103 meters of coper tape needed. (plus a bit for when you drop it on the floor)
If you lay down the vertical ones first then put a row of insulation tape over the top you can lay the horizontal ones right over the top of the tape.
A couple of things I learnt the hard way and hopefully will save you time:
1, when you pull off the insulation tape wait a few seconds before you stick it down, when you pull it off the roll it will stretch and over time it will shrink back down to its normal size, this will cause shorts later on and they are a right pain to sort out after the event let alone find!
2, do NOT do a solder joint where the two tracks cross, there are plenty of other places to solder so keep clear. The insulation tape melts and you get a high resistance joint between the two tracks, just enough to stop the pretty lights from working.
Take your time!
I found that if you can't wait for it to settle just put one length of tape over the tracks then cut between the gaps, it will shrink but not anywhere important.
Use some small bits of coper tape as solder tabs for the resistors as shown in the pictures.
Step 2: LED's My Idea of Heaven :-)
You can't go wrong with LED's, how many projects out there look good and then with a flick of a switch they simply look AWESOME!!!
Now, because I work on a budget and sometimes cut corners I ended up with just over 1000 RGB LEDs that were crystal clear, wonderful for getting that extra bit of light out of them but they come with another problem, when you slap on your balls (ahem!) you end up with three distinct spots on them, strangely enough, a red spot, a green spot and one other colour........
Anyhow, you can get around that with a prismatic light diffusing device carefully calculated for optimum light dispersion and interfacing of the varying wavelengths.
We local lads call them"carrier bags" from the local supermarket. If you get the ones that are mainly clear, CO-OP bags work wonders, then cut only the clear bits into shapes around 75mm square, or 3" for those old un's out there, then poke them into the ball with a small screwdriver, just take your time and don't compact it in there.
The end result is a a rather pleasing marbled effect.
Step 3: Soldering, More Soldering and a Little Bit of Soldering to Finish.
Just in case you didn't guess, this is where the soldering iron comes in useful.
You may also want to quickly knock up a solder iron tip cleaner (shameless plug HERE)
There are 32 columns and 16 rows using 512 LED's
Each LED has 4 wires, giving a total of 2,048 wires
Then we have three resistors per LED per column per segment which is 192 resistors which is another 384 solder joints.
Finally we have the wires from the controller board to the rows and columns 32 per segment which is another 256
So far we have around 2,688 solder joints and we haven't even got anything to light up yet!
I used some neoprene sleeves to cover the wire that crosses the tracks, you can use tape but it is so much simpler to slip on a sleeve and bend it into place.
I did think about some artistic bending but frankly I didn't trust it while I was putting the whole thing together.
Step 4: Octo Board, or 9 If You Count the Arduino
This is where you have a choice, or three to be precise.
Purchase all of the componants and assemble the boards yourself
Contact DaShroom and buy a kit from him, don't be tight!
(UK based nice local and easy for me)
Contact SolderLab and buy a kit from them.
(Germany based, ships to Europe and more)
There are a couple of differences between the kits but the basics are the same, you get a box full of bits and the next few days of your life will be spent behind a cloud of smoke.
Each board has 4 x 16 pin shift registers
8 x transistors
2 x RJ45 ports
8 x resistors
1 x 40 pin IDC or 40 wires connected directly
Just for the count that makes another 160 solder joints per board.
Or 1280 for all 8 boards.
Or 3968 solder joints so far.
Not forgetting the other end of the 40 pin IDC which gives us another 32 solder joints per board x 8
or 256 connecting wires
Total so far is 4224 solder joints :-)
Or another 8 x 2 x 8 solder joints on the SolderLab boards
(potentially 128 more giving a total of 4352 so far)
Step 5: Getting Your Balls in Order
I am not sure if this step should be before step 2 or not, but if you have ever tried to light up a ping pong ball before you may know that they have a seam through the middle where the two halves are joined.
I didn't want the seam visible on the finished board so I made a quick jig.
This is basically a bit of aluminium box section with a 30mm hole drilled in the centre, then a small length of LED strip placed inside to shine inside. Then simply nail it to the drill press with the ball in the centre (ish) and when you pop on a ball and fire up the LED's you can see the seam and line it up before slowly plunging a (SHARP!) 5mm bit through it.
Take your time here because when it breaks through it can easily rip your balls to bits. Also try and shake out any bits that fall inside.
That bit is not very important but it does make less mess later on.
Once they are all drilled and stuffed you get to stick them to the board, a quick note here should have been obvious to me in the first place but it does help to paint the frame before you start sticking your balls on.
Use a little dab of silicone, adhesive, hot glue, no nails or in my case an glass adhesive which I had to hand, around each LED.
This is where I made another jig to hold my balls in place while the silicone sets. Using the original template I simply drilled 33mm holes into two 400mm square MDF boards to hold everything in place.
As I have two templates I can set 128 balls at a time. don't rush this bit because if you don't let them set they will shift and no longer be aligned.
I suppose before you can get your balls in order you need to order your balls.
I have just found the place that I purchased mine from
Sports Directory UK
Our Price : £13.95 (£16.74 inc VAT)
Un-stamped practice ball, packed loose
Supplied in a box of 144 white
Step 6: A to B to the Power of C Etc...
Stringing the segments together is simple, you have 4 boards along the top and 4 along the bottom.
Both top and bottom go back to the Arduino and the power strings around all boards.
I looked at a load of calculators that work out the power supply requirements, taking into account the current of each LED multiplied by the coefficient of your underpants etc. but I found that the simple idea of having a quick look in my box of bits and finding a 5V 2A switch mode power supply worked just as well.
I made a radial power loop around the edge and fitted connectors in case I need to remove them for any reason, this is a bit overkill and I could have used straight connector blocks but again this was what I had to hand at the time.
I used some sticky pads and a whole lot of tie wraps to make it all pretty, you can get away with tape here because no one will ever see the back of it. Unless like me you end up taking photo's and publishing them on the web!
Step 7: Misc Bits and Control
I have sent the frame off to be painted at the moment because I am going to finally attach this to the wall and I want it to look pretty. When it comes back I will glue the balls back on around the edge and publish some more photo's.
The control is just an Arduino Uno with a proto shield stuck on top. There are a few differences depending on which kit you buy but this one
There is a USB extension cable to allow me to connect it direct to the PC without having to take it off the wall. There is also a switch to set it to autonomous mode or connected mode, so far I have not managed to get that side of it working because my laptop won't run Processing (yet!)
The boards are linked with CAT5 patch cables, these carry the latch, clock, enable, clear, data for all of the colours to the top and bottom rows.
Step 8: Board Info
To give you an idea on connecting the Arduino to the other boards I simply used a normal UNO with a shield stuck on top.
The shield connected a CAT5 cable that I cut in half to the top and bottom controllers.
Here is a list of the ATMega328 connections:
Pin 1 = reset via a 10K resistor to +5v
Pin 2 = RX
Pin 3 = TX
Pin 4 = Data Up Red
Pin 5 = Data Up Green
Pin 6 = Data Up Blue
Pin 7 = VCC
Pin 8 = GND
Pin 9 = OSC1
Pin 10 = OSC2
Pin 11 = Data Up Row
Pin 12 = Data Down Red
Pin 13 = Data Down Green
Pin 14 = Data Down Blue
Pin 15 = Data Down Row
Pin 16 = Debug
Pin 20 = AVCC
Pin 21 = AREF
Pin 22 = GND
Pin 23 = Enable
Pin 24 = Clock
Pin 25 = Latch
Pin 26 = Clear
Pin 27 = SW1
Pin 28 = SW2
SW1 and SW2 are switched to ground and held high with a 10K resistor to VCC each.
You have to have the switch enabled to allow it to run in autonomous mode or PC linked mode.
Now then, if you are following the count I have an issue here, using the shield method gave me another 62 joints giving this method a total of 4286 joints, plus 3 on the switch, plus 4 on the USB extension
So possibly 4293 solder joints :-)
We are DONE!
Oh, I am not counting the power connections here because they were all crimped ;-)
Step 9: Sticky Balls
This is just a quick update to say that I used a silicone adhesive to fix the balls to the board, simply splodged some glue over the LED and screwed the ping pong ball over the LED to spread the glue evenly around the base. Then used the templates I made before to hold them in place while they set.
Then nail it to the wall and watch the prettiness happen :-)
I am just saddened that my dad never saw the finished article. But I thank him for his help with the painting.