Olá pessoal, tudo certo? Hoje vamos aprender a utilizar um teclado matricial com Arduino UNO, similar ao da imagem abaixo. Este tipo de teclado está disponível (por exemplo) na ICStation, ou qualquer outro site de vendas da China.

teclado matricial de membrana

Fonte: o autor

   Porém primeiro temos que entender o que é e como funciona um teclado matricial: teclas são chaves (contatos mecânicos) que mudam de estado quando pressionadas; seja de aberto para fechado ou fechado para aberto. O termo ‘Matricial’ significa que as teclas estão conectadas eletricamente em formato de matriz, linha por coluna (imagem abaixo).

teclado matricial

Fonte: techblog

   Afim de entender e testar o funcionamento de um teclado matricial nós utilizaremos um Arduino UNO (Fritzen UM) e uma biblioteca chamada ‘Keypad’, disponível na página oficial do Arduino. Esta biblioteca já faz parte do esforço de “hardware abstraction“, que visa literalmente abstrair tratativas de hardware para longe do programador do sistema (que é afinal de contas o objetivo do Arduino).

O diagrama esquemático do sistema pode ser visto abaixo. Utilizaremos os pinos 2, 3 e 4 do Arduino para as colunas (3, 2 e 1) e os pinos 5, 6, 7, 8 do Arduino para as linhas (4, 3, 2,1):

ligando teclado ao arduino

Fonte: arduinolearning.com

   Observe que não existem resistores nem diodos nem qualquer outro tipo de circuito de interface entre o teclado e o Arduino. Isso só é possível devido à biblioteca do teclado utilizar (ativar) os resistores internos de pull-up do ATMEGA328 (microcontrolador do Arduino UNO).

O código para fazer a leitura deste teclado está disponível abaixo (e também no meu GitHub), e foi inspirado no código disponível na página oficial da biblioteca.

Funcionamento: Faça o download do código para seu Arduino e abra o monitor serial. Cada tecla pressionada no teclado se reflete em um número (ou símbolo) sendo impresso no monitor serial.

Observações:

  • A implementação do código é “não-bloqueante”, que significa que outros códigos poder rodar no mesmo Arduino sem ser prejudicados. Por exemplo piscar um LED, controlar um display LCD ou girar um motor.
  • Outros tamanhos de teclado podem ser utilizados, como por exemplo 2×3, 5×5, etc etc. Basta alterar nas linhas const byte ROWS = 4; e const byte COLS = 3;.

 

Lembrando que todo material utilizado nos tutoriais aqui no blog podem ser adquiridos de diversas fontes (na China e no Brasil), incluindo Banggood, Aliexpress, GearBest, Amazon, MercadoLivre, entre outros. A lista de links está AQUI.

Teclado matricial com Arduino

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solve : *
10 + 24 =