De drukknop is één van de meest gebruikte manieren om input te leveren aan een microcontroller. Als je de drukknop indrukt verbind deze de ingang van de microcontroller met 5V of GND. De ingangen van een microcontroller mogen niet "zweven" als je ze gebruikt. Een input "zweeft" als deze niet verbonden is met of 5V of GND. Je krijgt dan onvoorspelbare waarden als je de input uitleest. Als de drukknop niet is ingedrukt moeten we er dus voor zorgen dat de ingang de tegengestelde waarde heeft, GND of 5V. Dit doen we met een "pull-up" of "pull-down" weerstand.
Als de knop niet is ingedrukt, dan is de input hoog omdat deze dan verbonden is, via de 10k pull-up weestand, met 5V. Als je de knop indrukt wordt de input verbonden met de GND (-). De meeste microcontrollers hebben ingebouwde pull-up weerstanden. Deze kun je in de code activeren. Bij deze microcontrollers hoef je niet zelf een pull-up weerstand toe te voegen.

Als de knop niet is ingedrukt, dan is de input laag omdat deze dan verbonden is, via de 10k pull-down weestand, met GND (-). Als je de knop indruk wordt de input verbonden met de 5V.
