Разница между INPUT и INPUT_PULLUP в контексте подключения аналоговых входов заключается в следующем:
- INPUT переводит вывод в режим входа, но если к нему ничего не подключено, он может находиться в плавающем состоянии с любым напряжением. forum.arduino.cc Такой режим удобен для считывания сигналов с датчиков. arduinoplus.ru
- INPUT_PULLUP также делает вывод входом, но активирует внутренний резистор, который держит вход в высоком состоянии, пока схема явно не переведёт его в низкое. forum.arduino.cc Таким образом, вход всегда находится в известном состоянии. forum.arduino.cc
Использование INPUT_PULLUP позволяет инвертировать поведение подключённого к выводу внешнего датчика: HIGH будет означать его отключение, а LOW — включение. arduinoplus.ru