Home Automaton and the Internet of Things – The (re)Start

IoT_IconIn 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 Automaton and the Internet of Things – The (re)Start”

Advertisements

Parola A to Z – Optimizing Flash Memory

RAM_ChipA 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”

Home Automation and the Internet of Things – The Start

IoT_IconI have wanted to experiment with home automation and Internet of Things (IoT) for a while and recently came across an inexpensive WiFi relay/switch combination on AliExpress that seemed a reasonable place to start. So after waiting a few weeks for delivery, my adventure into IoT-land started.

Continue reading “Home Automation and the Internet of Things – The Start”

TCS230 Revisited – Frequently Asked Questions

TCS230 Sensor

My first post about calibrating TCS230 RGB color sensor has consistently been the most read article on the site. A lot of readers have also used the MD_TCS230 library to write their own sketches. A few questions, however, have consistently been asked on forums and via email about the sensor and the library. Here is a collection of these FAQs and their answers.

Continue reading “TCS230 Revisited – Frequently Asked Questions”

YX5300 Serial MP3 Player (Catalex Module)

YX5300_Serial_MP3_PlayerWhile browsing eBay looking for a module to play extended sound effects (MP3 and WAV files), I came across these modules that looked like they would fit my purpose. The module has been around for a few years and is based on the YX5300 IC. As it turns out they are easy to use and produce a good sound in a small package.

Continue reading “YX5300 Serial MP3 Player (Catalex Module)”

Fun and Games, and a New Library

F+G_IconI 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.

Continue reading “Fun and Games, and a New Library”

How slow can you go? Multiplexing, that is.

7-seg_hardware

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?

Continue reading “How slow can you go? Multiplexing, that is.”

Playing MIDI files on Arduino – Part 3 Hardware and MD_MIDIFile Library

MIDI_computer_music

Part 1 and part 2 covered Standard MIDI Files and playing music at the right tempo. Once we have a MIDI stream, we need hardware that can play the notes.

In this part we’ll look at how to finally make a sound and how the MD_MIDIFile library supports this in software.

Continue reading “Playing MIDI files on Arduino – Part 3 Hardware and MD_MIDIFile Library”

Playing MIDI files on Arduino – Part 2 Keeping to the Beat

MIDI_computer_music

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.

Continue reading “Playing MIDI files on Arduino – Part 2 Keeping to the Beat”

Playing MIDI files on Arduino – Part 1 Standard MIDI Files

MIDI_computer_musicMIDI 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.

Continue reading “Playing MIDI files on Arduino – Part 1 Standard MIDI Files”