<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 5/20/12 9:40 AM, John Adams wrote:
    <blockquote
cite="mid:CAO9uaO1yCinzGJRoVvqNX_d+6P4JmhG-m=Db6WykEEsMeL0mYw@mail.gmail.com"
      type="cite">On Sun, May 20, 2012 at 9:18 AM, Daniel Pitts <span
        dir="ltr">&lt;<a moz-do-not-send="true"
          href="mailto:Daniel@coloraura.com" target="_blank">Daniel@coloraura.com</a>&gt;</span>
      wrote:<br>
      <div class="gmail_quote">
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div bgcolor="#FFFFFF" text="#000000">
            <div style="font-family:-moz-fixed;font-size:12px"
              lang="x-western">I'm going to try to make a simple LED
              matrix display powered by an Arduino, and wanted to
              validate my approach with the more experienced people
              here. <br>
            </div>
          </div>
        </blockquote>
        <font face="-moz-fixed"><span style="font-size:12px"><br>
          </span></font>
        <div>Lag time on that chip is proportional with temperature. On
          a good day, at room temp (+25C), it'll pass an input to an
          output at 15nS or so. Get the chip hot and it'll get really
          bad.&nbsp;</div>
        <div><br>
        </div>
        <div>Given the Arduino's speed and the small size of your
          display you could probably just clock the entire display as a
          gigantic shift register. This is what commercial LED displays
          like the Translux data wall do, and do well.&nbsp;</div>
        <div><br>
        </div>
        <div>Use a 74HS164, tie one pin to clock from the Arduino, and
          another for data. Tie all of the reset lines together and tie
          that to another arduino pin. The operation at that point is
          reset -&gt; clock data through -&gt; rinse -&gt; repeat. &nbsp;Vary
          the on-durations in the bitstream to change display
          brightness.</div>
        <div><br>
        </div>
        <div>As your display gets larger and larger you'll have to
          increase the update frequency of the clock. Eventually you'll
          exceed the clock speed you can output from the arduino's pins
          and you'll have to take other approaches like outboard memory,
          etc.</div>
        <div><br>
        </div>
        <div>The beauty of the shift-register approach is that you can
          scale for larger displays just by adding more LEDs and
          changing the clock frequency. Adding color is stupidly easy
          too. Just add more shift registers.</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>-john</div>
      </div>
    </blockquote>
    I *almost* see what you're talking about here.&nbsp; The I found the
    datasheet for74HC164 (not the HS?),&nbsp; It appears to be an 8bit shift
    register. I'm not sure how that'll be useful for powering an 8x8
    display, unless you meant one per row, or unless you mean for me to
    find a shift register with larger capacity. <br>
    <br>
    I do see however how a shift register in general will be a helpful
    tool to have in my toolbox. <br>
  </body>
</html>