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
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