ESP32 - Teclado
Este tutorial te enseña cómo usar el ESP32 con un teclado. En detalle, aprenderemos:
- Cómo usar el teclado numérico 3x4 con ESP32
- Cómo usar el teclado numérico 4x4 con ESP32
- Cómo usar la contraseña introducida desde el teclado
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del teclado numérico

El teclado numérico está compuesto por un grupo de botones dispuestos en una matriz (filas y columnas). Cada botón corresponde a una tecla. Existen muchos tipos de teclados numéricos. Los teclados numéricos 3x4 (12 teclas) y 4x4 (16 teclas) son los dos más utilizados en proyectos de bricolaje.
Pinout del teclado
Los pines del teclado numérico se clasifican en dos grupos: fila y columna.
- El teclado 3x4 tiene 7 pines:
- R1, R2, R3, R4: pines de fila
- C1, C2, C3: pines de columna
- El teclado 4x4 tiene 8 pines:
- R1, R2, R3, R4: pines de fila
- C1, C2, C3, C4: pines de columna

Cómo funciona el teclado numérico
Diagrama de cableado entre el teclado numérico y ESP32
ESP32 - Diagrama de cableado del teclado 3x4
- Cómo conectar ESP32 y el teclado numérico 3x4 usando placa de pruebas

This image is created using Fritzing. Click to enlarge image
Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.
- Cómo conectar ESP32 y un teclado numérico 3x4 usando screw terminal block breakout board

ESP32 - diagrama de cableado de teclado 4x4
- Cómo conectar ESP32 y un teclado numérico 4x4 usando placa de pruebas

This image is created using Fritzing. Click to enlarge image
- Cómo conectar el ESP32 y un teclado 4x4 usando una placa breakout con borneras de tornillo

Código ESP32
Teclado numérico 3x4
Teclado numérico 4x4
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Haz clic en el icono Bibliotecas en la barra izquierda del IDE de Arduino.
- Escribe keypad en la caja de búsqueda, luego busca la biblioteca keypad de Mark Stanley, Alexander Brevig
- Haz clic en el botón Instalar para instalar la biblioteca keypad.

- Copia el código anterior y pégalo en el IDE de Arduino.
- Compila y carga el código en la placa ESP32 haciendo clic en el botón Subir en el IDE de Arduino
- Abre el Monitor Serial en el IDE de Arduino

- Presiona algunas teclas en el teclado numérico
- Mira el resultado en el monitor serie
Teclado numérico y contraseña
El teclado numérico se utiliza ampliamente para autenticar a alguien mediante una contraseña. En este tutorial, una contraseña válida está predefinida en el código. Cuando un usuario introduce la contraseña desde el teclado numérico, se compara con la contraseña predefinida:
- Si coincide, se concede el acceso.
- Si no, se define el acceso.
Para usar una contraseña con el teclado numérico, especificamos dos teclas especiales:
- Una tecla para empezar a introducir la contraseña. Por ejemplo, la tecla "*"
- Una tecla para terminar de introducir la contraseña. Por ejemplo, la tecla "#"
La contraseña ingresada por un usuario se almacenará en una cadena, llamada la cadena de contraseña ingresada. Cuando se presiona una tecla:
- Si una tecla ingresada es "*", borra la cadena de contraseña introducida para comenzar una nueva contraseña
- Si una tecla ingresada NO es "* " o "#", añade la tecla a la cadena de contraseña introducida.
- Si una tecla ingresada es "#", compara la cadena de contraseña introducida con la contraseña predefinida.
Teclado numérico - Código de acceso
- Ejecuta el código anterior
- Abre el Monitor serie en el IDE de Arduino

- Pulsa las teclas "123456" y pulsa "#"
- Pulsa las teclas "7890" y pulsa "#"
- Consulta el resultado en el monitor serie. Se ve como se muestra a continuación:
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.