Este tutorial es parte de: Teclados
Todos los videos del teclado se enumeran aquí.
Uso de un teclado 4x3 con Arduino
En este tutorial exploraremos cómo usar un teclado matricial 4x3 con un Arduino para leer las pulsaciones de teclas. Este teclado puede utilizarse en diversos proyectos, como crear una interfaz de entrada sencilla para un sistema de seguridad o cualquier aplicación que requiera entrada del usuario. Al final de esta guía, podrás leer las pulsaciones de teclas y responder a teclas específicas.

Asegúrate de revisar el video adjunto para una demostración visual del cableado y la implementación del código (en el video a las 00:00).
Hardware explicado
Los componentes principales de este proyecto incluyen el teclado 4x3 y la placa Arduino. El teclado consiste en una matriz de botones dispuestos en 4 filas y 3 columnas. Cuando se pulsa un botón, conecta una fila específica con una columna específica, lo que permite al Arduino identificar qué botón se ha pulsado.
La placa Arduino actúa como el controlador central que lee las entradas del teclado. Utiliza la biblioteca Keypad, que simplifica el proceso de gestionar el teclado matricial y facilita la detección de pulsaciones de teclas.
Detalles de la hoja de datos
| Fabricante | Varios |
|---|---|
| Número de pieza | Teclado 4x3 |
| Voltaje lógico | 5 V |
| Corriente de funcionamiento | ≤ 20 mA |
| Vida útil de la clave | ≥ 1,000,000 pulsaciones |
| Paquete | Teclado matricial |
- Conecta los pines del teclado correctamente a los pines digitales del Arduino.
- Use resistencias pull-up o pull-down si es necesario, según su configuración.
- Asegúrese de que la biblioteca Keypad esté incluida en su IDE de Arduino.
- Elimine el rebote de las pulsaciones de teclas por software para evitar lecturas múltiples.
- Pruebe cada tecla para confirmar el cableado y su correcto funcionamiento.
Instrucciones de cableado

Para cablear el teclado matricial 4x3 al Arduino, conectará los pines de filas y columnas del teclado a los pines digitales del Arduino. Conecte los pines de fila (típicamente 4 pines) a los pines2,3,4, y5En el Arduino. Los pines de columna (típicamente 3 pines) deben conectarse a pines6,7, y8.
Asegúrate de conectar el pin de tierra del teclado al GND del Arduino y el pin de alimentación a la salida de 5V. Esta configuración permitirá que el Arduino lea el estado de cada tecla al presionarla, utilizando la biblioteca Keypad para manejar el escaneo de la matriz.
Ejemplos de código y guía paso a paso
El siguiente código inicializa el teclado y imprime la tecla pulsada en el monitor serie. Los valores de las teclas se almacenan en un arreglo de caracteres.
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};ElkeysEl arreglo define la distribución del teclado, que corresponde al ordenamiento físico de las teclas. Cada carácter representa un botón del teclado.

A continuación, configuramos el teclado en elsetup()función:
void setup(){
Serial.begin(9600);
Serial.println("Robojax 4x3 keypad");
}Este segmento inicializa la comunicación serial a 9600 baudios, permitiéndonos ver las pulsaciones de teclas en el monitor serial.
Finalmente, el bucle comprueba las pulsaciones de teclas y responde en consecuencia:
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
if (key =='4'){
Serial.println("Key 4 is pressed");
}
}Aquí, el programa comprueba si se ha pulsado alguna tecla usandokeypad.getKey(). Si se presiona una tecla, imprime el valor de la tecla. Además, si se presiona la tecla '4', se muestra un mensaje específico.
Demostración / Qué Esperar
Cuando la configuración esté completa, al pulsar cualquier tecla del teclado debería mostrarse el carácter correspondiente en el monitor serial. Si se pulsa la tecla '4', se imprimirá un mensaje especial indicando la activación de esa tecla. Esta funcionalidad le permite ampliar esta base para aplicaciones más complejas.
Tenga cuidado con las entradas flotantes que pueden provocar un comportamiento errático. Asegúrese de que todas las conexiones estén seguras y pruebe cada tecla para confirmar su correcto funcionamiento (en el vídeo a las 00:00).
Este tutorial es parte de: Teclados
- Código y vídeo de Arduino para un teclado de cuatro teclas
- 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
/*
* Library taken from: https://playground.arduino.cc/Code/Keypad
* This is the Arduino code for a 4x3 keypad.
* Watch the video for details and demo: http://youtu.be/qIDzzG2LUtg
resources page: www.Robojax.com/RJT104
*
* Modified by Ahmad Shamshiri for the Robojax Video channel: www.Robojax.com/RJT104
* Date: July 11, 2018 at 19:56 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
* Watch video instructions for this code:
*
*/
/* @file HelloKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates the simplest use of the matrix Keypad library.
|| #
*/
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
// Robojax 4x3 keypad test
Serial.begin(9600);
Serial.println("Robojax 4x3 keypad");
}
void loop(){
// Robojax 4x3 keypad test
char key = keypad.getKey();
// Just print the pressed key
if (key){
Serial.println(key);
}
// This checks if 4 is pressed, then do something. Here we print the text, but you can control something.
if (key =='4'){
// If key matches what you are looking for
Serial.println("Key 4 is pressed");
}
}
Cosas que podrías necesitar
-
AmazonasCompra un teclado 4x3 en Amazon.amzn.to
Recursos y referencias
Aún no hay recursos.
Archivos📁
Archivo de Fritzing
-
Teclado de matriz de membrana 4x3
Membrane Matrix Keypad 4x3.fzpz0.01 MB
Otros archivos
-
Biblioteca de teclado LCD
robojax-1602_LCD_keypad.zip