Parola A to Z – Double Height Displays

parola_dh_single_doubleUsing 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.

Continue reading “Parola A to Z – Double Height Displays”

Parola A to Z – Managing Animation

azparola_animationAs 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.

Continue reading “Parola A to Z – Managing Animation”

Parola A to Z – Text Animation

azparola_animationThe 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.

Continue reading “Parola A to Z – Text Animation”

Parola A to Z – Managing Fonts

azparola_iconManaging 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.

Continue reading “Parola A to Z – Managing Fonts”

Parola A to Z – Defining Fonts

azparola_iconThe 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.

Continue reading “Parola A to Z – Defining Fonts”

MAX7219 LED Matrix Module Micro Word Clock

WordClockA Word Clock is a clock that tells the time using words.

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.

Continue reading “MAX7219 LED Matrix Module Micro Word Clock”

Adaptive User Input with a Rotary Encoder

rotary_encoderI 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.

Continue reading “Adaptive User Input with a Rotary Encoder”

Switches as User Input Devices

KeySwitchThe 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.

Continue reading “Switches as User Input Devices”

Radio Buttons in the Real World

RadioButtonsRadio 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.

Continue reading “Radio Buttons in the Real World”

Read 100 Switches with 3 Digital Pins!

4017_KM 3x3 Matrix Finished ProductFor 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.

Continue reading “Read 100 Switches with 3 Digital Pins!”