Mensagem

"Sonhar mais um sonho impossível, lutar quando é fácil ceder, vencer o inimigo invencível, negar quando a regra é vender."
Miguel de Cervantes.

"Os microprocessadores RISC funcionam a partir do princípio genial de se encarregar das coisas mais fáceis e deixar todas as partes difíceis para outras pessoas resolverem."
Douglas Adams.

Teclado Matricial

   Uma forma muito comum de entrada de dados em um sistema microcontrolado é através de teclas (botões ou chaves tácteis). Quando o número delas é pequeno, cada uma pode ser associada a um pino de I/O do microcontrolador. Entretanto, quando o seu número é grande, não é conveniente utilizar muitos pinos de I/O. Um teclado convencional emprega 3 × 4 teclas (12) ou 4 × 4 teclas (16) (fig. 1). Ao invés de se empregar 12 ou 16 pinos para a leitura desses teclados, empregam-se 7 ou 8 pinos, respectivamente.


Fig. 1 – Teclado matricial hexadecimal: 4 × 4.

   Para a leitura de teclados com várias teclas, é necessário empregar o conceito de matriz, em que os botões são arranjados em colunas e linhas, conforme é mostrado na fig. 1; o teclado é lido utilizando-se uma varredura. O pressionar de uma tecla produzirá um curto-circuito entre uma coluna e uma linha e o sinal da coluna se refletirá na linha ou vice-versa. A ideia é trocar sucessivamente o nível lógico das colunas, a chamada varredura, e verificar se esse nível lógico aparece nas linhas (ou vice-versa). Se, por exemplo, a varredura for feita nas colunas e houver alteração no sinal lógico de alguma linha, significa que alguma tecla foi pressionada e, então, com base na coluna habilitada, sabe-se qual tecla foi pressionada. Nesse tipo de varredura, o emprego de resistores de pull-up ou pull-down nas vias de entrada é fundamental, visto que para a leitura as entradas sempre devem estar em um nível lógico conhecido. Na fig. 2, dois teclados com resistores de pull-up e pull-down são ilustrados, onde o sinal de varredura é aplicado às colunas, as saídas do sistema de controle.

Fig. 2 – Teclados com resistores de pull-up (a) e pull-down (b) para as entradas do sistema de controle. A varredura é feita nas colunas.

   Nos microcontroladores ATmega, a conexão de um teclado é facilmente obtida, pois existem resistores de pull-up habilitáveis em todos os pinos de I/O. Assim, um possível circuito para o trabalho com um teclado é apresentado na fig. 3. Um código exemplo de uma função para leitura desse teclado pode ser encontrado nos programas do meu livro (aqui neste post).

Fig. 3 – Teclado 4 × 4 controlado pelo ATmega328.

Obs.: Este material foi adaptado do capítulo 8 do livro AVR e Arduino: Técnicas de Projeto. 

Um comentário: