2021-12-17 (F) Weekly Summary

Addressable LEDs are magnificent. One of the first things I do to test them out is to assign pseudo-random colors. My code converts a number from zero to a maxBrightness value into a three-value array.
Light panels lit up

The problem with my arrays is that I connected them at a 90° angle rotated clockwise. I figured I could mathematically fix this issue, and I sketched out an equation that would accept an X and Y value then convert them into an LED address.
Calculations to overcome rotated panels

My next step was converting the equation to code and verifying that it worked. I tested the function by turning on the lights horizontally, starting with the upper left and moving across, then down.
Lighting up in the right order

All my hardware was connected and tested, so I started looking at incoming data. I first needed to recognize the tempo, but I'll need to correct issues with my incoming time pulses. I tried to ignore missing pulses by code trickery, but it was not fruitful.
Clock signals and hiccups

I used my X-Y coordinate function to toggle the first row of lights. Sixteen buttons control the middle light columns, with four on the left and right as a buffer area. The borders will eventually serve as indicators for the selected track.
Toggling a couple of notes

I programmed most of the other function buttons, so now I can select which row my note buttons will change. Most notably, I wrote code for the randomize button that creates an arrangement based on the velocity slider. If the slider is low, it generates a few notes, but a lot when high.
Pseudo-random notes on all tracks

The rest of the summary posts have been arranged by date.
First time here?

Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Completed projects from year 7
Completed projects from year 8

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

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

All information on this blog, or linked by this blog, is 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.