Arduino - Teclado
O teclado é muito usado em vários dispositivos, como fechaduras de porta, caixas eletrônicos, calculadoras...
Neste tutorial, vamos aprender:
- Como usar o teclado 3x4 e o teclado 4x4 com Arduino.
- Como ler o valor do teclado 3x4 e do teclado 4x4 com Arduino.
- Como verificar a senha digitada no teclado
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Teclado

O teclado é um conjunto de botões organizados em linhas e colunas (chamado de matriz). Cada botão é chamado de tecla
Existem vários tipos de teclado. Dois tipos populares para projetos DIY são o teclado 3x4 (12 teclas) e o teclado 4x4 (16 teclas).
Pinagem
Os pinos do teclado são divididos em dois grupos: linha e coluna.
O teclado 3x4 tem 7 pinos: 4 pinos de linha (R1, R2, R3, R4) e 3 pinos de coluna (C1, C2, C3).
O teclado 4x4 tem 8 pinos: 4 pinos de linha (R1, R2, R3, R4) e 4 pinos de coluna (C1, C2, C3, C4).

Como Funciona
O processo de detectar o pressionamento de uma tecla é chamado de varredura do teclado.
Ele é chamado de “varredura” porque verifica tecla por tecla.
Os pinos de linha são conectados aos pinos de saída do Arduino
Os pinos de coluna são conectados aos pinos de entrada do Arduino (INPUT_PULLUP; nesse estado, o valor do pino de entrada é HIGH se a tecla não estiver pressionada).
Para cada linha:
- Coloca todos os pinos de linha em HIGH.
- Coloca apenas o pino da linha atual em LOW.
- Lê o estado de cada coluna.
- Se um pino de coluna estiver em HIGH ⇒ a tecla em (linha, coluna) NÃO está pressionada.
- Se um pino de coluna estiver em LOW ⇒ a tecla em (linha, coluna) está pressionada.
- Repete o processo acima para os próximos pinos de linha.
※ Nota:
O método acima é um dos métodos para fazer a varredura do teclado. Podemos inverter todos os HIGH para LOW e todos os LOW para HIGH para fazer a varredura do teclado.
⇒ Como sabemos, um botão independente precisa de um pino do Arduino e do GND. Vamos usar o teclado 4x4 como exemplo. Se usarmos cada tecla como um botão independente, serão necessários 16 pinos do Arduino para as 16 teclas, mais o pino GND. Se organizarmos as teclas conectadas em forma de matriz, só precisamos usar 8 pinos do Arduino, e assim economizamos pinos do Arduino. Resumindo, a resposta é: para economizar os pinos do Arduino.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Como Programar o Teclado
Graças à biblioteca Keypad, usar o teclado com o Arduino é muito fácil, quer você entenda ou não como o teclado funciona.
Código Arduino
Teclado 3x4
Teclado 4x4
Passos Rápidos
- Vá até o ícone Libraries na barra esquerda do Arduino IDE.
- Pesquise “keypad” e encontre a biblioteca keypad de Mark Stanley, Alexander Brevig
- Clique no botão Install para instalar a biblioteca keypad.

- Copie o código acima e abra com o Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Abra o Serial Monitor
- Pressione algumas teclas no teclado
- Veja o resultado no Serial Monitor
Teclado e Senha
Uma aplicação popular do teclado é a entrada de senha. Nessa aplicação, definimos duas teclas especiais:
- Uma tecla para iniciar/reiniciar a entrada da senha. Por exemplo, a tecla "*"
- Uma tecla para finalizar a entrada da senha. Por exemplo, a tecla "#"
A senha será uma string que contém as demais teclas, exceto as duas teclas especiais escolhidas.
Quando uma tecla é pressionada:
- Se a tecla NÃO for nem "*" nem "#", adicione a tecla à string da senha digitada pelo usuário.
- Se a tecla for "#", compare a string da senha digitada pelo usuário com a senha para saber se a senha digitada está correta ou não e, em seguida, limpe a string da senha digitada pelo usuário
- Se a tecla for "*", limpe a string da senha digitada pelo usuário
Teclado - Código de Senha
- Execute o código acima
- Abra o Serial Monitor
- Pressione as teclas "123456" e pressione "#"
- Pressione as teclas "1234" e pressione "#"
- Veja o resultado no Serial Monitor
Vídeo
Conhecimento Adicional
Desafie-se
- Mostre a tecla pressionada do teclado em um LCD. Dica: Consulte Arduino - LCD
- Faça uma fechadura de porta com proteção por senha usando o teclado.