Basicamente, quando o botão está pressionado, a variável contador começa a crescer até 5, resetando em seguida. A variável contador determina qual LED acenderá.
Quando eu mantenho o botão pressionado, a variável vai de 0 a 5 rapidamente. Enquanto que, preciso que ela aumente somente um, independente de quanto tempo o botão ficará pressionado.
Como eu posso fazer isso?
obs: sei que é possível fazer simplesmente colocando um delay no final do "if" mas isso delimitaria quanto tempo eu posso segurar e quanto tempo vou levar para fazer um segundo clique, e isso não é viável neste caso.
O critério é simples, o if DETECTA o pressionamento do botão, o while é executado imediatamente, que faz o que tem que fazer até que o botão seja solto, e o que faz? .... "{}", NADA, apenas espere até que o botão esteja em LOW, ele está apenas lendo o pino até que você solte o botão, então continue o que está contido dentro do if.
Saudações