Multiplos botões usando uma porta analógica

Uma alternativa para conectar vários botões a um microcontrolador é utilizar o principio de Divisor de Tensão em uma porta analógica.
Sobre o Divisor de Tensão sabemos que a tensão de saída Vout varia de acordo com os valores de R1 e R2 de acordo com a formula abaixo:









Usando por exemplo o esquema abaixo:
 
 para Vin = 5v e o botão 3 está pressionado, então R1 = 3k enquanto R2 = 2K||1M(ou seja, ~2K) temos que
Vout = 2K.5V/ (3K+2K) => Vout = 2v, algo próximo do valor 409 na leitura do conversor A/D.












Observando o código utilizado por Ray do site http://rayshobby.blogspot.com.br/, pode-se perceber nas linhas 23-28 a relação entre a leitura obtida no conversor A/D de um Arduino com o valor calculado acima.
Em um projeto mais antigo pode ser observada esta técnica, onde foram utilizados 19 botões para o controle de um braço robótico, porém com um código um pouco diferente.


Esta alternativa permite limitar os valores de cada comparação, diminuindo a chance de ruídos.
Vale lembrar que este código não atende a leitura de dois ou mais botões pressionados simultaneamente e que a tensão de entrada Vin deve ser estável ou afetará diretamente os valores lidos no conversor A/D.

Em breve postarei outras alternativas para conectar múltiplos botões a um microcontrolador utilizando o mínimo de portas possíveis.

Dúvidas, sugestões ou observações, utilize os comentários.
Boa sorte nos trabalhos a todos!



Nenhum comentário:

Postar um comentário