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.
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.