Sobre o Teclado Matricial e suas bibliotecas


  


**Uso do Teclado Matricial no Arduino: Como Baixar e Usar as Bibliotecas Keypad e Password**

 O teclado matricial é um componente muito utilizado em projetos com Arduino para entrada de dados, como senhas, comandos ou valores numéricos. Ele é composto por uma matriz de botões organizados em linhas e colunas, permitindo a leitura de várias teclas com um número reduzido de pinos do Arduino.  

Neste artigo, veremos como conectar um teclado matricial ao Arduino, como instalar as bibliotecas necessárias (`Keypad` e `Password`) e como programar o Arduino para ler as teclas pressionadas e validar senhas.  



**Materiais Necessários**  

- Arduino (Uno, Mega, Nano, etc.)  

- Teclado matricial 4x4 ou 4x3  

- Jumpers (fios para conexão)  

- Computador com IDE Arduino instalada  


---


**Conexão do Teclado Matricial ao Arduino**  

Um teclado matricial geralmente possui 4 linhas e 4 colunas (4x4) ou 4 linhas e 3 colunas (4x3). A conexão é feita ligando cada linha e coluna a um pino digital do Arduino.  


**Pinagem do Teclado Matricial 4x4**  

| Teclado | Pino Arduino |  

|---------|-------------|  

| Linha 1 | D9          |  

| Linha 2 | D8          |  

| Linha 3 | D7          |  

| Linha 4 | D6          |  

| Coluna 1| D5          |  

| Coluna 2| D4          |  

| Coluna 3| D3          |  

| Coluna 4| D2          |  


*(Obs: Você pode usar outros pinos, mas deve ajustar no código.)*  


---


 **Instalando as Bibliotecas Keypad e Password**  

Para facilitar a leitura do teclado e a validação de senhas, usaremos duas bibliotecas:  


1. **Keypad** – Responsável por ler as teclas pressionadas.  

2. **Password** – Facilita a comparação de senhas digitadas.  


 **Passo a Passo para Baixar as Bibliotecas**  


**Método 1: Pelo Gerenciador de Bibliotecas da IDE Arduino**  

1. Abra a **IDE Arduino**.  

2. Vá em **Sketch > Incluir Biblioteca > Gerenciar Bibliotecas...**  

3. Na barra de pesquisa, digite **"Keypad"** e instale a biblioteca **Keypad by Mark Stanley, Alexander Brevig**.  

4. Em seguida, pesquise por **"Password"** e instale a biblioteca **Password by Alexandru D**.  


**Método 2: Instalação Manual (caso não encontre no gerenciador)**  

1. Baixe as bibliotecas no GitHub:  

   - **Keypad**: [https://github.com/Chris--A/Keypad](https://github.com/Chris--A/Keypad)  

   - **Password**: [https://github.com/arduino-libraries/Password](https://github.com/arduino-libraries/Password)  

2. Extraia os arquivos `.zip`.  

3. Copie as pastas para o diretório de bibliotecas do Arduino (normalmente em `Documentos/Arduino/libraries`).  

4. Reinicie a IDE Arduino.  


---

**Exemplo de Código: Leitura do Teclado Matricial**  

A seguir, um código simples para ler as teclas pressionadas e exibir no Monitor Serial:  


```cpp

#include <Keypad.h>


const byte LINHAS = 4; // Número de linhas

const byte COLUNAS = 4; // Número de colunas


// Mapeamento das teclas

char teclas[LINHAS][COLUNAS] = {

  {'1','2','3','A'},

  {'4','5','6','B'},

  {'7','8','9','C'},

  {'*','0','#','D'}

};


// Conexões dos pinos (linhas e colunas)

byte pinosLinhas[LINHAS] = {9, 8, 7, 6}; // Linhas

byte pinosColunas[COLUNAS] = {5, 4, 3, 2}; // Colunas


Keypad teclado = Keypad(makeKeymap(teclas), pinosLinhas, pinosColunas, LINHAS, COLUNAS);


void setup() {

  Serial.begin(9600);

  Serial.println("Pressione uma tecla...");

}


void loop() {

  char tecla = teclado.getKey();

  

  if (tecla) {

    Serial.print("Tecla pressionada: ");

    Serial.println(tecla);

  }

}

```


 **Exemplo de Código: Validação de Senha com Password**  

Agora, vamos usar a biblioteca `Password` para verificar se a senha digitada está correta:  


```cpp

#include <Keypad.h>

#include <Password.h>


const byte LINHAS = 4;

const byte COLUNAS = 4;


char teclas[LINHAS][COLUNAS] = {

  {'1','2','3','A'},

  {'4','5','6','B'},

  {'7','8','9','C'},

  {'*','0','#','D'}

};


byte pinosLinhas[LINHAS] = {9, 8, 7, 6};

byte pinosColunas[COLUNAS] = {5, 4, 3, 2};


Keypad teclado = Keypad(makeKeymap(teclas), pinosLinhas, pinosColunas, LINHAS, COLUNAS);

Password senha = Password("1234"); // Senha correta: "1234"


void setup() {

  Serial.begin(9600);

  Serial.println("Digite a senha e pressione # para validar:");

}


void loop() {

  char tecla = teclado.getKey();

  

  if (tecla) {

    if (tecla == '#') { // Verifica senha ao pressionar #

      if (senha.evaluate()) {

        Serial.println("Senha correta! Acesso liberado.");

      } else {

        Serial.println("Senha incorreta! Tente novamente.");

      }

      senha.reset(); // Reinicia para nova tentativa

    } else {

      senha.append(tecla); // Adiciona a tecla à senha digitada

      Serial.print("*"); // Exibe * para cada tecla (opcional)

    }

  }

}

```


---

 **Conclusão**  

Com o teclado matricial e as bibliotecas `Keypad` e `Password`, é possível criar sistemas de autenticação, menus interativos e controles para projetos Arduino. Agora você já sabe como conectar o teclado, instalar as bibliotecas e programar o Arduino para ler e validar senhas.  


Experimente modificar os exemplos e integrar com outros componentes, como LEDs, displays LCD ou relés, para criar projetos mais avançados!  

Dica: Para teclados 4x3, basta ajustar as constantes `LINHAS` e `COLUNAS` no código.  



Comentários

Postagens mais visitadas