Índice:
Se você já quis ter um teclado numérico auxiliar para facilitar a digitação de números, atalhos e funções no seu computador, este projeto é para você. Aqui vamos ensinar a criar um teclado numérico USB usando um Arduino Pro Micro e um teclado matricial físico 4×3.

Por que usar o Arduino Pro Micro?
O Arduino Pro Micro utiliza o microcontrolador ATmega32U4, que tem suporte nativo à emulação de teclado e mouse via USB.
Isso significa que podemos conectar o Arduino ao PC e fazer com que ele se comporte como um teclado normal, enviando caracteres quando as teclas forem pressionadas.
Materiais necessários
- Cabo USB para o Arduino Pro Micro
- 1 × Arduino Pro Micro (ATmega32U4)
- 1 × Teclado matricial 4×3 (4 linhas × 3 colunas)
- Jumpers (fios de conexão)
Pinagem e ligações
O teclado matricial possui 7 pinos — 4 para as linhas e 3 para as colunas.
O mapeamento usado foi o seguinte:
Pino do teclado | Função | Pino no Arduino Pro Micro |
3 | Linha 1 | D2 |
8 | Linha 2 | D3 |
7 | Linha 3 | D4 |
5 | Linha 4 | D5 |
4 | Coluna 1 | D6 |
2 | Coluna 2 | D7 |
6 | Coluna 3 | D8 |
Dica: não use os pinos 0 e 1 (RX/TX), pois eles são usados para comunicação USB e podem causar conflitos.
Código do projeto
O código usa as bibliotecas Keypad para ler o teclado e Keyboard para enviar os caracteres ao computador.
Para instalar:
- No Arduino IDE, vá em Ferramentas → Gerenciar Bibliotecas.
- Pesquise por Keypad e instale.
- A biblioteca Keyboard já vem instalada por padrão no Arduino IDE.
#include <Keypad.h>
#include <Keyboard.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{‘1′,’2′,’3’},
{‘4′,’5′,’6’},
{‘7′,’8′,’9’},
{‘*’,’0′,’#’}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; // Linhas
byte colPins[COLS] = {6, 7, 8}; // Colunas
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() {
Keyboard.begin();
}
void loop() {
char key = keypad.getKey();
if (key) {
if (key >= ‘0’ && key <= ‘9’) {
Keyboard.print(key);
}
if (key == ‘#’) {
Keyboard.write(KEY_RETURN); // Enter
}
if (key == ‘*’) {
Keyboard.write(KEY_BACKSPACE); // Apagar
}
delay(150); // Evita repetição rápida
}
}
Como funciona?
- O teclado matricial é lido pelo Arduino usando a biblioteca Keypad.
- Quando uma tecla é pressionada, o Arduino identifica qual é e envia o comando para o computador usando a biblioteca Keyboard.
- O PC recebe o sinal como se fosse um teclado comum.
Conclusão
Com este projeto, você transforma um simples teclado matricial em um teclado numérico auxiliar totalmente funcional. É barato, fácil de montar e super útil no dia a dia, especialmente para quem trabalha com planilhas ou quer criar atalhos personalizados.