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.
I frequently see see novice programmers asking “how to change variable from hex to binary” or similar questions. Leaving aside the simple number base conversion, these questions are, frustratingly, usually about not understanding fundamental computing concepts.
Once I had some hardware to test with, the next steps were to work out how to get a program onto the ATTiny and how to write efficient code. As 1kb of flash memory is not much to play with, space efficiency was a likely programming challenge!
In some upcoming projects I intend to embed some processing intelligence into small devices. The smaller Arduino boards are too big and expensive for these applications.
After some investigation, I settled on using the ATTiny series of 8 pin microcontrollers. These processors vary in capability (from a very low end) and all provide 6 I/O ports. Tools compatible with the Arduino ecosystem are also available.
As a first step, I designed a small breakout board for the SOP8 version of these MCUs.
I always seemed to get a clash between the device select signal (SS) on my SD/microSD card reader and some other Arduino hardware I was trying to run with it. To get around this I decided to make a dedicated SD card shield with a jumper selectable SS signal.
SS signal clashes are now a thing of the past!
One of the nice aspects of Arduino compatible hardware is the ease of program downloads. This is, in part, due to the bootloader that is programmed into the controller. How does that bootloader get on the hardware in the first place?
One answer is that a second Arduino can be used to load the bootloader (or any other stand-alone code) into the ‘virgin’ target hardware. The Arduino IDE includes an example program called ArduinoISP used for this, but it helps to have some supporting hardware. I built a shield with a few connections that speeds up the process of programming controllers.
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.