I wanted to sort out all the digital buttons yesterday, but I couldn't make it happen. One trouble was that I designed my routine to only look at the named buttons. In retrospect, I could have checked every pin on the board with a few code tweaks. That's what I get for planning poorly. I slogged through the flimsy code and managed to track down all but one of my inputs. I struggled to find the problem and nearly determined it was a broken switch. A continuity meter proved that I could get a reliable signal from the operator, so I kept looking. I might have connected to a faulty input, so I made a solder bridge to an adjacent terminal, but the result was the same. The trick worked had me reflow the solder on the switch, so I had a cold solder joint. When I soldered that PCB, I was using a failing butane iron.
All my inputs were working, and I looked at the necessity of a debouncing routine. The erratic inputs weren't as bad as floating inputs, but I still saw nuisance tripping. I added a command to record the time in microseconds, not milliseconds, and tell me how long a button was held when the signal went cold. The unwanted presses were usually less than 2000 microseconds, and some were as short as 500 microseconds. When I write the debouncing routine, I will ensure that a button must be held 3 milliseconds. I will ensure sufficient downtime if necessary.
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.
2021-11-25
All my inputs were working, and I looked at the necessity of a debouncing routine. The erratic inputs weren't as bad as floating inputs, but I still saw nuisance tripping. I added a command to record the time in microseconds, not milliseconds, and tell me how long a button was held when the signal went cold. The unwanted presses were usually less than 2000 microseconds, and some were as short as 500 microseconds. When I write the debouncing routine, I will ensure that a button must be held 3 milliseconds. I will ensure sufficient downtime if necessary.
Checking button held-times
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.
2021-11-25
Comments
Post a Comment