The YX5300 MP3 module is easily interfaced to a microcontroller, creating MP3 player with a user interface. Using the MD_YX5300 library and an understanding of how the device works (see the previous posts here and here), this article describes the code for a simple MP3 player and a more complex player with an LCD module display.Continue reading “YX5300 MP3 Player”
Since my previous YX5300 post I have received a number of questions that relate to not understanding how the serial messages between a host and the MP3 module work. Understanding how this works is important when writing code that uses the MP3 player in an interactive application.Continue reading “YX5300 Serial MP3 Player – Message Sequencing”
When an application starts, any data was was part of a previous execution is reset to the initialised values of the variables. Often, however, it is desirable to maintain configuration and state values between processor resets. EEPROM is a good option to store these values.
This article explores ways to make this task easy.Continue reading “Persisting Application Parameters in EEPROM”
One of the many repeating themes on the Arduino forums is the use of Strings (with a capital ‘S’) against usings strings (with a little ‘s’) – the former refers to a class that encapsulates string handling and the latter refers to the use of nul terminated char arrays.
The kind of forum threads involved are generally someone who wants to use Strings and is having a problem followed by a lot of other posts telling them not to because they are ‘bad’.
So what makes them ‘bad’ and is this really a problem?Continue reading “Are Strings really that Evil?”
The MPS020N0040D pressure sensor is a cheap component readily available for purchase on sites like eBay.
I recently needed to create a blow activated switch and, as I already had a few of these at hand, decided to design a minimal circuit that would provide a digital output when a threshold pressure was detected by the sensor.Continue reading “MPS020N0040D Sensor as a Pressure Activated Switch”
As soon as I completed the basics of my home automation system using Sonoff S20 switches reflashed with ESPEasy, it became clear that there were some shortcomings in the management the http based comms between Domoticz and the ESPEasy during a communications failure.
Here’s how I worked out and implemented an acceptable solution for the problem.
In the previous part we finalised the configurations for the IoT ESPEasy devices to give local control capability. In this instalment we complete the configuration that enables our devices to create an integrated home automation system.Continue reading “Home Automation and The Internet of Things – Controlling”
In the first and second parts of this series we set up the hardware with the ESPEasy software. Now the hardware is set up, it is time to work out how to and exercise control over the I/O that will turn the AC power on and off.
As it turns out, ESPEasy makes this a simple process.
In Part 1 of this series I optimistically expected that the hardware selected was going to be “reasonable pace to start” experimenting and implementing a basic Home Automation system. When I actually started implementing the system one shortcoming became obvious.Continue reading “Home Automation and the Internet of Things – The (re)Start”
A question that often arises is how to ‘save program memory’ when the MD_Parola and MD_MAX72xx libraries are used in an application. In this article we’ll cover how you can do this using the facilities already built into the library code.Continue reading “Parola A to Z – Optimizing Flash Memory”