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”

Advertisements

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

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”

Revisiting Device Independent Control for LED Cubes

LED Cube 8x8x8

Some time ago, I wrote about device independent control of monochrome LED cubes (see this previous blog post which contains information referenced in this article).

Recently, someone contacted me about extending this framework to color cubes for a project they were considering. As it turn out, this was relatively straightforward and has added additional capability to the existing MD_Cubo library.

Continue reading “Revisiting Device Independent Control for LED Cubes”

Reading LM34, LM35, LM335 (LM3x) Temperature Sensors Accurately

LM35 ImageThe LM3x series of sensors are precision, easily-calibrated, integrated circuit temperature sensors. These are ideal as a beginner sensor, only to disappoint when code is copied from somewhere, run on the MCU and the temperature readings seem to be wildly varying and incorrect. Why is this happening and what can be done about it? Read on.

Continue reading “Reading LM34, LM35, LM335 (LM3x) Temperature Sensors Accurately”

Using a Digital Potentiometer (MCP41xxx)

pot_MCP41010Once I started using rotary encoders to provide a ‘modern’ user input experience, the elimination of panel mounted potentiometers for circuit settings and other adjustments was the next logical step. Panel mounted pots have a very different feel from the clicks of a rotary encoder, and potentiometers cannot easily be controlled by a microcontroller.

Digital Potentiometers perform the same functions as mechanical pots but can be automated. So how do they work?

Continue reading “Using a Digital Potentiometer (MCP41xxx)”

Fast Prototyping for Arduino Systems

PrototypingOne of the great things about Arduino systems is they enable us to try ideas and experiment with concepts. At a software level this is simple – write, compile and download. Hardware components, however, can be more time consuming as you either have to wire up a temporary breadboard or you have to build dedicated circuits.

There is a simple way to make the hardware more ‘plug and play’ by building small modules with a simple standard interface that can be combined to create bigger systems. The outcome is a library of standard modules that are easily connected to the Arduino to prototype ideas without fiddling with breadboard wires for the simple stuff.

Continue reading “Fast Prototyping for Arduino Systems”

Robot Eye Expressions using LED Matrix Display

RobotEyes_IconI was exploring ways to make a future robot project more appealing and came across a number of articles about animated robotic eyes created to convey expression or mood. This looked like a bit of fun and quite achievable using the LED matrix modules that I have been playing with for a while. Here’s the result.

Continue reading “Robot Eye Expressions using LED Matrix Display”