Using the Parola library for double height displays is becoming increasingly popular with library users. Setting up the hardware and the library is not difficult, but it can cause problems if not done correctly. This article will explain the hardware and software setup considerations for trouble-free double height displays.
As the main function of the Parola library is to enable text animations, it is important to understand how these are set up and managed to completion from user code.
From a user perspective, Parola animation consist of 3 parts – setting up, running and resetting the animation. The process is not complex and is illustrated in the numerous library examples. This article breaks these down and explains how the Parola class methods apply in each phase.
The key function of the Parola library is to display text using different animations. These animations are built around a core supporting framework and largely follow the same patterns. This article explores how Parola animations code is constructed so that advanced users of the library have enough information to be able to write (and contribute!) their own new animations.
Managing fonts in the is a key factor in the Parola/MD_MAX72xx libraries to being able to support multiple languages and diverse alphabets.
In the first part we looked at how fonts are defined and the tools used to create the bitmaps for each character. In this part we will look at the Parola and MD_MAX72xx library methods that access and manage font data in the library code.
The Parola library allows you to display text on MAX72xx controlled LED matrices using a wide range of text effects. One of the base components for this flexibility are the replaceable fonts and the utilities that allow new fonts to be designed and implemented in the library code.
In an era when super-accurate digital clocks are available to most people on the planet, it intrigues me that Word Clocks have a place as they only show the time to the nearest five minutes!
Building one has been on my project to-do list for a while, but I didn’t want to invest the time and money needed for the various ‘from scratch’ build projects that I found online.
I like using rotary encoders for user input as they can provide very precise control over settings. The built-in switch is also very convenient and makes it easy to implement the push button functionality I described in a previous post. Altogether, rotary encoders have a ‘modern’ feel that makes projects seem more professional.
There is one shortcoming of these devices, though, that I have recently worked to overcome.
The humble switch is one of the major ways that users can interact with Arduino based code. Often the input comes from some variation of the momentary-on push switch, like the tact switch on the left, connected to an input on the microcontroller.
Users of modern GUIs will be familiar with being able to express themselves through a keyboard and a mouse. So user interface elements like double-clicks, long clicks and keyboard auto-repeat are familiar.
However, a lot of microcontroller code simply restricts the use of these switches to on/off functionality. Arduino programmers often don’t understand how to provide more features, even though a single switch can be made to do much more for a user.
Radio buttons were named after the physical buttons used on older car radios to select preset stations – when one of the buttons was pressed the other buttons would pop out, leaving the pressed button pushed-in as a visual reminder of the current choice.
These days radio buttons are mainly found in graphic user interfaces. As an experiment, I wanted to create a physical user interface modeled on the concept, using LEDs and tact switches.
For various reasons, digital I/O pins are always at a premium when implementing micro controller projects. There have been various multiplexing schemes described to allow more than one switch to be connected to a small number of pins, but some time ago I came across a very simple but highly scalable method that uses the 4017 decade counter to connect many switches (more than 100 if needed) to just 3 digital inputs.