Introduction: Arduino Driven RGB LED Scrolling Clock
This is an 8x8 RGB LED module, being driven by 4 x 74HC595N Shift Registers controlled by a Boarduino (Arduino clone that can be used on a breadboard). The time data is from a DS1307 Real Time Clock IC.
The display is outputting the time and then the date and cycling through 7 different colours. This took me about 5 hours in total to put together and code.
I have introduced the concept of a 'Colour Overlay' which means the colour data is held in a separate data array to the LED ON/OFF data. The way it works is you imagine the matrix is made up of two layers, the bottom layer is an array of 8x8 lights that can either be on or off 9The Greyscale Layer). The top layer (The Overlay Layer) contains a digital piece of coloured cellulose that the lights shine through. Depending on what colour each section of the matrix has been set to, whatever is displayed underneath on the Greyscale Layer shines through the coloured Overlay Layer, giving you the colours that you see.
In this demonstration two functions are used, the 'colourFill' and the 'rainbowFull' functions. The colourFill function simply fills the Overlay array with a solid colour. The rainbowFill function fills the Overlay array with a preset pattern of colours. As you can see, the colours remain static whilst the text appears to slide underneath.
An ambitious coder could use this function to also animate the Overlay to give animated colours that move separately to the animation underneath in the Greyscale Layer.