Dúvidas de programação de iniciante

Olá boa noite! Sou novato aqui e na área de programação também. Estou precisando da ajuda de vocês. Preciso fazer um código para ler quantas vezes um pino de entrada do Arduíno esteve no estado high em um intervalo de tempo. pois estou tendo problemas em diferenciar quando o pino esteve somente 5 vezes em high de 8 vezes. Já dei uma lida em vários materiais´que diziam para usar a função millis, outros diziam usar interrupção mas não entendi.

Olá,

Depende do que você quer fazer com isso de contar as vezes que o HIGH aconteceu.

Se o seu sinal for cheio de interferência ou mesmo unbounced, você vai querer contar todas as ocorrências de HIGH mesmo assim?

Você pode usar um filtro passa-baixa para salientar a borda dos HIGHs e usar millis() mesmo.

Se o seu programa faz algo que seja computacionalmente custoso, então é melhor usar interrupções. O nome deles já diz tudo: quando acontecer um HIGH, o microcontrolador vai parar tudo o que estava fazendo para tratar a interrupção.

Boa noite dá um olhada aqui nesse link, ele fala sobre interrupções https://www.arduino.cc/reference/pt/language/functions/external-interrupts/attachinterrupt/