2016-12-24 (Sa) Color/Touch

Debugging took two days. Writing code the first time took weeks of after-work hours so two days to translate code from 16 LEDs to 76 LEDs was a small price. A couple times the thought of scrapping the code and writing it fresh occurred to me but that idea didn’t catch.

One of the modes of operation was deleted. This mode put a rainbow-colored ring around the outside and rotated the colors with any button press. Since the LEDs used to be spaced far apart this was fine but the new LED configuration has them much closer and a string of sequential colors becomes nearly white.

Another mode, which changed all the colors in a panel to a pseudo-random color was altered because the flurry of colors resulted in virtually white light. This mode was kept but the entire panel was reprogrammed to change to a single pseudo-random color anywhere on the color spectrum.

Reviewing old code is sometimes painful, as any programmers knows. This time, I was impressed by myself. There were things I wouldn’t do now or things I would do differently but this two-year old code was pretty good and I think the main thing I saw which made it easy to navigate (codigate?) was extensive commenting. An original intent of this project was to make it easy for less experienced people to copy for their own children. The sentiment may be wasted but the lesson in commenting was valuable and wouldn’t have been learned without a time gap.

A video was taken of the original demo mode which gently fades each LED from one color to another. This mode doesn't require input from the switches and it moves so slowly that it's difficult to notice changes at a glance.

Softly changing LEDs in demo mode

Powering the Color/Touch used to require a USB↔serial converter where the voltage was supplied. Then a nine volt connector was added but it relied on the Arduino's on-board voltage regulator which was not even powerful enough to power sixteen LEDs. The current version requires five volts and at least one amp. A micro-USB connector was added, temporarily, to power the device with a battery so it can be demonstrated anywhere

Micro-USB powered device


The rest of the posts for this project have been arranged by date.

First time here?

Completed projects from year 1.
Completed projects from year 2.

Completed projects from year 3.


Disclaimer for http://24hourengineer.blogspot.com/

This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information in this blog, or linked by this blog, are not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.

2016-12-17 (Sa)

Comments