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.
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.
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.
My project ‘to-do’ list has for a long time included automating a percussion instrument. I recently decided that a xylophone or glockenspiel type instrument would be a good idea … until I saw the cost of one of those things!
So to fulfill my ambition in an economical way, I downsized to automating a toy glockenspiel. Here’s how it went.
Ring Tone Text Transfer Language (RTTTL) was developed by Nokia in the 1980’s as a format and mechanism to manage ringtones on cell phones. As Nokia was leader brand at the time, this method was quickly adopted by many other manufacturers and became the de-facto standard for ringtones.
As cell phone hardware became more capable, the use of RTTTL has diminished in favour of more advanced sound production – today most ringtones are simply ordinary sound files. RTTTL files, however, are still useful in may applications.