Em Arduinos mais recentes, pode-se definir pinMode para um dos três estados: OUTPUT, INPUT, e INPUT_PULLUP.
Esta página diz:
O chip Atmega no Arduino possui resistores pull-up internos (resistores que se conectam à energia internamente) que você pode acessar. Se você preferir usá-los em vez de resistores pull-down externos, poderá usar o argumento INPUT_PULLUP em pinMode (). Isso inverte efetivamente o comportamento, onde ALTO significa que o sensor está desligado e BAIXO significa que o sensor está ligado.
Tenho certeza de que inverter o comportamento não é a única coisa que faz.
O que INPUT_PULLUPfaz? O que o torna diferente INPUTe como alguém decide qual usar?