Wednesday, July 30, 2014

Baseball Scoreboard - Constructing the Scoreboard

    This post covers the physical construction of the scoreboard; programming of the scoreboard is covered in the next topic.  While this presented first in the development process, in reality, the physical construction actually did not occur until after the initial field tests.  For most the development cycle, the scoreboard was actually a cardboard box with holes cut out for the displays, a temporary solution that I used while ironing out the more difficult development issues (also covered in future posts).

Design Goals


    My design goals for this portion of the project were simple:  provide a solid mount for the electronic components of the project that wouldn't break the budget and whose aesthetics wouldn't make people wretch (as I heard copious complaints about the cardboard box form factor).  After walking around the craft store for a bit, I settled on a cork board as the base to build the scoreboard around.


The Front Side

    I placed the LED panels centered on the quarter lines of the board in an attempt to make everything look somewhat symmetric:
    Each LED panel serves a specific purpose.  LED #1 shows the away team's score and whether you're in the top or bottom of the inning.  LED #2 displays the ball-strike-out count as well as which bases are occupied by runners.  LED #3 shows the home team's score and which inning you are in.
     As I cut out the holes in the board for the LED panels, I realized that the box cutter I was using was making a complete mess of the cork around the hole.  Enter inspiration.  I very quickly ginned up some borders to put around the panels, covering up my hack job and adding an area with which to add reinforcing visual elements (the ball/strike/out labels I find to be extremely useful).  For those who wish to use/modify those templates, they can be found here.  The templates were printed, carefully cut out, and affixed to the cork board using hot glue.  To make the sides of the hole disappear (they initially stood out as being cork brown), copious black marker was used.

The Back Side

    At last, some engineering! (Well, maybe not, but this part is at least technical.)  Flipping over the scoreboard, you can clearly see how everything is wired.

For comparison to the image of the scoreboard front, I have annotated the LED Matrix numbers here as well.  As I was interested in getting this up and running as fast as possible, I followed the adafruit.com tutorial for wiring 3 panels to an arduino (https://learn.adafruit.com/16x24-led-matrix/multiple-displays).
    The first problem I encountered was cable lengths -- every preassembled cable I could find was wildly too short, forcing me to build my own.  After a visit to my local electronics shop, I departed with ribbon cable and a handful of 10-pin IDC connectors.  Note that I actually went overboard on cable lengths here (a side effect of the fact that I hadn't decided on the scoreboard form factor when I made the cables, so I purposely overestimated).
    The second problem I had was with mating the LED panels to the arduino with a solid connection.  The adafruit tutorial above guides you through mating the arduino to the LED panels using breadboard wire.  That works great right up until the first time the scoreboard is jarred, at which point wires pop.  After 4 or 5 rewires, I was fed up and looking for another solution.  Fortunately, my order from adafruit came with a protoshield (http://www.adafruit.com/products/51) that I was able to convert into a pretty reliable adapter.  Here's a close up:

Since the cable is custom built , I was able to combine the two 10-pin cables going into the protoshield.  Strain relief for the cable is provided via hot glue. All of the lines that are unused are clipped, the remaining lines route to the appropriate pin.  Here is the mapping of the cable lines to pins, for those looking to replicate this board (NOTE: The red line is line #1):

LINEFUNCTIONPIN
25V5V
6GNDGND
7WRITE3
8READ
2
11CS04
12CS15
13CS26

    This adapter sits against the back of the scoreboard and the arduino mates securely to it.  Now, the scoreboard can be bumped all day long and there is no threat that the electrical connections will come undone.

    In a nutshell, that's how the scoreboard was physically built.  Up next … Programming the Scoreboard

No comments:

Post a Comment