Ethernet Enabled Ticker Board

From Kellen's Wiki
Jump to: navigation, search

We (my co-workers and I) want to build an Ethernet connected ticker board for use in the office. This could be used to display Out-Of-Office messages on our doors, holiday messages, or really anything that sounds like fun. We're going to use the Arduino for our prototype as it will be easy to get a quick start and a great intro to micro-controllers for those who aren't as familiar.

General Info/Status

  • Eric ordered 30 8x8 1.2"x1.2" matrices
    • $15.00/person for 10
    • Add link to eBay page here!

Concept

Our arrays are multiplexed such that the low side driver (current sink) outputs drive at most 1 LED at a time. Because of this, we can select more advanced low side drivers to gain further functionality, like greyscale.

The high side driver (current source) outputs to many LEDs at once, and thus needs only to act as a 'on/off' switch for the current row we are sending data to. Due to this, we can pick a more simple shift register with high current sourcing ability. We must take into account the maximum number of LEDs we can source at once and not go beyond the chip limit:

  • Imax driver pin / Imax LED = max number of LEDs per output OR max number of columns.

Schematic

Work in progress

Hardware Choices

LEDs

Note: I tested with a 18mcd green, diffused case, 20mA LED and it was sufficiently bright. Anything more than this should be fine.

Also: After doing the math, it may be almost as cheap to simply buy some adafruit LED matrices!

  • 8x8 LED Matrix 2.0
    • If we do another buy, I'd suggest these (better data, better brightness)
  • 8x8 LED Matrix SELECTED
    • Color: RED
    • Size:32mmx32mm
    • Forward Voltage:1.8V
    • Luminous Intensity:10mcd
    • Wavelength:640nm
    • Style NO.:SZ421288K
    • Official Datasheet
    • User created datasheet for reverse polarity is useful for pin numbering: Link
    • Official pin numbering image
  • 16x24 Red LED Matrix Panel
    • $24.95 / 384 LEDs comes out to ~$0.065/LED
    • 2.4" by 3.6"
    • Has built in controller + SPI like interface
    • Can chain up to 8 together
    • Has sample code for arduino
    • 'Downside': you cannot set LEDs to be individually dimmed (grayscale) and all the fun stuff is done for you
  • Small 1.2" 8x8 Red LED Matrix
    • $3.95 / 64 LEDs comes out to ~$0.061/LED
    • 1.2" by 1.2"
    • No controller, can implement with drivers below (enable grayscale)
    • Look on ebay for similar, but larger dimensions and cheaper!
  • LED Search
  • Possible LED Choices:
    • Green
      • Clear Case
      • 60 mcd
      • 20 mA
    • Red
      • Tinted/clear case
      • 90 mcd
      • 20 mA
    • Yellow
      • Tinted/clear case
      • 40 mcd
      • 20 mA
    • All at:
      • 100 @ $0.058 = $5.80
      • 1,000 @ $0.048 = $48.00

uC

Arduino (or compatible). Initial prototyping will be done on an Uno.

Drivers

Low Side Driver (Column/LED Controller)

  • TLC5940 Grayscale LED Driver
    • 12-bit grayscale (per pin)
    • 16 Outputs
    • 120mA/channel, constant current set by external resistor
    • order here
    • 1 @ $4.20
    • 25 @ $3.33
  • TLC5916 (Simple on/off per pin)
    • Cheaper but less featured alternative
    • 30MHz max
    • 256 step chip wide current control (not individual pin)
    • 3-120mA/channel, constant current set by external resistor (will set to >=20mA)
    • 8 Outputs
    • 10 @ $1.63 = $16.30
    • 25 @ $1.30 = $32.50

High Side Driver (Row Selector)

  • TLC59213IN 8-Bit Parallel In/Out Darlington Source Driver With Latch (5 samples Ordered)
    • Sources 500mA max (=up to 25 cols/row)
    • 8 outputs/chip
    • NOTE: May want to combine with cheap/low-power shift register to save output pins.
    • 1 @ $2.60
    • 25 @ $2.12 = $53.00
  • MIC2981 High-Voltage High-Current Source Driver Array (Digikey part #576-1158-ND)
    • Sources 500mA max
    • 8 outputs/chip
  • ?UDN2981 (digikey part #620-1120-ND)
    • 8 outputs/chip

Other

Software Ideas

Multiplex step-by-step (scanning row-by-row):

  1. Info for next row is shifted into the column driver
  2. Row driver is shut off
  3. Column driver is latched
  4. Row driver is incremented
  5. Row driver is turned on
  6. Back to 1 after predetermined interval

Reader Board Definition

+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
|********|********|********|********|********|********|********|********|********|********|
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+

The above is a 3 x 10 configuration where each panel is an 8x8 LED matrix.

16 x 16
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8

Research Links