The continuation of my 3D TicTacToe LED Matrix project. See Introduction and Part 1.
The 4x4x4 LED matrix is controlled by a Maxim MAX7219 display driver IC. Using the MAX7219 reduces the number of Arduino pins needed to control and power the matrix from 16 down to 5. The 3D TicTacToe sketch uses the Arduino Matrix library by Nicholas Zimbetti and simple coding from his hello_matrix sketch. This library should already be included with all up-to-date arduino installations. The design of the protoboard is based on Michael Margolis’s Arduino Cookbook project 7.13 “Controlling an Array of LEDs by Using MAX72xx Shift Registers” and the Maxim MAX7219 datasheet.
Shopping List:
Connections:
To power the matrix connect the Arduino’s 5V pin directly to the MAX7219 V+ (pin 19) and through a ~30 kΩ resistor to ISET (pin 18). I used a 33 kΩ resistor on mine. Connect the Arduino’s GND to the MAX7219 GND pins (4 and 9). Insert 0.1 and 10 μF capacitors between the 5V and GND to prevent noise spikes.
To control the matrix connect Arduino pins 4, 5, and 6 to the MAX7219 pins 12 (LOAD), 13 (CLK), and 1 (DIN), respectively.
The anode wires of the LED matrix will be connected to the MAX7219 SEG pins A-G, plus SEG DP, while the cathode wires will be connected to DIG pins 0-7. Use 24 AWG wires that are long enough to reach where they need to go on the LED matrix. Mine were a bit long at ~20 cm, but the extra should fit in the box you use or can be trimmed later. I suggest using one color for the anode and a different color for cathode. Solder 8 wires of one color to SEG pins A-DP and the 8 other wires to DIG pins 0-7.
If you want a nice looking 3D matrix display you’ll want a box to contain the Arduino, protoboard and wires, and a top for the LED matrix to sit on. I used the same printout as used to drill the board holes to determine where to drill small holes in the cigar box top for the wires. You’ll only need the seven side holes, but make the corner hole about 1.5x as big as the others. Once the wires are soldered to the protoboard, thread them through the appropriate holes of the cigar box top. Connect the wires to the appropriate lines on the LED matrix. You’ll probably want to attach the wires temporarily to the LED matrix for testing before permanently soldering them.
Below are shots of the protoboard. I know they’re difficult to make out with the gaggle of wires everywhere, and so I’ve taken shots from various directions.
Shot A:
shows 33 kΩ resistor from pin 18 to 5V, and pin 19 straight to 5V.
Shot B:
difficult to see pins 4 (buried) and 9 to GND
Shot C:
MAX7219 pins 12 (LOAD) and 13 (CLK)
If you have any questions, need further assistance or require additional pictures or diagrams, please let me know in the comments and I’ll do my best to address them.
Up Next: Programming the Arduino To Play 3D TicTacToe
The continuation of my 3D TicTacToe LED Matrix project. See Introduction.
The matrix is based on an 8×8 LED matrix design, where it’s been divided into fourths and wired to work on four levels. Here’s a diagram of an 8×8 matrix:
The structure of the 3D matrix is entirely composed of the anode LED leads soldered together, the cathode LED leads soldered together and a few extra wires to make connections. Here’s a picture of the semi-final product (note: from a previous build):
Four 4×4 LED matrices need to be created. Practically any LEDs will do, as I initially just used the cheapest ones I could find, but the current build is using 350 MCD yellow ones (see shopping list). Note also that different LEDs have different lead lengths. You want lengths that are 25 mm or more. I tried using shorter length LEDs, but the resulting matrices were too small to work with. My 4×4 matrices are modeled after the above 8×8 matrix. There’s an Instructables.com project by Electronics Man where he suggests drilling holes in a board to place the LEDs properly aligned at the correct distances from each other. I used his example to make the board and securely place the 16 LEDs for soldering. However, I believe his overall LED matrix design is different from mine, and will likely not work with the circuitry and software used in my project. Here’s an OpenDocument drawing template of the 21 mm-spaced LED matrix holes that I printed out and taped on the board. I then used a punch to make a small dent at each of the sixteen points before drilling. I used a hand-powered drill starting with the smallest size drill bit and worked up in bit size until the LEDs fit snugly into the holes.
Fit the LEDs into the holes with the cathode (shorter) leads above the anode leads at about 45 degrees.
Bend the cathode leads down right at the base and push them so they’re all pointing to the top of the board.
There should be plenty of space between the anode and cathode leads. Now with small needle nose pliers bend the anode (longer) leads about 3 mm above the LED base – perpendicular to the cathode leads. They should be well above the cathodes.
Adjust all of the leads so they overlap appropriately and solder them together. Gently prod out the LEDs from the other side of the board, and you should have a very stable 4×4 matrix. Make three more identical matrices, except two should have the cathodes pointing down instead of up. The two pointing down are levels 1 & 3, the the two pointing up are levels 2 & 4.
The four matrices now need to be soldered together. I differentiate between the LEADS (the extra lead sticking out that’s not soldered to the next lead) and the LINE of soldered-together leads. It’s not straight forward so consult the following:
Top Level 4 Anode Leads: attach to anode line of Level 3. Bend the leads down so they can be soldered to the level below. Note that you can attach additional anode connections anywhere along the Level 4 anode line to the corresponding anode line below it on Level 3 – this will add support to the structure (see picture below).
Top Level 4 Cathode Leads: attach to cathode line of Level 1 (bottom). Do this last, after all of the other levels have been soldered together. You’ll need to use wire to make the connections long enough. I recommend 24 AWG.
Level 3 Anode Leads: leave alone for now.
Level 3 Cathode Leads: attach to cathode line of Level 2. As before, bend the leads down so they can be soldered to the level below, and attach addititonal cathode connections to support structure.
Level 2 Anode Leads: leave alone for now.
Level 2 Cathode Leads: leave alone for now.
Bottom Level 1 Anode Leads: bend leads up to solder to Level 2 line. Attach additional anode connections to support structure.
Bottom Level 1 Cathode Leads: leave alone for now.
I’ll admit soldering the levels together is much more of an art than a science. It’s warping a single 8×8 matrix into 4 levels and you need to be careful to solder the correct leads and lines. I still haven’t developed a technique that I’m really happy with. This picture shows the final soldered together structure including a support attachment:
Once all of the levels have been soldered together, and a few structural connections added for stability, the wires that connect the matrix to the controlling prototype board can be added. I used 8 green for the cathodes and 8 red for the anodes. Make the wires long enough to reach the board – I suggest starting with 25 cm to be sure it’s long enough. Use somewhere around 24 AWG solid (not stranded) to make it somewhat pliable. Solder these wires to the leads above that were left alone. Finally, clip all extraneous leads and wires off the matrix. Finished matrix:
Up Next: Developing The Protoboard To Control The Matrix
Here’s a project that I’ve been working on for over a month. It’s an Arduino controlled and AI-playing version of TicTicToe, where the “board” is a 4x4x4 matrix using 64 LEDs. Now, LED matrices have been done before with sizes anywhere from 3^3 to 8^3 (…). And 3D LED matrix versions of TicTacToe have also been done (…). But, I believe this is the first 4x4x4 LED matrix of TicTacToe that actually plays the game against you. And unless you’re very, very careful, it will beat you.
The project has several parts to it:
In the next several posts I’ll go over each aspect of the project, so that if you’re interested you can create your own (and hopefully modify to make even better!). The source code for the game-playing AI is included as well. Note that I’m new to soldering, wiring and electronics in general, so it took me dozens of hours to design and put together a functioning semi-final product. There were frustrating hours where the LED matrix was unstable and some LEDs weren’t lighting up; I destroyed two $8 MAX7219 ICs I’m guessing from either static electricity or short-circuiting; I initially used cheap 26 AWG stranded wire where the thins strands short-circuited the matrix; etc. Also, I made extensive use of Michael Margolis’s Arduino Cookbook, especially for controlling the matrix and putting together the electronics. It’s a great book and I highly recommend it.
(I used mostly Jameco because it’s local, but of course there are dozens of other great online stores to get these from):
Check out the upcoming posts for more details…
Video of it doing its thing:

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Void
Life « Default
Earth
Wind
Water
Fire
Light 