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.
Meu filho n me ajudou em nadaaaa
ResponderExcluir