Crie um Botão de Teclado "Socável" Personalizado com Arduino: Guia Passo a Passo
Componentes e Materiais
| Arduino Micro | 1 | Pode usar qualquer microcontrolador baseado em ATmega32U4 (ex: Arduino Leonardo), que permite reconhecimento como mouse ou teclado. |
| Elemento Piezoelétrico | 1 | Discos piezoelétricos podem ser encontrados em alto-falantes de cartões musicais. |
| Resistor 1M ohm | 1 | Limita a tensão e corrente geradas pelo piezo e protege a entrada analógica. |
| Jumpers (genérico) | 1 |
Ferramentas e Máquinas Necessárias
- Material esponjoso
- Tecido (qualquer cor) — para cobrir esponjas e eletrônica. Use agulha e linha para fazer uma capa.
Aplicativos e Serviços Online
- Arduino IDE
Sobre o Projeto
No trabalho ou entediado jogando, não sente vontade de bater no teclado? Bata nesta tecla personalizada e "socável"! Descarregue sua frustração!
Neste projeto, criei um botão de teclado personalizável e "socável" feito com elemento piezoelétrico, placa baseada em ATmega32U4, resistor de alto valor (1 Mega ohm) e esponjas. Para "digitar", o usuário simplesmente bate ou chuta a tecla desejada.
Hardware Necessário
- Arduino Pro Micro — Baseado no ATmega32U4 com USB nativo, reconhecido como mouse/teclado. Qualquer microcontrolador com chip ATmega32U4 serve.

- Disco piezoelétrico — Gera tensão quando deformado mecanicamente por vibração, som ou tensão. Encontrado em alto-falantes de cartões musicais. Se tiver um, abra a caixa do alto-falante com chave de fenda/faca, remova a placa metálica e a placa de circuito para acessar o disco piezoelétrico.

- Resistor 1 Mega Ohm — Limita tensão/corrente do piezo e protege a entrada analógica.

- Esponjas — Deformam sob força e recuperam a forma. O piezo fica entre esponjas; ao bater, a tensão gerada vai para o pino analógico do Arduino Micro.

Diagrama do Circuito

Funcionamento
Piezos são polarizados: tensão passa neles em direção específica. Conecte o fio preto (menor tensão) ao GND e o vermelho (maior tensão) ao pino analógico A0. Adicione resistor de 1M ohm em paralelo com o piezo para limitar tensão/corrente e proteger a entrada analógica.
Se a saída do piezo (atuando como sensor de impacto) exceder um limiar, a placa executa operação de teclado conforme o programa.
Faça uma Capa para Cobrir as Esponjas

Use tecido e faça uma capa para as esponjas com agulha e linha. Pedi para minha mãe fazer uma — ela criou uma capa que cobre o circuito e as esponjas.
Insira o Elemento Piezo na Esponja

Código
#include <Keyboard.h>
const int knockSensor = A0; // piezo no pino analógico 0
const int threshold = 100; // valor do limiar
int sensorReading = 0; // valor lido do sensor
void setup() {
Keyboard.begin();
}
void loop() {
sensorReading = analogRead(knockSensor);
if (sensorReading >= threshold) {
// Personalize a função da tecla alterando valores ASCII abaixo
// Consulte https://www.arduino.cc/en/Reference/ASCIIchart
Keyboard.write(32); // ASCII 32 = Barra de espaço
delay(150);
Keyboard.releaseAll();
}
}
- Conecte conforme o circuito e carregue o código
- Plugue na USB do computador — executará funções de teclado conforme programado
Não se esqueça de modificar o código se quiser outra ação de teclado.
Altere apenas a seguinte linha:
Keyboard.write("Valor ASCII");
Por Que Isso É Legal? Pense nas Possibilidades:
- Atalhos ou controles para jogos
- Abrir aplicativo usado frequentemente
- Acessar site comum
- Atalhos Windows: salvar documento, minimizar todas janelas
- Inserir e-mail ou string comum
- Inserir senha complexa
- Botão de pânico no trabalho
Obrigado por ler! Se precisar de mais info, pergunte nos comentários — respondo o melhor que puder.
Boa Criação!
Código
- customizable_punchable_keyboard_button.ino
customizable_punchable_keyboard_button.ino Arduino
#include <Keyboard.h>
const int knockSensor = A0;
const int threshold = 100;
int sensorReading = 0;
void setup() {
Keyboard.begin();
}
void loop() {
sensorReading = analogRead(knockSensor);
if (sensorReading >= threshold) {
Keyboard.write(32);
delay(150);
Keyboard.releaseAll();
}
}
Esquemáticos
circuit_diagram_dCHo19d2OK.fzz
Processo de manufatura
- Monitoramento de Qualidade do Ar com OpenSensors: Guia Arduino e Python
- Construindo um Robô com Arduino e Raspberry Pi: Guia Passo a Passo
- Crie um Sistema Ambilight Impressionante para Monitor com Arduino
- Construa um Controle Remoto IR Universal com Arduino: Guia Passo a Passo
- Construa um Estadiómetro Digital: Acompanhe a Altura com Arduino e Sensor a Laser
- Construa uma Impressionante Matriz LED NeoPixel com Arduino Nano: Guia Passo a Passo
- Construa um Contador Geiger-Müller Personalizado com Arduino, Boost de Alta Tensão e LCD 20x4
- Usando Termistor Facilmente: Guia Passo a Passo com Arduino
- Teclado Prototípico de 64 Teclas com Arduino: Matriz com Registradores de Deslocamento
- Construa uma Bússola Digital em Tempo Real com Arduino e Processing