bubulindo:
E se ele usar esta instruçãopinMode(leitura_do_botao, INPUT_PULLUP);em vez de
pinMode(leitura_do_botao, INPUT);?só tem de ligar um botão do pino 12 ao GND e usar este if
if ((estado_atual_do_botao == 0) && (estado_atual_do_botao != estado_anterior_do_botao))Não sabemos como está tudo ligado e pode mesmo ser o botão que está no ar... ou pode ser uma polaridade errada.
Sim, vai trabalhar para ele. Quis seguir a linha de pensamento dele, mas sua direção o conduzirá.