Não consigo ler simultaneamente dois sensores rápidos com meu Arduino. O que ocorre e como solucionar o problema?”

Se os sensores forem de ação muito rápida, por exemplo, dois sensores do tipo on-off (liga desliga) que enviam pulsos muito curtos quando são acionados você tem um problema de latência . O Arduino, como outros microcontroladores lê as entradas dos sensores sequencialmente, ou seja, uma após a outro e entre as leituras existe um certo intervalo de tempo (latência). Assim, se as duas entradas forem acionadas ao mesmo tempo produzindo pulsos, quando o segundo vai ser lido ele já desapareceu e em lugar de reconhecer dois níveis altos, o circuito indica 1 e 0. Existem alguns artifícios de software para resolver isso, mas as melhores soluções são as que mexem no hardware. Uma delas consiste em prolongar os pulsos gerados pelos sensores, usando monoestáveis (555. Por exemplo). Outra solução pode ser feita com portas lógicas que fornecem o sinal 1 para leitura no instante que os dois sensores forem acionados. Veja mais em nosso artigo “Latência” (MEC186).