Categories
AI2 algorithm Arduino software

App Inventor (AI2) Joystick User Control

App Inventor (AI2) is an easy way to create Android apps. While originally designed for teaching, it still allows building advanced and complex apps, and was the tool I chose to build a software 2-axis joystick interface for wireless vehicle control.

This article describes the implementation of the joystick as a standalone component that can be integrated into other applications.

Categories
algorithm Arduino software

Interrupts and C++ Class Instances

When you need to process an interrupt, there is nothing else you can do but process it. Most Arduino examples show how to do this in a ‘C’ context. Processing interrupts in a C++ class is a lot less trivial, as class scoping rules and constructs get in the way, and specific arrangements need to be taken to ensure data is processed correctly.

Categories
algorithm Arduino software

The Over The Top (OTT) Servo Tester

A Servo Tester is a useful addition to any Maker’s toolbox, especially if they need to work with servos.  I have always ‘made do’ when setting up servos by setting up an Arduino and modifying the standard examples to do what I needed at the time (setting the mid point, calibrating for servo swing, etc).

I finally decided that I needed a more permanent tool and made my own.

Categories
algorithm Arduino software

Virtual arrays using an SD card

It is common for operating systems to use a hard disk swap files to increase the amount of available system RAM by swapping blocks(or pages) of memory between real RAM and the hard drive. As many applications use RAM linearly, this imposes relatively modest decrease in performance for the bigger benefit of increased temporary RAM.

It seemed to me that, for particular applications, this concept could be applicable to providing management of arrays to increase what could be stored in a microcontroller’s very limited memory resources.

Categories
algorithm Arduino software

Neopixel Fades and Color Transitions

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.

Categories
algorithm Arduino Parola software

Parola A to Z – Handling non ASCII characters (UTF-8)

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.

Categories
algorithm Arduino electronics PCB software

Making music with a Yamaha YM2413 Synthesizer – Part 3

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.

Categories
algorithm Arduino electronics PCB software

Making music with a Yamaha YM2413 Synthesizer – Part 2

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.

Categories
algorithm Arduino electronics hardware PCB

Making music with a Yamaha YM2413 Synthesizer – Part 1

When researching material for the SN76489 sound generator (documented in these previous articles) I discovered that many early microcomputer systems incorporated both the SN76489 and a YM2413 FM synthesizer. The Yamaha synthesizer looked like an interesting piece of hardware to explore. Here’s the result.

Categories
algorithm Arduino software

An RTTTL Parser Class

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.