Debouncing button or switch inputs on microcontrollers can be a challenging problem for those first starting to program these ...