Este tutorial es parte de: Teclados
Todos los videos del teclado se enumeran aquí.
Código y vídeo de Arduino para un teclado de cuatro teclas
En este tutorial, aprenderemos cómo utilizar un teclado de cuatro teclas con un Arduino. Este proyecto es especialmente útil para aplicaciones en las que necesitas varios botones pero quieres minimizar el número de cables utilizados. Conectando el teclado de una manera específica, podemos lograr una configuración funcional con solo cinco cables en lugar de ocho.

El teclado de cuatro teclas simplifica el proceso de cableado, ya que cuenta con una conexión común que reduce el número total de cables necesarios. Cada tecla está conectada al Arduino mediante pines designados, lo que permite una interacción y control sencillos. Esta guía cubrirá el cableado, el código y el comportamiento esperado del teclado, para que puedas replicar el proyecto con éxito (en el video a 02:30).
Hardware explicado
Los componentes principales de este proyecto incluyen un teclado de cuatro teclas y una placa Arduino. El teclado contiene cuatro botones, y cada botón se conecta al Arduino mediante dos cables: un cable común y un cable dedicado para cada botón. Esta configuración permite conexiones sencillas a la vez que minimiza el desorden.
El Arduino interpreta las pulsaciones de los botones mediante entradas digitales, confiando en resistencias pull-up internas para garantizar lecturas estables. Cuando se pulsa un botón, este conecta el pin correspondiente a tierra, lo que permite al Arduino detectar el cambio de estado.
Detalles de la ficha técnica
| Fabricante | Genérico |
|---|---|
| Número de parte | Teclado de 4 teclas |
| Tensión lógica/E/S | 5 V |
| Tensión de alimentación | 5 V |
| Número de teclas | 4 |
| Tipo de pin común | activo a nivel bajo |
| Resistencia del botón | 1 kΩ (típ.) |
| Paquete | PCB flexible |
| Notas / variantes | Disponible en múltiples diseños |
- Cada botón requiere dos conexiones: una para el propio botón y otra para la masa común.
- El uso de resistencias pull-up internas simplifica el cableado y reduce la cantidad de componentes.
- Asegúrese de que el pin común esté conectado a tierra para un funcionamiento correcto.
- Filtra el rebote de las pulsaciones de los botones en el software para evitar lecturas falsas.
- Prueba la funcionalidad del botón con una salida serial simple para retroalimentación.
Instrucciones de cableado

Para cablear el teclado de cuatro teclas al Arduino, siga estos pasos:
- Conecte el primer cable de la llave al pin
2en el Arduino. - Conecte el segundo cable de la llave al pin
3. - Conecte el tercer cable de la llave al pin
4. - Conecte el cuarto cable de la llave al pin
5. - Conecta el cable común del teclado al pin de tierra del Arduino.
Asegúrese de conectar cada cable de forma segura para evitar cualquier conexión suelta. Si experimenta problemas, verifique nuevamente cada conexión comparándola con las asignaciones de pines que se muestran en el video (en el video a 04:15).
Ejemplos de código y guía paso a paso
El siguiente fragmento de código inicializa los pines del teclado y los configura como entradas:
#define key1 2 //connect wire 1 to pin 2
#define key2 3 //connect wire 2 to pin 3
#define key3 4 //connect wire 3 to pin 4
#define key4 5 //connect wire 4 to pin 5
void setup() {
Serial.begin(9600);
pinMode(key1, INPUT_PULLUP); // set pin as input
pinMode(key2, INPUT_PULLUP); // set pin as input
pinMode(key3, INPUT_PULLUP); // set pin as input
pinMode(key4, INPUT_PULLUP); // set pin as input
}
En el código anterior, cada tecla está definida con su número de pin correspondiente. ElINPUT_PULLUPEl modo garantiza que los pines indiquen nivel alto cuando no están presionados, lo que simplifica la detección de la pulsación del botón.
La función loop lee el estado de cada tecla e imprime el mensaje correspondiente cuando se presiona:
void loop() {
int key1S = digitalRead(key1); // read if key1 is pressed
int key2S = digitalRead(key2); // read if key2 is pressed
int key3S = digitalRead(key3); // read if key3 is pressed
int key4S = digitalRead(key4); // read if key4 is pressed
if(!key1S) {
Serial.println("key 1 is pressed");
}
if(!key2S) {
Serial.println("key 2 is pressed");
}
// Additional code for key3 and key4...
delay(100);
}
Este segmento de código comprueba el estado de cada tecla e imprime un mensaje en el monitor serial cuando se pulsa una tecla. Eldelay(100)permite un efecto antirrebote, asegurando que múltiples pulsaciones no se registren en rápida sucesión.
Demostración / Qué esperar
Una vez que hayas cableado correctamente y subido el código a tu Arduino, deberías ver que el monitor serial muestra mensajes que indican qué tecla se ha pulsado. Al pulsar la tecla 1, se mostrará el mensaje tecla 1 está pulsada; lo mismo ocurrirá con las demás teclas. Si los mensajes no aparecen, comprueba el cableado y asegúrate de que el cable común está conectado a tierra.
Tenga cuidado con las conexiones invertidas, ya que esto puede provocar un comportamiento inesperado. Asegúrese de que los pines que utiliza coincidan con los definidos en su código (en el vídeo a las 06:45).
Marcas de tiempo del vídeo
- 00:00- Introducción
- 02:30- Explicación del cableado
- 04:15- Asignación de pines
- 06:45- Probando el teclado
Este tutorial es parte de: Teclados
- Uso de un teclado 4x3 con Arduino
- Código Arduino y vídeo: teclado matricial negro 4x4
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- Cómo usar el 4x4 Soft Keypad con Arduino
- How to Use a 5x4 20-Key Keypad with Arduino to Detect Strings
- Lesson 67: Controlling an 8-Channel Relay with a Keypad Using Arduino
- 1602 LCD Keypad Shield: Código básico
++
/*
* This is the Arduino code for a 4-key keypad.
* Watch the video for details and demo: https://youtu.be/BiOh_Z2N7kk
*
* Written by Ahmad Shamshiri for the Robojax Video channel,
get code, wiring diagram and resources at www.Robojax.com/RJT37
* Date: December 28, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
* This code has been downloaded from https://robojax.com
// Recorded December 28, 2017 for Robojax.com
#define key1 2 //connect wire 1 to pin 2
#define key2 3 //connect wire 2 to pin 3
#define key3 4 //connect wire 3 to pin 4
#define key4 5 //connect wire 4 to pin 5
void setup() {
Serial.begin(9600);
pinMode(key1, INPUT_PULLUP);// set pin as input
pinMode(key2, INPUT_PULLUP);// set pin as input
pinMode(key3, INPUT_PULLUP);// set pin as input
pinMode(key4, INPUT_PULLUP);// set pin as input
}
void loop() {
int key1S = digitalRead(key1);// read if key1 is pressed
int key2S = digitalRead(key2);// read if key2 is pressed
int key3S = digitalRead(key3);// read if key3 is pressed
int key4S = digitalRead(key4);// read if key4 is pressed
// Code written for Robojax.com video tutorial
if(!key1S){
Serial.println("key 1 is pressed");
}
if(!key2S){
Serial.println("key 2 is pressed");
}
if(!key3S){
Serial.println("key 3 is pressed");
}
if(!key4S){
Serial.println("key 4 is pressed");
}
delay(100);
}
Cosas que podrías necesitar
-
Amazonas
-
AliExpressCompra un teclado suave en Aliexpress.s.click.aliexpress.com
Recursos y referencias
Aún no hay recursos.
Archivos📁
Bibliotecas de Arduino (zip)
-
Biblioteca de Teclado Arduinoesta es la biblioteca utilizada con los teclados.
robojax-Keypad.zip0.02 MB