2016-12-21 (W) Color/Touch

Changes to the hardware meant changes to the software. Since the number of LEDs was more than quadrupled, the code needed some alterations. When it was written, the number of LEDs was nearly set in stone so some of the numbers were hard coded into many places. Places where the code explicitly referred to sixteen total LEDs or four LEDs per panel were changed. Four panels is likely going to be the most ever built into a single Color/Touch.

In the old code the LEDs went sequentially through the panels. In other words, all the LEDs were wired in a sequence so the addresses of each panel were in a row. This changed with the new hardware. A large matrix was written which calls out the address of each light associated with each panel. It could have been written as a mathematical function but it would have been awful. Using an even number of LEDs in each strip would have helped clean that up too. Perhaps in V3.0.

Matrix for figuring out the LED addresses

An issue with the switches resulted in unwanted behavior. There was a short between the reed switch, which controlled the mode, and one of the panel switches. When one switch was activated it simultaneously activated the other. The problem was that pressing a quadrant would change the mode instead of changing LED colors. A short sketch was written which simply reported when a button was pressed. A continuity meter determined that the short was on the control board and jagged wire insulation could be seen near the 2x3 header pins. The faulty wire was replaced and the short went away. Debugging can continue.

Problematic wire

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-14 (W)