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?
In this part we’ll look at how to finally make a sound and how the MD_MIDIFile library supports this in software.
Keeping time in music is very important. So it stands to reason that MIDI files include a number of parameters related to keeping time, and the MIDI standard also includes time synchronization messages to ensure that all the instruments keep to the same musical beat.
Part 1 covered the content of Standard MIDI Files. In this part we’ll look at the how to keep the music synchronised to the beat, one of the more complex parts of playing a SMF.
MIDI is an industry standard music technology protocol that connects products from many different companies including digital musical instruments, computers, tablets, and smartphones. MIDI is used every day around the world by musicians, DJs, producers, educators, artists, and hobbyists to create, perform, learn, and share music and artistic works.
MIDI music can be stored in standard files. Here’s what they look like and how they work and how we can ‘play’ the files.
The motivation for this project was to explore the separation between the algorithm for managing a game and the user interface for the game. Discovering a Tic-tac-toe algorithm simple enough to implement on the Arduino allowed an exploration of this concept in a game with simple user interface requirements.
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.
Some time ago, I wrote about device independent control of monochrome LED cubes (see this previous blog post which contains information referenced in this article).
Recently, someone contacted me about extending this framework to color cubes for a project they were considering. As it turn out, this was relatively straightforward and has added additional capability to the existing MD_Cubo library.
One of the great features of the Arduino community is the availability of thousands of pre-written libraries that add hardware and other functionality to your projects without needing to write your own code. There are usually quite a few to pick from and your code will often depend on libraries, so the quality of the library you use can be critical to how your code performs. How do you write good libraries and how would you evaluate the quality of the latest library you downloaded?