An interrupt-driven, fully-debounced class to manage input from physical buttons on the Arduino platform. Although in principle this class is compatible with all members of the Arduino platform, note ...
Switches and push buttons need debouncing. It is straightforward to do this with software, using a library. The advantages of the Switch library are: External pull-up resistors are not required.