I had yet to test the pushbuttons built into the encoders. I considered adding code to indicate whenever I pressed one, but I coded them to change the behavior. Instead of changing a counter by one, they increased or decreased by five when I held the button. The device may use this technique in some modes, and I proved that I wired it correctly.
I wanted to confirm that I wired the "Mode" and "PRandomize" buttons correctly, so I made a rising-edge detection function, which did not initially work. I forgot to declare the inputs as INPUT_PULLUP, so the leads were floating, and after I fixed that, I noticed significant bouncing. I implemented a timer on each button. The lightweight "Mode" button needed a long debounce, but the "PRandomize button, which had a strong spring, was relatively short.
I started checking the potentiometers by printing their values continuously. The signals appeared remarkably stable. I changed their function so the values were only printed when the controller detected a change larger than a threshold. I graphed the results by turning up the pots one at a time, then jiggled the fourth one to move the graph farther.
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.
2022-02-21
I wanted to confirm that I wired the "Mode" and "PRandomize" buttons correctly, so I made a rising-edge detection function, which did not initially work. I forgot to declare the inputs as INPUT_PULLUP, so the leads were floating, and after I fixed that, I noticed significant bouncing. I implemented a timer on each button. The lightweight "Mode" button needed a long debounce, but the "PRandomize button, which had a strong spring, was relatively short.
I started checking the potentiometers by printing their values continuously. The signals appeared remarkably stable. I changed their function so the values were only printed when the controller detected a change larger than a threshold. I graphed the results by turning up the pots one at a time, then jiggled the fourth one to move the graph farther.
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.
2022-02-21
Comments
Post a Comment