2023-12-01 (F) Weekly Summary

I started porting mode5, which had separate controls for percussion and melody on the same screen. I moved percussion functions to the left screen. My previous work moving the variables to the left side of the screens carried over and saved me a lot of time.
Screens with different info

I linked percussion encoders to the left screen and adjusted melody operators to use the right knobs. Fixed an issue with melody velocity and wrote new code to use it as a ceiling for assigning pseudo-random values. Now, mode5 works.
Working mode5

I started programming mode7 by creating function calls and copying functions from mode2 and mode4. This mode will let me control percussion and melody on their respective screens with all the functionality I previously implemented.
Presenting: mode7

I optimized my code for mode7 by eliminating duplicate code and reducing function calls. I cobbled one unique function to handle the encoders for both screens. I fixed an error where mode2 continued to play channels I deselected by updating it to behave like the percussion functions, which stop playing tracks when I turn the encoder knob. The changes in mode2 also affected mode7, resulting in the whole unit working as expected. Now that mode7 is complete, I am ready to start working on the rest of the build. I plan to come back and add more music functions.
mode7 became quiet compact

I am testing some small speakers and an amplifier I have in stock. I want it to be loud enough for a crowded room, but I want it to be clear and audible without drowning anyone out. I will use a 14.8V 6500mAh battery and test my voltage regulator in the circuit I sketched.
Speaker testing circuit

I soldered a voltage regulator to an RC battery connector, added an amplifier, and connected three silicone wires to the audio input. I tested different speaker combinations and decided to order larger units. I heard hissing on the system, which disappeared when I turned off the audio source or unplugged the headphone jack.
Testing speakers

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
Completed projects from year 9
Completed projects from year 10

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.