Quantas vezes o leitor não precisou utilizar um teclado matricial em um circuito microcontrolado (ou não) para um rápido teste? Nessas horas, a compra do item que falta na bancada para o teste pode parecer a melhor alternativa, mas muitas vezes a falta de verba acaba por "atrasar" ou "inviabilizar" o teste/projeto do leitor. Neste artigo demonstraremos como preparar um teclado matricial com 16 teclas de baixíssimo custo, que pode ser utilizado com a maioria dos microcontroladores disponíveis atualmente ou até mesmo circuitos lógicos.

 

Nota: Artigo da Eletrônica Total 115 de 2006

 

Nossa proposta é bem simples: demonstrar ao leitor como preparar um teclado matricial com 16 teclas que poderá ser utilizado em testes e estudos com microcontroladores (quando um teclado for necessário), ou ainda para substituir um teclado qualquer apresentado em um projeto publicado em uma de nossas revistas, ou mesmo retirado de livros ou da Internet.

O teclado apresentado aqui usa chaves tácteis facilmente encontradas no mercado e sua configuração é clássica, sendo a utilizada na grande maioria dos projetos publicados nesta e em outras revistas da Editora. O custo estimado para este teclado é realmente muito baixo. Ao consultar a lista de materiais o leitor verá que a aquisição dos mesmos pode ser feita com alguns "trocados". Acreditamos que para a grande maioria, os componentes poderão ser encontrados em suas "sucatas particulares" (composta geralmente por aparelhos fora de uso, doados por parentes e amigos, etc.).

Teclado matricial

Os teclados matriciais são muito empregados hoje em dia. Sempre que é preciso coletar "dados", a maneira mais fácil de fazê-lo é utilizar um teclado.

 


| Clique na imagem para ampliar |

 

A figura 1 demonstra alguns tipos de teclados matriciais do tipo comercial. Estes teclados são formados basicamente por botões tipo "normalmente abertos" intercalados entre colunas e linhas. Veja a figura 2.

 


 

 

Para saber qual tecla foi pressionada é necessário ler a linha e coluna referente. Assim, é possível determinar exatamente qual tecla da "matriz" foi pressionada.

Porém, como saber exatamente qual linha e qual coluna deve-se analisar para que a leitura seja exatamente realizada no momento em que a tecla esperada foi pressionada?

Para tal é necessário realizar uma operação muito conhecida no mundo dos circuitos digitais e também dos microcontroladores, conhecida por varredura de teclado.

 

 

Varredura de teclado

 

Agora, atente para a figura 3. Na varredura de teclado um "valor fixo" é forçado nas "linhas". Este valor geralmente equivale ao estado lógico "1" (VCC). Este "1" lógico é normalmente forçado através de um resistor de pull-up.

 


 

 

 

O circuito de controle deve executar então um loop (laço), inserindo agora o estado "0" lógico (GND) na coluna que deverá ser lida e o estado "1" lógico nas demais colunas. Assim quando o usuário pressionar uma tecla na coluna onde existe o estado "0" lógico, imediatamente a linha referente à tecla pressionada assumirá também o mesmo estado ("0" lógico).

Por meio de interrupções ou mesmo através da leitura direta, é possível ao circuito de controle saber qual linha teve seu estado inicial alterado (de "1" para "0"). Como a coluna que estava em estado lógico "0" naquele momento é conhecida, pode-se determinar através de uma tabela, qual tecla foi pressionada.

O leitor deve estar se perguntando: Mas, como garantir que a tecla pressionada era realmente a que desejávamos ler?

Simples. A varredura faz isso. A mesma insere nas colunas o estado lógico "0" com uma velocidade muito maior ao que uma pessoa pressiona uma tecla. O estado lógico "0" é inserido na primeira coluna, depois na segunda, e assim por diante até chegar à última. Se nenhuma tecla for pressionada, uma nova varredura é iniciada na busca de uma tecla e assim o circuito de controle ficará em um "laço" eterno na espera de uma tecla pressionada.

Em resumo, força-se os valores da linha igual a "1" lógico, insere-se "0" lógico na primeira coluna (mantendo-se todas as outras em "1") e então se executa a leitura das linhas. Se nada se alterou, nenhuma tecla foi pressiona nas linhas referentes à coluna.

Passa-se assim a forçar o "0" lógico na próxima coluna e novamente a leitura das linhas é feito. Esta operação é realizada até que o estado em uma das linhas seja alterado. Nesse momento, verifica-se uma tabela de decodificação que guarda o valor da tecla.

Esta é a metodologia empregada para realizar a varredura de teclado utilizando um circuito controlador. Este pode ser composto de circuitos lógicos discretos, um microcontrolador ou ainda pela associação de ambos. O desenvolvimento de um programa para um microcontrolador qualquer deve respeitar a sequência detalhada. Compreendido o conceito envolvido, o leitor será capaz de desenvolver o algoritmo necessário a operação.

 

 

O circuito

 

O circuito do teclado matricial é —estrado na figura 4. Este circuito é rasante simples e traz a síntese do que fel explicado anteriormente: uma matriz com quatro colunas e quatro linhas com 16 teclas que permitem a interligação das mesmas.

Os resistores R1 a R4 são resistores de pull-up, utilizados para forçar o estado lógico "1" nas linhas. A chave DIP4 permite conectar estes resistores a linha ou não. Isso pode parecer à primeira vista estranho, mas não é. Alguns microcontroladores possuem resistores de pull-up internos que podem ser habilitados via programação e desta forma, o uso de resistores externos não se faz necessário. A chave permite que o leitor escolha que tipo de ligação deseja fazer.

Os componentes D1 a D4 são diodos de proteção para as portas do circuito de controle e também garantem que somente o "0" lógico inserido nas colunas poderá ser refletido nas linhas. O circuito é bastante simples e acreditamos que o leitor que acompanha nossa revista há algum tempo já deva ter tido contato com o circuito proposto inserido em outros circuitos por nós publicados. O conector para colunas possui quatro pontos, um para cada coluna e o conector para a ligação das linhas tem cinco pontos no total: um para cada linha e um para a ligação do VCC necessário aos resistores de pull-up, caso os mesmos venham a ser utilizados.

 

 


| Clique na imagem para ampliar |

 

 


| Clique na imagem para ampliar |

 

 

 

Montagem

 

Na figura 5 o leitor tem a nossa sugestão para o layout de circuito impresso. Utilizamos este layout para a confecção da placa usada por nós em nossos testes. A montagem do circuito em uma placa padrão também é possível. Deixamos a escolha por conta de cada um.

A placa possui 12 jumpers que podem ser feitos com pequenos pedaços de fio rijo fino. As chaves utilizadas são do tipo tácteis mini, normalmente abertas para montagem no circuito impresso, com quatro terminais.

Caso o leitor opte por montar o circuito em uma placa-padrão, chamamos a atenção para o fato de que este tipo de chave tem quatro pontos e apenas um único contato. Repare no circuito que a mesma tem os terminais 1 e 2, 3 e 4 interconectados internamente entre si. Tome cuidado para não usar equivocadamente os terminais da chave de maneira trocada na montagem do teclado. Siga atentamente o esquema elétrico para obter sucesso.

Para a opção da montagem com o layout de circuito impresso sugerido, este problema desaparece, pois, cada chave só poderá ser encaixada de maneira que os contatos 1 e 3, ou ainda 2 e 4 serão os utilizados.

D1 a D4 são diodos de sinal 1N4148. Não use nesta montagem diodos retificadores. Os diodos de sinal são melhores para a aplicação descrita. E lembre-se que diodos são componentes polarizados e sua ligação de maneira invertida fará com que o teclado não funcione como o proposto, podendo ainda colocar em risco o circuito de controle quando em uso.

R1 a R4 são resistores de 1/8 de watt de dissipação com valor de 10 kΩ. A chave DIP4 pode ser substituída por jumpers caso o leitor opte por utilizar o teclado com resistores externos sempre ligados.

A chave DIP4 também poderá ser omitida caso a opção seja empregar o teclado matricial com circuitos de controle com resistores de pull-up "internos" (como é o caso de alguns microcontroladores, que possuem tais resistores em algumas de suas portas/pinos). Caso seja esta a opção do leitor, os resistores R1 a R4 também podem ser omitidos do circuito.

Para a conexão das linhas e colunas no circuito sugerimos o uso de uma barra de pinos. Na falta da mesma, o leitor poderá utilizar fios sem nenhum problema. Recomendamos apenas que estes sejam coloridos para facilitar as ligações futuras.

 

 

Prova e uso

 

Após a montagem, faça uma verificação. O circuito é bastante simples e acreditamos que o leitor não terá problemas com esta montagem.

Para testar o circuito o leitor precisa apenas de um multímetro. Basta colocá-lo na função "Teste de diodos" e realizar os testes como segue:

1° Ligue a ponta de prova "preta" do multímetro ao ponto da placa indicado como "Coluna 1". Ligue a ponta de prova "vermelha" ao ponto indicado como "Linha 1". Pressione S1. A indicação típica do seu multímetro para um diodo em bom estado poderá ser vista no mostrador do equipamento.

2° Mantenha a ponta de prova preta na indicação "Coluna 1" e a agora troque a outra ponta para a indicação, "Linha 2". Pressione S5. Novamente, o leitor poderá verificar a indicação antes descrita.

3° Faça o mesmo para "Linha 3" (pressionando S9) e também para a "Linha 4" (pressionando S13).

4° Agora, mude de posição a ponta de prova preta da "Coluna 1" para "Coluna 2" e repita os passos de 1 a 3. Lembre-se apenas que agora as chaves a serem pressionadas são outras (S2, S6, S10 e S14).

5° Repita os passos de 1 a 3 também para testar as conexões entre as colunas 3 e 4 com as linhas 1 a 4. Para se orientar a respeito das chaves a serem pressionadas para o teste, use o circuito elétrico.

Se durante os testes, ao inserir a ponta de prova em uma coluna e linha o equipamento indicar qualquer medida, sem o pressionamento da respectiva chave, é sinal que existe um curto nas ligações desta linha / coluna ou ainda que o leitor ligou as chaves de maneira errada. Qualquer indicação de "falta de conexão" poderá ser interpretada como "trilha interrompida", solda fria, jumper não montado, etc. Como dito anteriormente, o circuito é extremamente simples e a busca por "problemas" na montagem não será uma tarefa complexa.

 

 

Conclusão

 

O Teclado Matricial proposto neste artigo pode ser utilizado em uma série de circuitos práticos interessantes. Nas próximas edições traremos dicas de uso interessantes para este teclado, assim como um circuito que permitirá ao leitor que estuda microcontroladores montar um acessório bastante desejado: um teclado serial. Até lá e boa montagem!

 


| Clique na imagem para ampliar |