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
Postar um comentário