2023-06-14 (W) KeyBoardolier Guitar strap buttons

I started tracking down the problems causing typing delays and missed keys. I thought it was due to scanning all 75 keys instead of optimizing the search. I put a timer around the scan function and measured 28 to 31 milliseconds per scan, regardless of the button states. This seemed acceptable for my needs.

I swapped the timer to see how long the rest of the program took, and by coincidence, it was also 28 to 31 milliseconds while resting. The timer spiked for a single button, but the time lengthened exponentially as I mashed more buttons. When I pressed as many buttons as my hands could cover, I saw over two seconds of delays, over 2000 milliseconds.

The biggest problem was sending the Bluetooth module a command each time a key changed position. I modified the program to send once at the end of each scan if something changed. I still miss keys if I type quickly, so I will look at improvements in the future.
Awful delays

I wanted to put the guitar strap connectors at the ends of the aluminum tube, but the inexpensive 2020 aluminum tubing had an unthreaded center with a 5.1mm ID. My guitar buttons used M4 hardware, so I bought M6 to M4 thread reducers. I threaded the tube with an M6 tap, which was laborious because I had to remove more metal than the tap was designed to cut.

I should have purchased 6mm long adapters, but I cut enough to fit the 10mm version I had. I drilled a black plastic end cap and installed the button through the plastic for a tidy finish. The buttons are not on the bottom, so the keyboard can rest level on a table.
Guitar buttons on the aluminum ends

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
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.