Sometimes it’s fun to do things just because they are interesting. This idea seems to be behind minimalist programming languages (languages with barely enough keywords to be viable). These languages have no useful purpose except to pose a challenge to programmers using them. Here’s one I played with on the Arduino.
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.
Whilst updating an old application that implemented PWM color control of hard-wired RBG leds to NeoPixel type devices, I had to work out a new way to transition between colors. PWM is not an applicable technique when using serially controlled LEDs.
Here’s what resulted.
In the first part we built up some percussion sensors using piezo electric elements that can detect a strike and provide feedback on the strength of the blow.
In this part we define a software framework that turns these, and any other similar sensors, into a DIY percussion kit.
Some small projects are interesting because they can enable more than their initial proposition, and the simplicity of producing synthesized sounds using a MIDI interface allows us to experiment with different types of instrument ‘user interfaces’.
In this project I build a flexible software kernel for a DIY MIDI percussion kit that can initially be used switches and piezo sensors but is easily extensible.
As a child I enjoyed playing an electronic light-and-sound game called Simon. This memory had completely slipped from my memory until I recently saw something about it on the internet.
As this seemed to be a good subject for some Arduino recreational programming, I did some research and recreated the game using Arduino code. Here’s the result.
I often use Pro Mini format Arduino Boards in my projects, especially when the processor is embedded as a ‘set and forget’ controller. They have a small form factor and are very inexpensive.
However, as I prototype systems using standardized breakout modules (see this past article) it has been annoying not having a sensor-type board for this processor footprint. So I decided to make my own.
A question that I am asked on a regular basis is why particular characters in messages are not displayed ‘as-expected’ by the Parola library. These characters, often typed in from the Serial monitor or embedded within strings, contain non-ASCII characters. Here’s what is happening.
Part 1 and part 2 of this series set up the hardware and software infrastructure to support end-user applications using the YM2413 synthesizer. These are discussed in this final instalment.
The first part concluded with the YM2413 hardware and an amplifier on a test Arduino Uno shield. In this and the next part we explore the interface to the device and how to control the hardware to make music.