Neste tutorial, faremos a interface de um teclado de toque 4x2 (8 teclas) com o microcontrolador ATMEGA32A. Todos nós sabemos que o teclado é um dos dispositivos de entrada mais importantes usados na engenharia eletrônica. Este módulo não tem teclas reais, mas tem pads de metal capacitivos especialmente projetados, e esses pads são muito sensíveis. Assim, quando uma pessoa entra em contato com um dos pads, ocorre uma mudança capacitiva no loop correspondente, e essa mudança será sentida pelo controle eletrônico no módulo. Em resposta ao toque, o pino de saída do pad correspondente fica alto.
Para um touchpad de oito teclas, teremos oito saídas. Embora existam outros recursos com este módulo, não vamos discuti-los aqui.
Componentes necessários
Hardware: microcontrolador ATMEGA32, fonte de alimentação (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16x2LCD), capacitor 100uF, capacitor 100nF, resistor 1KΩ (2 peças), módulo teclado de toque.
Software: Atmel studio 6.1 ou Atmel studio 6.2, progisp ou flash magic.
Diagrama de circuito e explicação de trabalho
No circuito, o PORTB do ATMEGA32 está conectado à porta de dados LCD. Aqui, deve-se lembrar de desabilitar a comunicação JTAG de PORTC para ATMEGA, alterando os bytes do fusível, caso se queira usar o PORTC como porta de comunicação normal. No LCD 16x2, existem 16 pinos ao todo, se houver uma luz de fundo, se não houver luz de fundo, haverá 14 pinos. Pode-se ligar ou deixar os pinos da luz de fundo. Agora, nos 14 pinos, há 8 pinos de dados (7-14 ou D0-D7), 2 pinos de fonte de alimentação (1 e 2 ou VSS e VDD ou gnd e + 5v), 3º pino para controle de contraste (VEE-controla a espessura dos caracteres mostrado), e 3 pinos de controle (RS & RW & E)
No circuito, você pode observar que eu peguei apenas dois pinos de controle, isso dá a flexibilidade de um melhor entendimento, o bit de contraste e READ / WRITE não são usados com frequência, então eles podem estar em curto com o terra. Isso coloca o LCD em maior contraste e modo de leitura. Precisamos apenas controlar os pinos ENABLE e RS para enviar caracteres e dados de acordo.
As conexões que são feitas para LCD são fornecidas abaixo:
PIN1 ou VSS para aterrar
PIN2 ou VDD ou VCC para alimentação de + 5v
PIN3 ou VEE para aterrar (oferece contraste máximo, melhor para um iniciante)
PIN4 ou RS (seleção de registro) para PD6 de uC
PIN5 ou RW (leitura / gravação) para aterrar (coloca o LCD no modo de leitura facilita a comunicação para o usuário)
PIN6 ou E (habilitar) para PD5 de uC
PIN7 ou D0 a PB0 de uC
PIN8 ou D1 a PB1 de uC
PIN9 ou D2 a PB2 de uC
PIN10 ou D3 a PB3 de uC
PIN11 ou D4 a PB4 de uC
PIN12 ou D5 a PB5 de uC
PIN13 ou D6 a PB6 de uC
PIN14 ou D7 a PB7 de uC
No circuito você pode ver que usamos comunicação de 8 bits (D0-D7) porém não é obrigatória, podemos usar comunicação de 4 bits (D4-D7) mas com 4 bits o programa de comunicação torna-se um pouco complexo.
Portanto, observando a tabela acima, estamos conectando 10 pinos do LCD ao controlador, em que 8 pinos são pinos de dados e 2 pinos para controle.
Antes de prosseguir, é importante saber que, o módulo capacitivo funciona com uma tensão de 2,5V. E também a corrente puxada pelo módulo de toque não é alta. Portanto, para obter 2,5 V para o módulo de 5 V, vamos usar um circuito divisor de tensão.
O circuito divisor de tensão formado por resistores é mostrado na figura abaixo.
Agora, o circuito divisor de tensão fornece baixas tensões para módulos e outras referências. Conforme mostrado na figura, a tensão de saída no ponto médio é uma razão de resistências. Então, para obter 2,5 V de 5 V, vamos usar R1 = R2 = 1KΩ, então para uma tensão de alimentação de 5 V a tensão do ponto médio será 2,5 V em relação ao terra. Esta tensão do circuito divisor é conectada ao módulo. Um capacitor é conectado a ele para filtrar os harmônicos, conforme mostrado no diagrama do circuito.
A porta de saída do módulo de toque é conectada ao controlador atmega, então sempre que um pad é tocado, a saída do pino correspondente fica alta. Essa mudança lógica é detectada pelo controlador. O controlador mostra o dígito no LCD com base no pino, que é alto.
Como segurança, é possível puxar todos os pinos de saída do módulo para o aterramento por meio de resistores de 10K, embora não seja obrigatório.
O funcionamento do TOUCH KEAYPAD INTERFACE é melhor explicado passo a passo do código C fornecido abaixo.