On Sun, May 20, 2012 at 9:18 AM, Daniel Pitts <span dir="ltr">&lt;<a 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&#39;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&#39;ll pass an input to an output at 15nS or so. Get the chip hot and it&#39;ll get really bad. </div>
<div><br></div><div>Given the Arduino&#39;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. </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.  Vary the on-durations in the bitstream to change display brightness.</div>
<div><br></div><div>As your display gets larger and larger you&#39;ll have to increase the update frequency of the clock. Eventually you&#39;ll exceed the clock speed you can output from the arduino&#39;s pins and you&#39;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>