A long time ago (2012) I wrote an application called MultiBlink that allowed me to control many simultaneous independent monochrome LEDs lighting in patterns. The original version was updated a number of times, gaining more features (and complexity) with each iteration. Recently I updated MultiBlink to version 5, which included a conversion to using neopixel type RGB LEDs controlled using the FastLED library.
I have for some time wanted to (re)write some of the computer games from my younger days as an exercise in programming and for a bit of fun. I recently decided to do this on a very low-res display made from individual LED matrix modules and in the process created a new library to manage the LED panel display.
The proper operation of a multiplexed displays relies on a feature of human visual perception known as flicker fusion – if a light is flashed quickly enough, individual flashes become imperceptible and the illusion of a steady light is created.
But how slow can you go before you can detect that flicker?
A recent feature of the Parola library is sprite based text effects. This extends the functionality of the library to include fully customisable, user defined, animated bitmaps to wipe text on and off the LED matrix display.
Here’s how it works.
The key function of the Parola library is to display text using different animations. From version 2.7 onwards, Parola allows user code to manage mixing graphics with the text. The extensions to the library and what they do is the subject of this article.
In Part 1 I described the hardware components and the functionality of the LED clock. This this part, I’ll explore the software required to implement the functionality and seamlessly manage the different user interfaces.
I wanted a create a simple project to test a few ideas and still be useful in its own right. Walking through my local IKEA store, I saw a really inexpensive analog clock (Rusch) and decided that it would provide the right vehicle for what I had in mind.
Vertical LED dot displays are not a common requirement, but they can be created using the standard library with a few tweaks to the software.
As I get questions about vertical displays from time to time, I will cover the basic process of how this is done in this short article.
A very powerful feature of the Parola library is the ability to separate a display into a number of zones. This allows the implementation of sophisticated animations schemes and is a key part of being able to create double height displays.
This post explains what they are, how they are set up, and how to manage them.
An ongoing question on many Arduino forums is how to modify software to suit the different types of matrix modules available. Usually the poster has tried some LED matrix software and the display is reversed or upside down, or animations are disjointed across the module boundaries.
There are clear reasons this happens, and the Parola library has software configuration parameters that allow you to adapt how the software operates to suit your hardware module.