Arduino - Teclado numérico
El teclado numérico se utiliza ampliamente en muchos dispositivos, como cerraduras de puertas, cajeros automáticos y calculadoras.
En este tutorial, aprenderemos:
- Cómo usar un teclado numérico 3x4 y un teclado numérico 4x4 con Arduino.
- Cómo leer valores de un teclado numérico 3x4 y de un teclado numérico 4x4 con Arduino.
- Cómo verificar la contraseña ingresada desde el teclado.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del teclado numérico

El teclado numérico es un conjunto de botones dispuestos en filas y columnas (llamada matriz). Cada botón se llama tecla.
El teclado numérico tiene varios tipos. Dos tipos populares para proyectos de bricolaje son el teclado numérico 3x4 (12 teclas) y el teclado numérico 4x4 (16 teclas).
Distribución de pines
Los pines del teclado numérico se dividen en dos grupos: filas y columnas.
El teclado numérico 3x4 tiene 7 pines: 4 pines de fila (R1, R2, R3, R4) y 3 pines de columna (C1, C2, C3).
El teclado matricial 4x4 tiene 8 pines: 4 pines de fila (R1, R2, R3, R4) y 4 pines de columna (C1, C2, C3, C4).

Cómo funciona
El proceso de detectar las pulsaciones de teclas se llama escaneo del teclado.
Se llama 'escaneo' porque verifica una tecla a la vez.
Los pines de fila están conectados a los pines de salida del Arduino.
Los pines de la columna están conectados a los pines de entrada de Arduino (INPUT_PULLUP, en este estado, el valor del pin de entrada es HIGH si la tecla no está presionada).
Para cada fila:
- Coloca todos los pines de la fila en ALTO.
- Coloca solo el pin de la fila actual en BAJO.
- Lee el estado de cada columna.
- Si un pin de columna está ALTO ⇒ la tecla en (fila, columna) NO está pulsada.
- Si un pin de columna está BAJO ⇒ la tecla en (fila, columna) está pulsada.
- Se repite el proceso anterior para los pines de la siguiente fila.
※ Nota:
Lo anterior es uno de los métodos para escanear un teclado. Podemos invertir todas las señales altas a bajas y todas las señales bajas a altas para escanear el teclado.
⇒ Como sabemos, un botón independiente requiere un pin de Arduino y GND. Tomemos como ejemplo un teclado 4x4. Si tratamos cada tecla como un botón independiente, se necesitan 16 pines de Arduino para 16 teclas, además del pin GND. Si organizamos las teclas en forma de matriz, solo necesitamos usar 8 pines de Arduino, así que podemos ahorrar pines de Arduino. En resumen, la respuesta es: ahorrar los pines de Arduino.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Cómo programar para el teclado numérico
Gracias a Keypad library, usar un teclado numérico con Arduino es pan comido, sin importar si entiendes cómo funciona el teclado numérico o no.
Código de Arduino
Teclado numérico 3x4
Teclado numérico 4x4
Pasos R\u00e1pidos
- Ve al icono Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca “keypad”, luego encuentra la biblioteca keypad de Mark Stanley y Alexander Brevig
- Haz clic en el botón Instalar para instalar la biblioteca keypad.

- Copia el código anterior y ábrelo con el IDE de Arduino
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino
- Abre el Monitor Serial
- Presiona algunas teclas en el teclado numérico
- Mira el resultado en el Monitor Serial
Teclado numérico y contraseña
Una aplicación popular del teclado numérico es la entrada de contraseñas. En esta aplicación, especificamos dos teclas especiales:
- Una tecla para iniciar/reiniciar la introducción de la contraseña. Por ejemplo, la tecla "*"
- Una tecla para terminar la introducción de la contraseña. Por ejemplo, la tecla "#"
La contraseña será una cadena que contiene las teclas restantes, excepto dos teclas especiales seleccionadas.
Cuando se pulsa una tecla.
- Si la tecla no es ni '*' ni '#', añade la tecla a la cadena de la contraseña introducida por el usuario.
- Si la tecla es '#', compara la cadena de la contraseña introducida por el usuario con la contraseña para determinar si la contraseña introducida es correcta o no, y luego borra la cadena de la contraseña introducida por el usuario.
- Si la tecla es '*', borra la cadena de la contraseña introducida por el usuario.
Teclado numérico - Código de acceso
- Ejecuta el código anterior
- Abre el Monitor Serial
- Presiona las teclas "123456" y presiona "#"
- Presiona las teclas "1234" y presiona "#"
- Consulta el resultado en el Monitor Serial
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.
Conocimientos Adicionales
Desafíate a ti mismo
- Muestra la tecla pulsada del teclado numérico en la pantalla LCD. Pista: Consulta Arduino - LCD
- Crea una cerradura con protección por contraseña usando el teclado numérico.