Oi Pedro, tudo bem?
Perdão pela demora em lhe retornar.
O comando output_pullup
não é uma sintaxe válida para o arduino, o correto é input_pullup
. Exemplo:
pinMode(2, INPUT_PULLUP);
Observe se sua codificação está usando o INPUT_PULLUP
.
Em relação ao botão ser de 4 pinos, não tem influência, deverá funcionar normalmente. O que pode estar acontecendo é seu circuito físico não está ligado da forma correta, sendo assim, o circuito não está sendo fechado quando o botão é pressionado, logo, o botão manda 1 a todo momento. O correto é ligar em uma das pontas do botão a porta lógica, e o outro lado, no GND. Desta forma:
Observe que neste caso também é usado um botão de 4 pinos.
Tente fazer apenas esta ligação e confira o estado na porta serial.
Fico no aguardo de seu feedback.