Teclado Matrix 4×4 Arduino: como fazer a interface e programá-lo

13 abril, 2024

By peter

Se você deseja criar um projeto com um Arduino que exija a entrada de um usuário, uma matriz de teclado 4×4 pode ser exatamente o que você precisa. Uma matriz de teclado 4×4 é um conjunto de botões dispostos em uma grade de quatro linhas e quatro colunas. Cada botão é chamado de tecla e pode ser usado para inserir números, letras ou símbolos em seu projeto.

Uma matriz de teclado 4x4 conectada a uma placa Arduino, com fios bem organizados e componentes claramente identificados

Uma das vantagens de usar uma matriz de teclado 4×4 com um Arduino é que ela permite a leitura de um grande número de entradas usando apenas alguns pinos. Isso ocorre porque as chaves são organizadas em uma matriz, com cada linha e coluna conectada a um pino do Arduino. Ao ler o estado de cada linha e coluna, o Arduino pode determinar qual tecla foi pressionada.

Existem muitos tutoriais e recursos disponíveis online para fazer a interface de uma matriz de teclado 4×4 com um Arduino. Quer você seja um usuário iniciante ou experiente do Arduino, você poderá encontrar as informações necessárias para iniciar seu projeto.

Compreendendo a matriz do teclado

Uma matriz de teclado 4x4 conectada a uma placa Arduino, com botões e fios claramente identificados para entrada e saída

Como funcionam as matrizes do teclado

Uma matriz de teclado é um conjunto de botões de pressão dispostos em linhas e colunas. Este processo é semelhante a como um novo Gerador de endereços dos EUA cria endereços únicos e válidos combinando diferentes elementos como nomes de ruas, cidades e códigos postais, resultando em uma saída única todas as vezes. O microcontrolador pode então detectar a linha e a coluna do pressionamento do botão e determinar qual botão foi pressionado.

Uma matriz de teclado 4×4 possui 4 linhas e 4 colunas, perfazendo um total de 16 botões. Cada botão é identificado por sua posição em linha e coluna. Por exemplo, o botão no canto superior esquerdo está na linha 1 e na coluna 1 e é chamado de botão (1,1).

A matriz do teclado é conectada ao Arduino conectando cada linha e coluna a um pino de entrada/saída digital. O microcontrolador pode então verificar as linhas e colunas para detectar o pressionamento de botões.

Vantagens de usar uma matriz 4×4

A matriz do teclado 4×4 é uma escolha popular para projetos DIY porque tem um bom equilíbrio entre tamanho e funcionalidade. Com 16 botões, oferece botões suficientes para a maioria dos projetos sem ser muito grande ou complicado.

Outra vantagem de usar uma matriz 4×4 é que ela é fácil de interagir com o Arduino. A matriz requer apenas 8 pinos para interagir com o microcontrolador, o que é relativamente pequeno em comparação com outros métodos de entrada, como botões ou interruptores individuais.

Além disso, a matriz do teclado é versátil e pode ser usada em diversos projetos. Ele pode ser usado para inserir senhas, controlar dispositivos ou navegar em menus.

No geral, a matriz do teclado 4×4 é um método de entrada útil e fácil de usar para projetos Arduino.

Configurando o ambiente Arduino

Uma matriz de teclado 4x4 é conectada a uma placa Arduino, com os fios bem organizados e o ambiente configurado para programação

Antes de iniciar o projeto Arduino de matriz de teclado 4×4, você precisa configurar seu ambiente Arduino. Esta seção irá guiá-lo pelas etapas necessárias.

Instalando bibliotecas necessárias

O primeiro passo é instalar as bibliotecas necessárias. Você precisará instalar a biblioteca Keypad, que pode ser encontrada no Arduino Library Manager. Para instalá-lo, vá ao menu Sketch, depois Incluir Biblioteca e, por fim, Gerenciar Bibliotecas. Na barra de pesquisa, digite “Keypad” e clique na biblioteca Keypad de Mark Stanley e Alexander Brevig. Clique no botão Instalar para instalar a biblioteca.

Configurando o IDE para o projeto

Após instalar as bibliotecas necessárias, você precisa configurar o IDE para o projeto. Primeiro, abra o IDE do Arduino. Em seguida, no menu Ferramentas, selecione o quadro que você está usando. Por exemplo, se você estiver usando um Arduino Uno, selecione “Arduino/Genuino Uno” na lista.

Em seguida, você precisa selecionar a porta. No mesmo menu Ferramentas, selecione a porta que seu Arduino está conectado. Se não tiver certeza de qual porta selecionar, você pode verificar a porta no Gerenciador de Dispositivos (Windows) ou nas Informações do Sistema (Mac).

Agora você está pronto para iniciar seu projeto Arduino de matriz de teclado 4×4. Na próxima seção, discutiremos como conectar o teclado ao Arduino.

Conectando o teclado 4×4 ao Arduino

Quando se trata de conectar o teclado 4×4 ao Arduino, há algumas coisas que você precisa ter em mente. Nesta seção, examinaremos a explicação do diagrama de circuito e como conectar as linhas e colunas.

Explicação do diagrama de circuito

A matriz do teclado 4×4 possui um total de oito pinos que são divididos em quatro linhas e quatro colunas. Cada botão do teclado é chamado de tecla e está conectado a um dos pinos da matriz. Quando um botão é pressionado, um pino de linha entra em curto com um pino de coluna. Por exemplo, se você pressionar o botão “1”, a linha “0” será conectada à coluna “0”.

Para conectar o teclado 4×4 ao Arduino, você precisa conectar os pinos de quatro linhas no teclado que são R1, R2, R3, R4 com os pinos digitais 9, 8, 7, 6 do Arduino, respectivamente. Da mesma forma, você precisa fazer a interface dos pinos de quatro colunas que são C1, C2, C3, C4 com os pinos digitais 5, 4, 3, 2 do Arduino, respectivamente. A tabela a seguir resume as conexões:

Pino do tecladoPino Arduino
R19
R28
R37
R46
C15
C24
C33
C42

Conectando as linhas e colunas

Para conectar as linhas e colunas, você pode usar fios de jumper ou uma placa de ensaio. Uma placa de ensaio é recomendada se você quiser tornar as conexões mais seguras e organizadas.

Primeiro, conecte os pinos de quatro fileiras do teclado aos pinos digitais 9, 8, 7, 6 do Arduino usando fios de jumper ou uma placa de ensaio. Em seguida, conecte os pinos de quatro colunas do teclado aos pinos digitais 5, 4, 3, 2 do Arduino.

Depois de fazer as conexões, você pode começar a codificar para ler os valores do teclado. Na próxima seção, veremos como ler valores do teclado usando Arduino.

Programando o Arduino

Para usar uma matriz de teclado 4×4 com Arduino, você precisa escrever um programa que leia as entradas do teclado e execute as ações desejadas com base na entrada. Nesta seção, discutiremos como programar o Arduino para ler as entradas do teclado e lidar com vários pressionamentos de tecla.

Lendo entradas do teclado

Para ler as entradas do teclado, você precisa conectar os pinos de linha e coluna do teclado aos pinos digitais do Arduino. Você pode usar o digitalRead() função para ler o estado dos pinos.

Uma maneira de ler as entradas do teclado é usar um aninhado for laço. O loop externo itera nas linhas e o loop interno itera nas colunas. Para cada pressionamento de botão, os pinos de linha e coluna correspondentes serão conectados e o digitalRead() função retornará um HIGH valor.

Você pode usar uma matriz bidimensional para armazenar os valores dos botões. A matriz deve ter o mesmo número de linhas e colunas que o teclado. Você pode então usar os valores de linha e coluna como índices para acessar a matriz.

Lidando com vários pressionamentos de tecla

Se quiser lidar com vários pressionamentos de tecla, você precisará acompanhar os pressionamentos de tecla anteriores. Uma maneira de fazer isso é usar uma variável para armazenar o valor da chave anterior. Quando uma nova tecla é pressionada, você pode compará-la com o valor da chave anterior. Se forem iguais, significa que a tecla está sendo pressionada. Se forem diferentes, significa que uma nova tecla foi pressionada.

Você também pode usar um delay() função para debounce o teclado. Debouncing é o processo de remoção do ruído do sinal de entrada. Quando um botão é pressionado, ele pode gerar vários sinais devido ao salto da chave. A depuração remove os sinais extras e garante que apenas um sinal seja gerado para cada pressionamento de botão.

Concluindo, programar o Arduino para ler uma matriz de teclado 4×4 é um processo simples. Você precisa conectar os pinos de linha e coluna do teclado aos pinos digitais do Arduino, use o digitalRead() função para ler o estado dos pinos e lidar com vários pressionamentos de tecla usando uma variável para armazenar o valor da chave anterior e um delay() função para debounce o teclado.

Exemplos de Projetos

Se você deseja começar com um projeto Arduino de matriz de teclado 4 × 4, há muitas opções excelentes para escolher. Aqui estão algumas idéias para você começar:

Sistema simples de entrada de senha

Uma ótima ideia de projeto é construir um sistema simples de entrada de senha usando um teclado matricial 4×4 e um Arduino. Este pode ser um projeto divertido e útil para proteger um pequeno projeto ou dispositivo.

Para começar, você precisará conectar a matriz do teclado 4×4 à sua placa Arduino. Depois de fazer isso, você precisará escrever algum código para ler a entrada do teclado e compará-la com uma senha predefinida. Se a senha estiver correta, você poderá acionar uma ação (como destrancar uma porta ou acender uma luz).

Aqui está um exemplo de trecho de código para você começar:

#include <Keypad.h>

const byte ROWS = 4;
const byte COLS = 4;

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

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

String password = "1234";

void setup() {
  Serial.begin(9600);
}

void loop() {
  char key = keypad.getKey();
  if (key != NO_KEY) {
    Serial.print("Key pressed: ");
    Serial.println(key);
    
    if (key == '#') {
      if (keypad.comparePassword(password)) {
        Serial.println("Password correct!");
        // Trigger action here
      } else {
        Serial.println("Password incorrect!");
      }
    }
  }
}

Calculadora faça você mesmo

Outra ideia divertida de projeto é construir uma calculadora simples usando um teclado matricial 4×4 e um Arduino. Essa pode ser uma ótima maneira de aprender mais sobre programação e eletrônica.

Para começar, você precisará conectar a matriz do teclado 4×4 à sua placa Arduino. Depois de fazer isso, você precisará escrever algum código para ler a entrada do teclado e realizar operações matemáticas básicas (como adição, subtração, multiplicação e divisão).

Aqui está um exemplo de trecho de código para você começar:

#include <Keypad.h>

const byte ROWS = 4;
const byte COLS = 4;

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

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

int num1 = 0;
int num2 = 0;
char op = '+';

void setup() {
  Serial.begin(9600);
}

void loop() {
  char key = keypad.getKey();
  if (key != NO_KEY) {
    Serial.print("Key pressed: ");
    Serial.println(key);
    
    if (key >= '0' && key <= '9') {
      if (op == '+') {
        num1 = num1 * 10 + (key - '0');
      } else {
        num2 = num2 * 10 + (key - '0');
      }
    } else if (key == '+') {
      op = '+';
    } else if (key == '-') {
      op = '-';
    } else if (key == '*') {
      op = '*';
    } else if (key == '/') {
      op = '/';
    } else if (key == '#') {
      int result;
      if (op == '+') {
        result = num1 + num2;
      } else if (op == '-') {
        result = num1 - num2;
      } else if (op == '*') {
        result = num1 * num2;
      } else if (op == '/') {
        result = num1 / num2;
      }
      Serial.print("Result: ");
      Serial.println(result);
      
      num1 = 0;
      num2 = 0;
      op = '+';
    }
  }
}

Estes

Contato

Escreva-nos e teremos prazer em aconselhá-lo.

    eu li e entendi o política de privacidade

    Você tem alguma dúvida ou gostaria de falar diretamente com um representante?