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.

Mostrando postagens com marcador Teclado Matricial. Mostrar todas as postagens
Mostrando postagens com marcador Teclado Matricial. Mostrar todas as postagens

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.