Configurando teclado no Arduino UNO

Configurando teclado no Arduino UNO

Configurando teclado no Arduino UNO

este Guia, vamos fazer interface de um teclado 4×4 (16 teclas) com o ARDUINO UNO. Todos sabemos que o teclado é um dos dispositivos de entrada mais importantes usados na engenharia eletrônica. O teclado é a maneira mais fácil e barata de fornecer comandos ou instruções para um sistema eletrônico. Sempre que uma tecla é pressionada no módulo do teclado, o Arduino Uno a detecta e calha a tecla correspondente no LCD 16×2.

 

Componentes Necessários:

Hardware

  • Arduino Uno
  • LCD 16×2
  • Resistor 1k Ohms (2x)
  • Capacitor 100uF
  • Butoes (2x)
  • Modulo Teclado 4×4 Membrana
  • LED
  • Fonte de Alimentação (5V)
  • ProtoBoard ou PCB
  • Fios

 

Software

  • Arduino IDE

 

Diagrama de circuitos e explicação de funcionamento

No LCD 16×2, existem 16 pinos no total, 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, existem 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), terceiro pino para controle de contraste (VEE – controla a espessura dos caracteres. ) e 3 pinos de controle (RS & RW & E).

No circuito de interface do teclado do Arduino uno, você pode observar que eu peguei apenas dois pinos de controle. Isso proporciona a flexibilidade de uma melhor compreensão, o bit de contraste e READ / WRITE não são usados com frequência, para que possam ser curto-circulares. Isso coloca o LCD no mais alto contraste e modo de leitura. Nós apenas precisamos controlar os pinos ENABLE e RS para enviar caracteres e dados de acordo.

 

 

As conexões feitas para o LCD são fornecidas abaixo:

PIN1 ou VSS para o terra

PIN2 ou VDD ou VCC para +5v de potência

PIN3 ou VEE para o terra (oferece o máximo contraste possível para iniciantes)

PIN4 ou RS (seleção de registro) para o PIN8 do Arduino Uno

 

PIN5 ou RW (leitura/gravação) para o terra (coloca o LCD no modo de leitura facilita a comunicação para o usuário)

PIN6 ou E (Ativar) para o PIN9 do Arduino Uno

PIN11 ou D4 para o IN10 do Arduino Uno

PIN12 ou D5 para o PIN11 do Arduino Uno

PIN13 ou D6 para o PIN12 do Arduino Uno

PIN14 ou D7 para o PIN13 do Arduino Uno

Teclado

Vamos conectar o módulo do teclado entre os pinos 0-7 do Arduino Uno, conforme mostrado no diagrama de circuito. Todos os oito pinos do módulo do teclado estão conectados de acordo.

Agora, para configurar uma conexão entre o Módulo do Teclado e o UNO, precisamos obter a biblioteca do teclado no site da ARDUINO. Depois disso, podemos chamar diretamente o arquivo de cabeçalho. Discutiremos cada comando abaixo.

    #include <Keypad.h>
    const byte ROWS = 4; // Quatro linhas
    const byte COLS = 4; // Três colunas

// Definir o mapa de teclas

    char keys[ROWS][COLS] = {

  {'1','2','3','A'},   {'4','5','6','B'},   {'7','8','9','C'},  {'#','0','*','D'} }; // Conecte o teclado ROW0, ROW1, ROW2 e ROW3 a esses pinos do Arduino.

    byte rowPins[ROWS] = { 0, 1, 2, 3 };

// Conecte o teclado COL0, COL1 e COL2 a esses pinos do Arduino.

    byte colPins[COLS] = { 4, 5, 6, 7 };

// Crie o teclado

    Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
    char key = kpd.getKey();

 

Primeiro, chamaremos o arquivo de cabeçalho que permite ao usuário acessar todos os comandos do teclado. Escreveremos cada tecla do teclado na matriz, para que a UNO entenda o pressionamento da tecla.

Dizendo ao Uno quais pinos são usados para conectar o módulo do teclado.

Dizendo ao UNO para mapear cada tecla na imprensa.

Colocar a chave UNO mapeada na memória.

O funcionamento da interface do teclado do Arduino Uno é melhor explicado no código C fornecido abaixo.

 

Código

#include <LiquidCrystal.h>

//inicialize a biblioteca com os números dos pinos da interface
LiquidCrystal lcd(8, 9, 10, 11, 12, 13); //RS,EN,D4,D5,D6,D7

#include <Keypad.h> //cabeçalho para comandos do teclado, permitindo

const byte ROWS = 4; // Quatro linhas
const byte COLS = 4; // Três colunas

// Definir o mapa de teclas

char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'#','0','*','D'}
};

// Conecte o teclado ROW0, ROW1, ROW2 e ROW3 a esses pinos do Arduino.
byte rowPins[ROWS] = { 0, 1, 2, 3 };

// Conecte o teclado COL0, COL1 e COL2 a esses pinos do Arduino.
byte colPins[COLS] = { 4, 5, 6, 7 };

//  Crie o teclado
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup()
{

  for(int k=8;k<14;k++)
  {
    pinMode(k,OUTPUT);//pinos 8-14 são ativados como saída
  }

  lcd.begin(16, 2);//inicializando o LCD
}

void loop()
{
  char key = kpd.getKey(); //armazenando o valor da tecla pressionada em um caractere

  if (key != NO_KEY)
  {
      lcd.print(key); //mostrando caracteres pressionados no LCD
  }
}                

 

Esperamos que você tenha achado útil este guial mostrando com usar o Teclado de Membrana.

 

Obrigado pela leitura