En los nuevos Arduino, se puede establecer pinMode a uno de tres estados: OUTPUT, INPUT, y INPUT_PULLUP.
Esta página dice:
El chip Atmega del Arduino tiene resistencias pull-up internas (resistencias que se conectan a la alimentación interna) a las que puede acceder. Si prefiere usar estos en lugar de resistencias desplegables externas, puede usar el argumento INPUT_PULLUP en pinMode (). Esto invierte efectivamente el comportamiento, donde ALTO significa que el sensor está apagado y BAJO significa que el sensor está encendido.
Sin embargo, estoy bastante seguro de que invertir el comportamiento no es lo único que hace.
¿Qué INPUT_PULLUPhacer? ¿Qué lo hace diferente INPUTy cómo se decide cuál usar?