Crea un Botón de Teclado Personalizado y "Apuñalable" con Arduino: Guía Paso a Paso
Componentes y suministros
| Arduino Micro | × | 1 | Puede usar cualquier microcontrolador basado en ATmega32U4 (ej. Arduino Leonardo), que permite emular ratón o teclado. |
| Elemento Piezoeléctrico | × | 1 | Discos piezoeléctricos se encuentran en altavoces de tarjetas musicales. |
| Resistencia 1M ohm | × | 1 | Limita voltaje y corriente del piezo y protege la entrada analógica. |
| Cables jumper (genéricos) | × | 1 |
Herramientas y máquinas necesarias
- Material esponjoso
- Tela (cualquier color) para cubrir esponjas y electrónica. Puede coser una funda.
Aplicaciones y servicios en línea
- Arduino IDE
Sobre este proyecto
¿En el trabajo o aburrido jugando, no tienes a veces ganas de golpear el teclado? ¡Golpea esta tecla personalizada y "apuñalable"! Desahoga tu frustración.
He hecho un botón de teclado personalizable y "apuñalable" compuesto por elemento piezo, placa ATmega32U4, resistencia de alto valor (1 Megaohm) y esponjas. Para "teclear", el usuario simplemente golpea o patea la tecla deseada.
Hardware requerido
Arduino Pro Micro
Basado en ATmega32U4 con USB integrado, reconocido como ratón o teclado. Cualquier microcontrolador con chip ATmega32U4 sirve.

Disco piezoeléctrico
Genera voltaje al deformarse por vibración, sonido o tensión mecánica. Puede extraerse de altavoces de tarjetas musicales: abra la carcasa, retire la placa metálica y el circuito para acceder al disco piezo.

Resistencia 1 Mega Ohm
Limita voltaje y corriente del piezo protegiendo la entrada analógica.

Esponjas
Al aplicar fuerza se deforman y recuperan forma. El piezo se coloca entre esponjas; al golpear, el voltaje generado se envía al pin analógico del Arduino Micro.

Diagrama de circuito

Los piezos son polarizados: conecte el cable negro (menor voltaje) a GND y el rojo (mayor voltaje) al pin analógico 0. Además, conecte una resistencia de 1 megaohm en paralelo al piezo para limitar voltaje/corriente y proteger la entrada.
Si la salida del piezo (como sensor de golpes) supera un umbral, la placa ejecutará una acción de teclado según el programa.
Crear una funda para cubrir las esponjas

Con tela, aguja e hilo haga una funda para las esponjas. Se la pedí a mi madre y ella la confeccionó.
Insertar el elemento piezo en la esponja

Código
#include <Keyboard.h>
const int knockSensor = A0; // piezo en pin analógico 0
const int threshold = 100; // valor umbral
int sensorReading = 0; // variable para lectura del sensor
void setup() {
Keyboard.begin();
}
void loop() {
sensorReading = analogRead(knockSensor);
if (sensorReading >= threshold) {
// Personalice la función cambiando el valor ASCII abajo
// Referencia: https://www.arduino.cc/en/Reference/ASCIIchart
Keyboard.write(32); // ASCII 32 = Barra espaciadora
delay(150);
Keyboard.releaseAll();
}
}
- Conecte según el esquema y suba el código.
- Conecte al puerto USB del ordenador; realizará funciones de teclado según el programa.
No olvide modificar el código si quiere otra acción de teclado.
Cambie solo la siguiente línea:
Keyboard.write("Valor ASCII");
¿Por qué es genial? Posibilidades de uso:
- Accesos directos o controles para juegos
- Abrir una aplicación usada frecuentemente
- Ir a un sitio web habitual
- Atajos de Windows: guardar documento, minimizar todas las ventanas
- Introducir correo electrónico o cadena común
- Introducir contraseña compleja
- Botón de pánico en el trabajo
¡Gracias por leer! Si necesita más info, pregunte en comentarios y responderé lo mejor que pueda.
¡Feliz creación!
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
Proceso de manufactura
- Medición de la Calidad del Aire con OpenSensors: Guía para Arduino y Python
- Construcción de un robot con Arduino y Raspberry Pi: Guía paso a paso
- Crea un Impresionante Sistema Ambilight para Monitor con Arduino
- Construya un mando a distancia IR universal con Arduino: Guía paso a paso
- Construye un estadiómetro digital: Controla tu altura con Arduino y sensor láser
- Construye una impresionante matriz LED NeoPixel con Arduino Nano: Guía paso a paso
- Construye un Contador Geiger-Müller Personalizado con Arduino, Elevador de Alta Tensión y Pantalla LCD 20x4
- Uso Fácil de Termistor: Guía Paso a Paso con Arduino
- Teclado Prototipo de 64 Teclas con Arduino: Matriz con Registros de Desplazamiento
- Genera Tonos Musicales con Arduino: Guía Paso a Paso
- Construye una Brújula Digital en Tiempo Real con Arduino y Processing