A Freescale parte do fato de que os teclados tradicionais utilizam micro-switches que controlam diretamente as correntes que acionam os vidros elétricos e os espelhos.
Embora estas chaves possam controlar as correntes destes dispositivos, uma vez que elas não são elevadas, o teclado se torna complexo dada a necessidade de que, em alguns casos, os motores devem ser controlados nos dois sentidos de rotação. Além disso, o mesmo dispositivo poder ser controlado a partir de dois pontos, por exemplo: os vidros da frente devem ser controlados tanto pelo passageiro da direita como da esquerda.
Considerando-se as correntes elevadas, o dispositivo torna-se caro e difícil de instalar. Com a utilização da solução eletrônica e uma interface para a rede LIN (Local Interconect Network), os proble- mas são resolvidos.
No Application Note AN2205 da Freescale (www.freescale.com), que resumimos neste artigo, mas que pode ser baixado na íntegra no site da empresa, resumimos o projeto de um teclado como um nó escravo da rede LIN. Isso significa que ele pode iniciar as comunicações com outros nós da rede, no caso o mestre. No entanto, o mestre envia ao teclado uma mensagem a cada 100 ms que responde com um código de 4 bits que se refere a todas as funções que ele deve realizar, conforme diagrama de blocos mostrado na figura 1.

Nesse tipo de projeto deve-se considerar ainda que existe uma diferença entre o teclado utilizado e o teclado comum de uma calculadora.
De fato, nesta aplicação duas teclas podem ser pressionadas ao mesmo tempo, o que não ocorre com uma calculadora. Assim, a utilização da abordagem de matriz X-Y no projeto do teclado não se aplica.
Uma disposição de leitura em matriz tem uma capacidade limitada para detectar o pressionamento simultâneo de duas teclas. Para se obter este tipo de aplicação emprega-se a técnica das teclas-espelho.
O que acontece é que se as teclas da mesma linha ou coluna forem pressionadas, estas linhas serão curto-circuitadas. Desta forma, têm-se a detecção de uma terceira função. Isso é conseguido com uma matriz 5 x 2 usando-se 10 linhas I/O do microcontrolador. Trata-se do mesmo tipo de solução que normalmente é empregada no projeto de joysticks.
Outro problema a ser considerado é o tipo de tecla a ser utilizada neste tipo de aplicação. Como em um carro podemos ter quatro teclados, um em cada porta, sendo possível que mais de uma tecla seja pressionada ao mesmo tempo, isso deve ser previsto.
Para este tipo de aplicação em que as janelas devem subir e descer, exgindo assim funções complexas, não se usa a disposição convencional em matriz.
Uma solução seria utilizar 16 chaves, com uma disposição em que se empregam 16 I/Os em lugar da matriz 4 x 4. A seguir detalhamos as possíveis soluções.
No primeiro caso temos a interface direta com 16 chaves. Este método tem por vantagem precisar de um software simples, mas a desvantagem está na necessidade de se empregar 16 linhas I/O.
No segundo caso utilizam-se as entradas analógicas-para-digital. A vantagem está no uso de apenas 4 linhas I/O , mas a desvantagem reside na necessidade de se empregar um MCU com ADC e alguns componentes externos.
A terceira solução utiliza 8 chaves onde a duração do pressionamento distingue entre a operação normal e rápida. A vantagem está no uso de apenas 8 linhas I/O e a desvantagem está no fato de ser um pouco complicada para o usuário.
Finalmente temos a solução adotada neste projeto que consiste em 8 chaves, onde a subida e descida rápida são obtidas com o acionamento simultâneo de duas chaves (up e down). Na figura 2 temos o aspecto das chaves utilizadas.

Na figura 3 temos finalmente o diagrama completo do controlador de vidros com teclado na porta do carro, sugerido pela Freescale.

Informações sobre o software e a listagem para o microcontrolador empregado podem ser obtidos no documento original da Freescale.
* Originalmente publicado na revista Saber Eletrônica n° 431 Ano 44 dez / 2008