Infared Controllable LED Matrix

The main goal of this project was to take advantage of a project I had previously worked on, my 128 bit shift-register, and re-purpose it into something interesting. The 128 bit shift register was simply several 8-bit shift registers that I had chained together, I had not yet accomplished any functionality, and had not developed any code to drive the the registers themselves. After setting off to do just that I developed a fairly good method to shift values in, and do so in whatever method I wanted, at whatever speed I wanted.

Using this system I was able to create a an interesting system. At first I wanted to make it work with animations, and devised an animation saving system using structs and arrays. This caused huge memory overhead though, and I could only store about 50 frames. Although this was using an integer array instead of a character or boolean array. This means I could have shrunk it down to a byte each instead of the four bytes I was using. Although had I wanted to to convert this so its primary purpose was animating, I would have used a a 20 bit storage system and bit masks to compute. Initially the advtange of integers was possible brightness control.

You can view the code on github. Below is a video of display operating under IR control. Followed by it working with an animation(without a diffuse layer so it is a little bright).